导航:首页 > 源码编译 > gcc编译32位代码

gcc编译32位代码

发布时间:2023-12-26 09:53:58

㈠ 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了,后面最多就是缺啥安啥,工作量比较小。当然如果你不在意编译速度,直接虚拟机下编最简单

㈡ gcc g++ 使用哪些编译选项可以让编译出来的程序兼容32位和64位

用32位的gcc,编译出来后,能在32位上运行,也能在64位上兼容。

㈢ 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下用gcc将c语言文件编译成32位exe文件,且可以在Windows下运行

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

㈤ 如何用GCC在linux下编译C语言程序

在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器,假设我们有下面一个非常简单的源程序(hello.c):


int main(int argc,char **argv)


{


printf("Hello Linux ");


}


要编译这个程序,我们只要在命令行下执行:


gcc -o hello hello.c


gcc 编译器就会为我们生成一个hello的可执行文件.执行./hello就可以看到程
序的输出结果了

阅读全文

与gcc编译32位代码相关的资料

热点内容
产品经理和程序员待遇 浏览:439
解忧程序员免费阅读 浏览:107
录像免压缩 浏览:504
总结所学过的简便算法 浏览:360
南昌哪些地方需要程序员 浏览:759
三台服务器配置IP地址 浏览:173
如何用命令方块连续对话 浏览:278
win7linux共享文件夹 浏览:304
命令符打开本地服务 浏览:599
android应用程序源码 浏览:703
安卓开发工程师简历怎么写 浏览:61
热水器水量服务器是什么意思 浏览:117
stk卫星编译 浏览:480
对后台程序员的要求 浏览:761
ios大文件夹图标 浏览:626
生的计划pdf 浏览:715
oppoa93加密便签在哪查找 浏览:21
两个数字的加减乘除运算编程 浏览:227
给手机加密码忘记了怎么办 浏览:601
单片机运算符 浏览:297