导航:首页 > 操作系统 > linux64位运行32位程序

linux64位运行32位程序

发布时间:2023-05-17 18:23:05

⑴ 如何在64位的linux中运行32位的应用程序

大部分Linux发行套件都有针对x86_64处理器的版本。比较典型的x86_64的处理器有ADM Athlon II和英特尔Xeon。因为这些Linux发行套件都有自己专用的软件源,这些软件源会为提供所有它所支持的应用软件的二进制包。如果你满足于Linux的安装方式,你可能不会需要运行32位的程序。
一些Linux商业软件,尤其是游戏,只提供32的版本。因为某些特殊的理由,你可能需要配置你的电脑来运行32位的软件。
安装32位的支持库
因为x86_64处理器是为x86技术涉及,所以它也是支持32位程序的。在Linux里,你所需要做的就是为这些软件安装必要的软件库。幸运的是,大部分Linux发行版本已经将这些打包好了。比方在Ubuntu里,这个包就叫做ia32-libs。为了安装它,你可以打开一个终端,然后输入下面的内容:
sudo apt-get install ia32-libs
在Kubuntu中,你也可以通过Synaptic和Kpackagekit在图形界面下安装。一旦安装了之后,像游戏之类的软件就不再需要更多的配置。
图形问题
当你在一个64位的环境中运行32位的软件时,Ubuntu仍然会去寻找默认的GTK引擎。这样导致一个wrong ELF class的报错。这种情况在你运行某些特定的软件的时候特别恼人,比方说Chrome,一款新的谷歌浏览器开源版本。Ubuntu确实已经将32位版本的GTK引擎安装在了 /usr/lib32/gtk-2.0,但是我所使用的GTK项目并没有在这个位置找到。快速的解决方法如下:
1、为你现在用的主题找到32位包。比方说我,我查找了ubuntu packages
2、下载包,然后将包解压缩
3、为主题找到库文件
4、将库拷贝到lib32路径:
sudo cp ~/download-directory/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so /usr/lib32/gtk-2.0/2.10.0/engines/
比方说Chrome,它的需要可以设置在启动脚本里: /user/lib32/gtk-2.0如果程序的启动脚本在你运行的时候没有去看,而是去寻找 /user.lib/gtk-2.0,你可能需要修改启动脚本或者在终端里输出并设置一个环境变量:
export GTK_PATH=/usr/lib32/gtk-2.0 command-to-start-app
如果一个程序没有启动脚本,你可以像上面那样设置下环境变量。

⑵ labview32位在64位系统报错

labview32位在64位系统报错
在Windows环境中,32位可执行文件可以在64位PC上运行。因此LabVIEW 32位开发系统、运行引擎和可执行文件可以在Windows 64位计算机上运行。运行64位内核的Mac OS X计算机无法运行32位应用程序;如需运行32位应用程序,需要切换到32位内核,内核能否进行切换取决于Mac OS X版本。Linux 64位需要安装32位库方可运行32位应用程序;但是,安装这些库无法保证所有32位应用程序都能在64位Linux计算机上运行。
能否使用LabVIEW 64位应用中拆程序生成器构建32位版本的可执行文件?
不能,目前不能使用LabVIEW 64位应用程序生成器构建32位版本的可执行文件。
LabVIEW可以访问多少内存?
应用程序可以请求内存,但是操作系统可以根据可用大小(物理或虚拟)接受或拒绝请求。默认情况下,32位Windows XP上的LabVIEW 32位只能使用最多2 GB的地址空间。有一个3 GB的磨戚启动选项,可以允许32位Windows XP的应用程序使用最多3 GB的地址空间。64位Windows Vista、64位Windows 7上运行的LabVIEW 32位最多可用4 GB的地址空间瞎培陵。在上述任何配置中,如无足够的可用连续内存,仍然可能发生大缓冲区无法分配的情况。64位操作系统上的LabVIEW 64位支持的RAM与操作系统支持的RAM相同(理论上为16 EB)。目前,64位Windows的上限为16 TB。

