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

64位linux下的GCC如何编译出一个32位可执行程序?,第1张

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

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

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

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

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

一般64位系统最好不要安装32位库的-dev,经常有冲突,强行安装会破坏64位环境,头文件并不像共享库分得那么完美。

我觉得比较好的做法是,重新把某一个文件夹当成rootfs,在里面安装各种32位的库和库-dev,然后给gcc传递参数"--sysroot=路径"就可以让gcc重新选取那个文件夹为rootfs,而不再认为/为rootfs。

常规做法,先添加32bit架构:

sudo dpkg --add-architecture i386

sudo apt-get update

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

然后,你再安装或者直接运行你的32位程序。

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。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7815627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存