64位系统下编译出来的程序32位系统能用么?

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:41:53
VS08,平台选了Win32,好像别人试了还是不行?
平台选Win32和x64编译出来的两个程序试了错误提示居然一样……
为了保险起见用的还是Win32 Project的Windows程序默认代码(系统自动生成的)
怎么去确认呢?我甚至直接拿系统自动生成的东西编译了啊?
变量都用的32位习惯,如UINT甚至UINT_PTR,平台也选择了Win32而不是x64
只有操作系统是x64啊
-----------------------------------
寒,试了默认生成的控制台程序和Windows程序,VS下build的都不能在别人电脑上运行
但是在Code::Blocks下build,无论选GCC还是MS Visual C++ 2005/2008编译器,build的东西都能在别人电脑上运行=========================================================================
又试了一下,VS08默认的Windows Project代码,就是单纯的显示一个窗口
x86系统 Debug|Win32 Release|Win32 Release|x64
XP 不能运行(1) 不能运行 不能运行(2)
Vista 可以运行 可以运行 不能运行
状态(1):由于应用程序配置不正确,应用程序未能启动。重新安装程序可能解决此问题。
状态(2):不是有效的Win32应用程序。
***********************************************************

To 刘国华2008朋友,C++运行时库也选了MTd,编译出来的exe确实大了一整圈,但是好像还不行啊

Code::Blocks下用Visual C++2005的编译器编译能到别人机器运行,那就说明编译器没问题,只可能是编译选项的问题。一般我遇到的最多的就是manifest相关的,如果manifest里面指定了程序依赖64位库,那就会出现配置不正确的错误。
你可以试一下在编译选项里面的C/C++运行时库选择为-MT,可能能解决。

哈哈 64位系统下编译出来的程序肯定能在32位系统运行啦
64位和32位的硬件驱动程序完全不能混用,就这么个区别。一般的软件程序则没什么大的问题。
在64位Windows XP中,只有16位应用程序是完全无法使用的,而32位应用程序则可以继续使用。不过在安装这些应用程序的时候也要注意,有些应用程序,虽然和硬件扯不上关系,但是为了实现软件的某些特殊功能,安装软件的时候同时还会向系统中装入驱动程序,这种程序在没有发布64位版之前是无法在64位Windows下使用的。

64位编译的是64位的内核代码吧,不能吧
不过工程选win32的话就不太清楚了
你可以拿去试试嘛
-----------------
同意楼上的兼容性

嗯,不能运行是什么错误信息,是不是会跳个筐筐说什么 "程序环境没有配置..." 什么来的, 不能运行总会有警告吧!
你是不是少了什么库一起公布,和64没有什么关系吧,
静态连接看看行不,实在不行你可以吧程序给我们运行下看看到底问题在哪,你说的太不详细了...

64位和32位的硬件驱动程序完全不能混用,就这么个区别。一般的软件程序则没什么大的问题。

是这样的。
我觉得应该是没问题的
因为你是在该机器上编译的程序
那应该是可以移植的/
不过你可以尝试一下
就是你先编一个很简单很简单的程序
看看能不能在32位系统上面实现.
亲自试一下就行了啊.