导航:首页 > 源码编译 > 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位代码相关的资料

热点内容
linux阻塞方式 浏览:841
aes符合安全要求的加密模式 浏览:12
devc警告未编译 浏览:401
c语言中什么叫源代码未编译 浏览:370
程序员拒绝做接盘侠 浏览:743
gcc编译指定动态库路径 浏览:583
合肥plc编程教学 浏览:962
安卓55都有什么端口 浏览:931
世界旅游用什么app导航 浏览:452
单位发布命令 浏览:137
程序员怼主管电影 浏览:417
cadpdf打印的 浏览:160
柴油无pdf 浏览:331
科技时代编程教学 浏览:108
php客户端地址服务器地址 浏览:518
php动漫源码 浏览:919
络程序员 浏览:568
苹果手机app更新怎么暂停 浏览:697
命令法典在哪交 浏览:795
如何将软件附带文件夹 浏览:392