admin 管理员组

文章数量: 887021

Visual Studio 2015 - Windows XP (v140_xp) 生成的程序,在XP上可以运行,

Visual Studio 2015 (v140) 在Xp上是无法运行的

最终原因是因为程序导入表中的依赖DLL,v140 运行时库在XP上安装不了。

两者的代码差别

最终在编辑器中查找两者的区别只差了一个C++ cl.exe的命令行 /D "_USING_V110_SDK71_"

如果平台工具集选择Visual Studio 2015 - Windows XP (v140_xp)在C++ 预处理指令里可以看到继承的值里有这个

代码里的预处理宏 让整个v140版本里的源代码文件支持生成不依赖于v140新特性,而使用SDK71 ,让生成的程序可以在xp上运行

总结,因为VS2015 与VS2017是 xp电脑时代即将更新,所有在编译工具和代码库上做过渡代码处理,估计是这个宏代码,vs编译器家族就VS2015与VS2017 有这个支持XP的选项。

所以想使用c++ 11的特性又想使用高版本IDA带来的工作便利又想在XP上可支持运行程序,那么这东西必须要弄懂。

本文标签: 有什么区别 工具 平台 Studio visual