Development Tip

32/64 비트 또는 CPU 용 C # 컴파일?

yourdevel 2020. 11. 9. 21:18
반응형

32/64 비트 또는 CPU 용 C # 컴파일?


중복 가능성 :
Visual Studio "모든 CPU"대상

VS에서 C # 코드를 컴파일 할 때 일반적으로 32/64 비트 시스템 용으로 컴파일 할 수있는 옵션이 있으며 모든 CPU 용으로 컴파일 할 수있는 옵션도 있다는 것을 알았습니다.

두 옵션의 차이점은 무엇입니까? CPU를 선택하면 첫 번째 옵션이 기계 코드로 컴파일되는 동안 중간 바이트 코드로만 컴파일됩니까? 또는 다른 것?


A의 32 비트 컴퓨터 :

  • 모든 CPU : 32 비트 프로세스로 실행되며 모든 CPUx86 어셈블리 BadImageFormatException를로드 할 수 있으며 x64 어셈블리 를로드하려고 하면 가져옵니다 .

  • x86 : 모든 CPU 와 동일 합니다.

  • x64 : BadImageFormatException항상.

A의 64 비트 컴퓨터 :

  • 모든 CPU : 64 비트 프로세스로 실행되며 모든 CPUx64 어셈블리 BadImageFormatException를로드 할 수 있으며 x86 어셈블리 를로드하려고 하면 가져옵니다 .

  • x86 : 32 비트 프로세스로 실행되며 모든 CPUx86 어셈블리 BadImageFormatException를로드 할 수 있으며 x64 어셈블리 를로드하려고 하면 가져옵니다 .

  • x64 : 모든 CPU 와 동일 합니다.

이 플래그를 기반으로 요청 된 대상과 호환되는 어셈블리 코드를 생성하는 것은 JIT 컴파일러 입니다.


x86-소프트웨어는 32 비트 시스템과 64 비트 시스템 모두에서 항상 32 비트 모드로 실행됩니다.

x64-소프트웨어는 항상 64 비트 모드에서 실행되고 64 비트 시스템에서 실행되지만 32 비트 시스템에서는 실행되지 않습니다.

모든 CPU-소프트웨어는 OS에 따라 실행됩니다. 32 비트 OS를 사용하는 경우 코드는 32 비트 모드에서 실행되고 64 비트 OS를 사용하는 경우 코드는 64 비트 모드에서 실행됩니다.

참고 URL : https://stackoverflow.com/questions/5229768/c-sharp-compiling-for-32-64-bit-or-for-any-cpu

반응형