Microsoft KB Archive/100638

= Cross-Platform Application Development in Windows NT =

Article ID: 100638

Article Last Modified on 12/1/2003

-

APPLIES TO


 * 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





SUMMARY
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.



MORE INFORMATION
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.

