programing

Visual Studio(C#, VB)에서 "32비트 선호" 컴파일러 플래그는 무엇을 의미합니까?

linuxpc 2023. 5. 26. 20:47
반응형

Visual Studio(C#, VB)에서 "32비트 선호" 컴파일러 플래그는 무엇을 의미합니까?

Visual Studio 11 개발자 미리보기를 설치했습니다.AnyCPU 대상이 지정된 관리되는(C#, VB) 응용 프로그램을 컴파일할 때 프로젝트 속성에 "32비트 선호"라는 새 옵션이 표시됩니다.이것은 클래스 라이브러리의 옵션이 아닌 최상위 앱인 것 같습니다.

이 깃발은 무엇을 의미합니까?

앱이 AnyCpu임을 나타내지만 32비트를 사용할 수 있으면 AnyCpu를 실행해야 합니다.이것은 말이 됩니다 - 64비트 앱은 더 많은 메모리를 사용하고 때로는 메모리 공간이 필요하지 않습니다;)

편집: "모든 CPU 32비트 선호"로 컴파일된 애플리케이션은 x86, x64 및 ARM과 호환되는 반면, x86은 x86, x64와만 호환되며 ARM은 호환되지 않습니다.자세한 내용은 다음을 참조하십시오.

정답은 다음과 같습니다.

응용프로그램 아치.

Visual Studio 11 및 .NET 4.5에서 CPU의 진정한 의미에 대한 좋은 기사가 있습니다.

질문에 대한 간단한 대답은 "AnyCPU의 해당 버전을 사용할 때 의미는 다음과 같습니다.

프로세스가 32비트 윈도우즈 시스템에서 실행되는 경우 32비트 프로세스로 실행됩니다.IL은 x86 시스템 코드로 컴파일됩니다.프로세스가 64비트 윈도우즈 시스템에서 실행되는 경우 32비트 프로세스로 실행됩니다.IL은 x86 시스템 코드로 컴파일됩니다.프로세스가 ARM 윈도우즈 시스템에서 실행되는 경우 32비트 프로세스로 실행됩니다.IL은 ARM 기계 코드로 컴파일됩니다.따라서 "모든 CPU 32비트 기본 설정"과 "x86"의 차이는 이것뿐입니다. x86으로 컴파일된 .NET 응용 프로그램은 ARM Windows 시스템에서 실행되지 않지만 "모든 CPU 32비트 기본 설정" 응용 프로그램은 성공적으로 실행됩니다.

언급URL : https://stackoverflow.com/questions/7508965/what-does-the-prefer-32-bit-compiler-flag-mean-for-visual-studio-c-vb

반응형