C++ 在所有windows平台(32位和64位)上的可移植性

C++ 在所有windows平台(32位和64位)上的可移植性,c++,windows,portability,C++,Windows,Portability,对于32位和64位全windows平台的可移植性,我应该关心什么? 更进一步,如果有必要使用Windows API,我应该有什么好习惯? < P>不知道C++,但是有一个简单而直接的解决方案。 将32位和64位版本放在一个目录中。把这个bat文件放在那里 IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" GOTO x64 IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" GOTO x64 IF "%PROCESSOR_ARCHITECTUR

对于32位和64位全windows平台的可移植性,我应该关心什么?
更进一步,如果有必要使用Windows API,我应该有什么好习惯?

< P>不知道C++,但是有一个简单而直接的解决方案。 将32位和64位版本放在一个目录中。把这个bat文件放在那里

IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" GOTO x64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" GOTO x64
IF "%PROCESSOR_ARCHITECTURE%"=="x86" GOTO x86
:x86
START "" build32.exe %1
GOTO arcselend
:x64
START "" build64.exe %1
:arcselend
exit
即使您想在执行后执行操作(程序退出后),也欢迎

IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" GOTO x64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" GOTO x64
IF "%PROCESSOR_ARCHITECTURE%"=="x86" GOTO x86
:x86
START "" /W build32.exe %1
GOTO arcselend
:x64
START "" /W build64.exe %1
:arcselend

:: Do something here like
DEL /F/Q "-PATH-\sometempfile.tmp" >NUL 2>NUL

exit
你不想要蝙蝠档案吗? 我们有一个BAT2 exe编译器,占用空间非常小。在设置中,您还可以定义以提升权限启动应用程序


注意:使用相对路径(当然),如果您对路径有任何问题,请写在这里。将有另一个简单的解决方案。

你是否考虑过使用像或??没有外部库之类的框架库?否则,你到底想做什么?基于WindowsNT的平台(来自2k+)支持相同的基本WinAPI,即使如此,你仍然(通常)需要将你的MSVCXXX.dll与你的应用程序一起分发,除非你知道它是与你的目标系统一起安装的,或者是针对它的静态链接。您是否计划使用CRT、MFC、GDK、DirectX或他们提出的任何其他Windows API/SDK技术?确定你的目标,答案可能会更清楚。。