2014-12-02 3 views
14

64 비트 Windows 8.1에 32 비트 Visual Studio 2013을 설치했습니다. x64 네이티브 도구 명령 프롬프트와 x64 크로스 도구 명령 프롬프트의 차이점은 무엇입니까?

  • VS2013 ARM 크로스 도구
  • VS2013의 x64 크로스 도구 프롬프트
  • VS2013 64 기본 도구 프롬프트
  • VS2013의 x86 네이티브를 명령어 명령어 명령 프롬프트 VS2013에 대한

    1. 개발자 명령 프롬프트 : 나는 5 명령 프롬프트를 도구 명령 프롬프트

    차이점을 이해할 수 없습니다 :

  • VS2013의 x64 크로스 도구 명령을 명령 프롬프트 VS2013 86 기본 도구 대 VS2013에 대한
    • 개발자 명령 프롬프트 VS2013 64 기본 도구가 실행하는 프롬프트
  • 답변

    15

    크로스 컴파일러은 컴파일러 명령 수스 프롬프트 하나의 플랫폼에서 다른 플랫폼에 대한 코드를 생성합니다. 이 컴퓨터에는 x64 코드를 생성 할 수있는 두 개의 컴파일러가 있습니다. 하나는 vc/bin/amd64_x86 디렉토리에있는 32 비트 교차 컴파일러이고 다른 하나는 vc/bin/amd64 디렉토리에있는 64 비트 원시 컴파일러입니다. 둘 다 똑같은 x64 기계어 코드를 생성합니다.

    32 비트 운영 체제가있는 경우에만 교차 컴파일러를 사용해야합니다. 디버깅하고 생성하는 프로그램을 테스트하는 것은 불쾌한 일입니다. 다른 시스템이 필요하고 원격 디버거를 사용해야합니다. 빌드 서버를 사용하면 좋습니다. 64 비트 버전의 Windows를 사용하는 경우 두 가지 방법 중 하나를 선택하는 것이 좋지만 "x64 네이티브"선택을 선호합니다. 컴파일러와 링커는 약간 더 빠르며 더 큰 프로그램을 처리 할 수 ​​있습니다.

    이것은 또한 ARM에 대한 크로스 컴파일러 선택 만있는 이유에 대해 설명합니다. 개발자 머신에는 ARM 프로세서가 없습니다.

    +0

    VS2013 x64 크로스 툴 명령 프롬프트는 32 비트 컴파일러입니까? 네이티브 64 비트 프로그램을 만들 수 있습니다. –

    +0

    그래서 두 가지 옵션이 있으며 약간의 설명을 사용할 수 있습니다. VS2015에서는 x64 x86 크로스 툴과 x86 x64 크로스 툴이 있습니다. 64 비트 컴퓨터에서 32 비트 코드를 컴파일하려면 어느 것을 사용해야합니까? –

    +1

    vc/bin에 저장된 x86 코드를 생성하는 컴파일러는 하나뿐입니다. 크로스 컴파일러가 아니기 때문에 wow64 에뮬레이터 덕분에 64 비트 OS에서 잘 돌아갑니다. –