导航:首页 > 源码编译 > 编译为32位程序

编译为32位程序

发布时间:2022-07-02 04:45:34

A. 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

B. 命令提示符编译的程序是只能是32位吗

64位库只能生成64位的程序,32位的库只能生成32位的程序,32位的程序可以在64位机子上运行,64位程序不能在32位机子上运行

C. 如何在ubuntu14.04编译运行32位程序

我的解决方法
安装系统:
Install ubuntu14.04-64bit(Trusty Tahr)
安装32位库:
sudo apt-get install libc6:i386
用之前的源安装ia32-libs:
sudo -i
cd /etc/apt/sources.list.d
echo "deb raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
rm ia32-libs-raring.list
apt-get update
exit
安装gcc编译时需要的一些类库:
sudo apt-get install gcc-multilib
在gcc的时候加-m32参数 再次尝试:
make clean
make

D. 如何在Linux下用gcc将c语言文件编译成32位exe文件,且可以在Windows下运行

有方法的,不过要看你编绎出的程序需要用到多少windows的库,看看linux下有没有可以替代的,不过很多时候没有windows内核还是无法编译成功的。
方法一:安装mingw32
方法二:virtualbox安装xp的虚拟机
方法三:通过wine使用cl命令行编译
上面几个方法你可以尝试一下。
至于编辑嘛,高手一般直接就用vim,如果你觉得难用的话,可以用eclipse或者kdevelop,kdevelop有点像windows下VS,希望对你有所帮助

E. 64位win7下vs2010怎么编译出32位程序

早期在vs2008上的一个测试,希望能够帮助你

一、win32改为x64编译

我采用了vs2008平台,以下都是基于此平台将win32编译改为x64编译

这里以Debug模式为例,起初为Win32平台,要改成x64,如果有可直接选择,否则需要新建,之后为。

然后打开vs的项目->属性->配置属性->连接器,

在“高级”选项中,目标计算机为MachineX64(/MACHINE:X64)。

在“命令行”选项中,将X86改为X64.

平台选择x64,若没有则新建之.

F. 64位UBUNTU 下 如何用GCC 编译出32位程序 求前辈指点

目测是32位的搜索路径下没有sys/cdefs.h
一般64位系统最好不要安装32位库的-dev,经常有冲突,强行安装会破坏64位环境,头文件并不像共享库分得那么完美。
我觉得比较好的做法是,重新把某一个文件夹当成rootfs,在里面安装各种32位的库和库-dev,然后给gcc传递参数"--sysroot=路径"就可以让gcc重新选取那个文件夹为rootfs,而不再认为/为rootfs。其实这样就变成交叉编译了。也可以在这个rootfs中安装32位的必要软件包如bash,gcc,coreutils等等,然后chroot进去就变成host编译了。其实有个比较简单的方法,就是虚拟机下安一个32位的ubuntu,然后装好各种软件包,然后直接对/打包,再拿出来解压就是rootfs了,后面最多就是缺啥安啥,工作量比较小。当然如果你不在意编译速度,直接虚拟机下编最简单

G. C#net如何给程序编译为32位应用程序

如果想安装方便需要使用access或sqlite这样的自包含数据库,这样你的数据库和exe程序放在同一个目录下就可以了。
如果你想使用mysql或mssql等数据库,首先要在被安装的机器上安装这些软件,然后初始化数据库结构,导入初识数据,这样的数据库做起来比较麻烦。

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

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

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

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

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

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

I. 64位linux编译32位应用程序,怎样设置

安装gcc 安装gcc-multlib
编译的时候加参数 -m32
其他依赖库可以安装。
此外可以使用容器技术,chroot技术,交叉编译。
使用虚拟机也是可以的,有性能损失,可能会引入一些错误。

阅读全文

与编译为32位程序相关的资料

热点内容
西安java培训 浏览:298
苹果用户app如何退款 浏览:889
解压方式就是喝酒 浏览:396
麦块怎么添加到游戏服务器 浏览:962
喷油螺杆制冷压缩机 浏览:581
python员工信息登记表 浏览:377
高中美术pdf 浏览:161
java实现排列 浏览:513
javavector的用法 浏览:982
osi实现加密的三层 浏览:233
大众宝来原厂中控如何安装app 浏览:916
linux内核根文件系统 浏览:243
3d的命令面板不见了 浏览:526
武汉理工大学服务器ip地址 浏览:149
亚马逊云服务器登录 浏览:525
安卓手机如何进行文件处理 浏览:71
mysql执行系统命令 浏览:930
php支持curlhttps 浏览:143
新预算法责任 浏览:444
服务器如何处理5万人同时在线 浏览:251