以下是引用八画小子在2015-1-5 14:57:53的发言:
我不知道你说的Windows7以上的系统,包括不包括Windows7。但,Windows7中用VC2012编译的程序到了XP下被报告为“不是可执行文件”这个是有问题的。我们之前就在Windows7下用VC2013编译了程序,照样在XP下允许。你说的这种情况应该是你用的VC++/CLI方式编程的吧?这当中确实存在一些问题。VC++/CLI其实是用C++语言编写.NET程序,只是,如果你恰好用的是.NET4.5或4.5以上的版本,那就不能在XP上执行。因为XP上最多只能安装.NET4.0。
另外,Windows下,PE文件,要么是以前的那种16位程序,要么就是现在的这种格式。但两者都是Windows下的可执行文件。.NET的程序也属于PE文件。如果你编译的这个程序在其他Windows平台上能够运行,但在XP上无法执行,多少情况下是组件不完整,常见于Ghost版本的WindowsXP,但你不能说它不是可执行文件。
那是因为VS2012的Bug 导致VS2012不支持XP 后来怨声载道 微软大老爷发布了Update解决了这个问题 看这个
http://msdn.
2013好像没有这个问题
哦 我忘说了 PE文件格式有一些更新 比如64位的PE明显和32位的PE不一样。。
http://en.
可以看看这个科普一下
[
本帖最后由 zklhp 于 2015-1-5 16:08 编辑 ]