Microsoft KB Archive/100638

From BetaArchive Wiki
Knowledge Base

Cross-Platform Application Development in Windows NT

Article ID: 100638

Article Last Modified on 12/1/2003


  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition

This article was previously published under Q100638


At present, these hardware platforms support developing Win32-based applications: Intel 386 or later, MIPS R4000, DEC Alpha, and the Power PC. The text below deals with the issues involved with developing applications for all of these platforms simultaneously.


Due to the disparate nature of these platforms, binary compatibility is not a viable option. Therefore, Win32 provides source code compatibility. You can create a version of your application for each CPU by recompiling the source code.

However, Visual C++ 32-bit Edition does not support cross-compiling between these platforms at this time. Therefore, to develop applications for each hardware platform, you must compile the code with the tools available for each platform, such as Visual C++ for Intel, Visual C++ for MIPS, and Visual C++ for Alpha.

NOTE: Visual C++ versions 2.x and 4.0 does have a Macintosh add-on that can be used to port Win32-based applications to a native Macintosh 68K platform. It is a cross- development platform, meaning that the tools are hosted on a Windows NT machine on the Intel platform and target the Macintosh.

Be careful not to confuse source compatibility across hardware platforms (Intel, MIPS, Alpha, Power PC) with binary compatibility across application execution environments (Win16, Win32). We supports binary compatibility between application execution environments on the same hardware platform, through emulation. For example, a 16-bit Windows-based application developed for Intel hardware can run without modification on an Intel machine running Windows NT and, with the appropriate Win32s dynamic-link libraries (DLLs) and virtual devices (VxDs), a Win32-based application developed for Intel hardware can run without modification on an Intel machine running 16-bit Windows 3.1.


For more information about cross platform development with the Win32 API, please see the Microsoft Win32 Software Development Kit or Visual C++ documentation.

Additional query words: kbinf 1.00 2.00 2.10 4.00

Keywords: kbarttypeinf KB100638