32位系统编译64位程序
❶ 如何在32位系统上运行64位软件
1、通过安装虚拟机(VM等工具),在32位系统上虚拟运行64位系统,在虚拟的64位系统中运行64位软件。
2、直接安装64位系统(多系统或单64位系统),通常64位系统能良好运行大多数的32位软件,兼容性故障很少。
❷ 32位系统如何运行64位软件
最常见的方法是升级系统为64位,或者是安装虚拟机(VM等工具),在32位系统上虚拟运行64位系统,在虚拟的64位系统中运行64位软件。
❸ windows 32位的程序调用64位的程序吗
工作流程:
1.创建一个进程外COM服务器(EXE)。
2.将32位dll的接口函数封装为COM服务器的相关接口。
3.注册COM服务器*.exe /regserver (注销 *.exe /unregserver)。
4.64位进程调用32位COM服务器接口,成功。从而曲线实现了64位进程调用32位dll。
具体步骤:
我首先创建了一个简单的dll工程,只输出一个函数int c = add(int a,int b); 生成lib和dll
然后创建一个进程外COM(EXE类型),内部链接dll,添加方法Method: Add(long *c)
{ *c = add(1,2);}编译生成。
然后注册COM,*.exe /regserver
最创建一个64位WIN32工程验证64位环境下方法调用是否正确,经验证正确!!!
结论:以上方法可以解决64位进程调用32位dll的问题
32位进程调用64位dll应该也可以通过这种方法解决,原因64位windows系统下安装了32位和64位两套COM系统
❹ 如何编译64位dll程序,有几种情况,在32位XP上用VC++6.0或者VS2010该怎么编译64位的dll。
在64位的操作系统上用vs软件编译的dll默认就是64位。
在32位XP上用VC++6.0编译64位的dll,需要安装sdk(最新版本是sdk2003),在开始菜单——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env进入命令行,从命令行调用msdev,将vc选项里的include和lib的第一个默认路径设为sdk目录下64位头文件和库的路径,编译出的dll似乎就是64位的了。这个是从网页上看到的,没实践过。
在32位XP上使用vs2010就简单多了,新建一个项目(解决方案),加入代码,设置X64,编译生成即可。
❺ 如何让32位系统运行64位程序
win7 64位为32位程序提供了兼容模式,以保障多数32位程序可正常运行,设置方法如下: 1、在该程序快捷方式上右击,点击属性; 2、点击兼容性选项卡,点击勾选以兼容模式运行这个程序; 3、从组合框选择合适的操作系统,最后点击确定即可。
❻ 如何强制一个使用32lib的32位程序编译成64位
编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 In file included from /usr/include/features.h:378, from /usr/include/assert.h:37, from ../../../include/tinyxml/tinystr.h:42, from ../../../src/tinyxml/tinystr.cpp:32: /usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 没有那个文件或目录这时候需要安装 gcc所有支持文件 sudo apt-get install gcc-multilib 将会安装下列额外的软件包: cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base gcc-4.4-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64 libgcc1 libgomp1 libstdc++6 libstdc++6-4.4-dev 建议安装的软件包: gcc-4.4-locales g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg libmudflap0-4.4-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 lib64mudflap0 libstdc++6-4.4-doc 下列【新】软件包将被安装: gcc-4.4-multilib gcc-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64下列软件包将被升级:
❼ 32位系统编译的程序能在64位下运行吗
在32位的系统不能运行64位的程序,在64位的系统上可以运行32位的程序。
在32位下开发编译和在64位下开发编译是没有区别的,重点在于生成的时候的选项,生成什么平台软件。是X86还是X64还是anycpu
❽ 32位编译器可以编64位程序吗
VS不可以,不提供交叉编译器
gcc可以
但是需要自行编译(至少我不知道是否有人提供),把host设为i686-w64-mingw32
target设为x86_64-w64-mingw32 !
❾ 如何在32位系统上运行64位软件
如果直接在32位系统是无法直接运行64位的软件的,要想在32位系统上运行64位软件,需要先在32位系统上安装虚拟机,然后,再在虚拟机安装64位系统,再在64位系统下安装运行64位软件就可以了。
❿ 32位系统怎么才能运行64位程序
(1)无需特别操作,windows7 64位系统直接兼容32位软件,直接双击运行即可。
(2)windows xp64位是后期补的,第一个普及的家用64位系统是win7 x64,这是2009年发布的操作系统,经过微软长达6年的打磨,已经对32位程序有很好的兼容性了,在win7 64位系统里运行32位程序不需要特别的操作,直接运行即可。
(3)如果直接运行后,出现兼容性问题,应该不是64位和32位程序的问题,而是win xp 和win7两代操作系统之间的差异,比如权限系统的不同,可以尝试调整“兼容性”选项,调整方法如下:
① 鼠标右键单击:直接运行时有兼容性问题的程序,在弹出的右键菜单中点击“属性”。如下图:
② 如下图,切换到“兼容性”选项卡,在“以兼容模式运行这个程序”前面的复选框里“√”:
③ 展开下拉菜单,选择兼容运行的系统版本,下图是“windows10”的项目,已经没有xp兼容模式了,windows7里还有xp兼容模式,可以尝试选择“Windows XP”,最后点击下方的“确认”,设置完毕。调整设置后再双击运行该程序,就可以以兼容模式运行程序了: