Is Visual Studio 2008 only 32 bit app? MS] Visual Studio

몇 일 전 128 bit OS 를 준비하고 있다는 Blog를 봤습니다. (이제 곧 32 bit 도 16 bit 처럼 사라지겠군요.) Windows 7 이 나오면서 64 bit 에 대한 관심이 많아지고 있습니다만… 정작 64 bit 에 대한 정보나 64 bit 를 지원하는 Application 은 별로 없는 듯 합니다. Visual Studio 는 어떨까요? x64 또는 IA64 용 Visual Studio 가 있을까요?

Visual Studio 의 Supported Architectures 는 다음과 같습니다 .

  • x86
  • x64 (WOW)

결론 부터 말하자면, 32 bit Application 밖에 없습니다. Visual Studio 는 64 bit Application 이 존재하지 않습니다. Visual Studio 2010 도 32 bit Application 만 제공할 예정입니다. x64 OS 에는 WOW 가 있으니 문제 없습니다만, IA64 에서는 WOW 같은 Emulator 가 없으니 Visual Studio 를 사용할 수 없겠네요. 

Visual Studio 는 IDE(Integrated Development Environment) 로서, Editor, Compiler(Preprocessor), Linker, Loader, Debugger를 개발자에게 제공하여 손쉽게 Microsoft OS 에서 동작하는 Application 을 개발할 수 있게 도와줍니다. 즉, x86, x64, IA64 용 Application 을 개발할 수는 있으나, 정작 제공하는 Visual Studio 는 32 bit Application 이라는 것입니다.

Visual Studio 2008 은 IA64 및 x64 Application 을 개발할 수 있습니다. 다음과 같이 Solution Property 에서 Target Machine 을 설정할 수 있습니다.

Visual Studio 2008 은 Standard Edition 과 Professional Edition (Team System 과 Express Edition 이 있습니다만 제외하였습니다.) 이 있습니다. 두 Edition 모두 x64 및 IA64 Application 을 개발할 수 있습니다만, IA64 인 경우 Debugging 이 불가능합니다. (Team System(Team Suite Edition)부터 가능합니다.)

Visual Studio 는 오직 32 bit Application 만 구매할 수 있는 것이군요.

여기서 잠깐, WOW 는 과연 뭘까요? (World Of Warcraft 가 가장 먼저 생각나네요.) 64 bit OS 에서는 Program Files(x86) 과 Program Files Folder 가 있는 것을 봤을 텐데요! 이것과 관련이 있습니다.

Microsoft 64 bit(x64, IA64) OS 는 Wow64 라는 Win32 Emulation 를 제공합니다. Wow64 를 사용하여, 64 bit OS 에서도 32 bit Application 이 정상적으로 동작할 수 있습니다. Wow64 는 32 bit application 을 지원합니다만, 16 bit application 은 지원하지 않습니다. (단, Microsoft ACME, Install Shield version 5.x 만은 지원합니다.)
VM 을 4G 밖에 사용 못하니 뭔가 다른 Mechanism 을 제공해야 겠지요…

Wow64 의 기본 Mechanism 은 다음과 같습니다.

  • Wow64.dll          
    process 와 thread 생성 그리고 Ntoskrnl.exe 을 export 하여 Exception Dispatching 합니다. 또한, file system redirection, registry redirection 및 reflection 을 구현합니다.
  • Wow64Cpu.dll     
    32bit CPU context를 수행할 수 있게 도와줍니다.
  • Wow64Win.dll     
    Win32K.sys 를 export 하여 GUI syatem call 을 할 수 있게 합니다.

기본적으로 32bit 와 관련된 Ntdll.dll, User32.dll, Gdi32.dll 은 Windows\System32\Syswow64 folder 에 존재합니다. 따라서, WOW(Wow64)를 통해서 64bit OS 에서도 32 bit Application 이 수행될 수 있는 것입니다.

[Printer Driver 는 native 64 bit version 이 있어야 합니다. 32bit printer driver 는 사용할 수 없습니다. 친구가 물어보더군요…]


덧글

  • ssd 2010/04/16 16:36 # 삭제 답글

    유용한 정보 감사합니다.
댓글 입력 영역