VC2013 编译的程序在 XP 下运行的一些事

  选择 v120_xp 平台工具集即可使程序兼容 XP 系统。其实质就是加了一个 _USING_V110_SDK71_ 的宏,使用老版本的 Windows SDK,来防止用到 XP 没有的系统 API。另外就是链接器里把子系统的版本号定义成 5.1 了(默认是 6.0)。我做了一下实验,发现子系统的版本号只对 EXE 有效。6.0 的 EXE 在 XP 下运行会提示不是有效的 Win32 程序,而 DLL 似乎不会受到这个限制。所以只要没有用到 XP 没有的 API,VC2013 编译的 DLL 可以直接使用,而 EXE 相差的其实就是那个版本号。(这里的 VC2013 是打过最新的 Update 的,XP 是 SP3 的。)

你可能感兴趣的:(VC2013 编译的程序在 XP 下运行的一些事)