⑶ 64位linux编译32位程序

在64位的Linux下,gcc 编译 32 位程序需要添加参数 -m32 ,ld需要添加参数是 -m elf_i386。
1、Along with the -m32 flag in gcc, you may need to include the -melf_i386 flag for ld to properly link the 32bit object files to the 32bit libraries if you have both the 32bit and 64bit libraries.
2、 ld命令 ld命令是GNU的连接器,将目标文件连接为可执行程序。
3、举例:

gcc -m32 -o hello hello.c

gcc -m32 -c hello.o hello.c
ld -m elf_i386 -o kernel main.o hello.o

⑷ 弱弱的问一句,LINUX 64位系统,能用32位的linux软件吗

1、可以的
2、linux64位系统一般会兼容32位软件嫌数,此余可以安装32位或64位两份软件
比如:libgcc
libgcc.i386 : GCC version 4.1 shared support library
libgcc.x86_64 : GCC version 4.1 shared support library
3、还有纯64位linux系森者滚统只能安装64位软件。

⑸ 64位linux下的GCC如何编译出一个32位可执行程序

理论上安装支持环境,之后64位的gcc编译成32位程序,就加-m32参数即可。

当然还一个办法是装个32位的gcc。

另外,交叉编迅纯译也适用于x86架构。

不过这么编译经常会出现各种问题,所以编译32位的程序,最好还是用32位系统。

不一定重装,用chroot和setarch命令配合即可弄出一个32位的子系统。

⑹ 64位linux下,32位程序能不能调用64位库文件为什么

不能,要安装32位库才可以,在64位系统当中要运行32位软件目前比较好的是12.2,但是在装的时局手候如腊做要自定义安装32位库,渣衡运行相当完美,ubuntu当中运行有点儿问题。

⑺ linux64位机器编译32位程序出现错误。

32 和 64 是完全两个不同的系统。Linux 他们的兼容,完全是基于内核的双模式切换功能,但是因为是基于内核的。所以 32 和 64 的系统函数库就还是没关系。
那么,你编译和运行 32 位程序,就需要 64 位的函数库接口支撑。同样 64 位程序,也需要 64 位的函数库提供支撑。

你这个问题,教程只让你装了最基本的编译器环境,但是函数支撑环境全都没有装,肯定是还会提示找不到需要的函数库的。
另外,就算你这个命令装了需要的函数库,也肯定只是装了 64 位的函数库,32 位库也没有装。那么编译 32 位程序也会出现找不到 32 位函数库的问题的。

你这个问题,我建议你学习两部分:
1、Linux 的依赖关系;
2、Linux 的 mutilib 相关实现。

我建议,编译 32 的程序请用纯 32 位系统。64 位系统只编译 64 位的程序。64 位系统只可以运行 32 位程序,不要用来编译。Linux 里面随便找个程序,就会依赖很多的函数库,这对于编译器调用来说,会很乱的。
如果真的没有空闲机器去单独跑 32 位系统了,我建议要么是 chroot 环境,要么是用交叉编译。不过注意这两种方式还是需要设置。

阅读全文

与linux64位运行32位程序相关的资料

热点内容
镂空加密隔断墙效果图 浏览:539
windows7怎么安装证书服务器 浏览:952
证券业务的程序员 浏览:202
u点服务器wifi密码如何设置 浏览:864
宝马x5大灯编程 浏览:673
python安装和使用 浏览:381
加密的门禁卡复制了用不了 浏览:714
javacsv读写 浏览:806
ug编程教程pdf 浏览:763
latex编译软件安卓版 浏览:248
如何在信合app上交居民医保 浏览:109
丑恶pdf 浏览:365
陕西定频压缩机销售公司 浏览:795
安卓系统如何帮人打王者 浏览:427
sbtlinux安装 浏览:141
阿里云sip服务器 浏览:73
身为程序员的你怎么拼命 浏览:453
android图片手势放大 浏览:586
钱的所有算法 浏览:13
光模块服务器怎么直接连电脑 浏览:376