资讯 更多 >>
linux基础:编译
立华股份最新公告:7月肉鸡销售收入...
逆水寒手游绝峰秘境奖励是什么
ttyl(tty)
中国红十字会驰援涿州洪涝灾区
春天别乱穿,这27套穿搭给出了完美...
多部获奖作品亮相“嘉果纪录片之夜”
常德长途汽车站电话号码(常德长途...
极光影院电脑版 久看影院电脑版
共轭亚油酸的作用及功能可以减肥吗...
动态更多 >>
2023年8月2日乙酰乙酸甲酯价格最新...
绿城摇号竞得上海二批次第二轮土拍...
约旦河西岸犹太人定居点袭击事件:6...
中科通达:从目前备案的商机项目看...
晚间公告丨8月1日这些公告有看头
恒信贵金属开户(恒信贵金属模拟账户)
2022年01月29日整理发布:realmeUI2...
墨玉质感
河南发文:避免千城一面,支持勘察...
湖北麻城:启动“五大活动” 吹响...
会展 更多 >>
宁波公运全资子公司拟投资140万设立...
世界各地运动员抓拍成都大运会上“...
强军之路 | 超燃!国产万吨大驱首...
守望相助!三趟受阻旅客列车上的暖...
Citywalk之后 年轻人的文旅需求变了吗
与过去72年降水记录比,华北这轮暴...
脱困!首批328名K396次乘客抵达北京丰台站
防静电,电容也可以sayyes
收评:创业板跌0.58% 医药、酿酒等...
香港警匪剧电视剧大全(香港警匪片...
专题报道 
当前位置: 资讯 > >> 正文
 
linux基础:编译
来源:博客园     时间:2023-08-06 17:29:54

程序编译

在linux中,gnu项目提供了gcc编译器、g++编译器和gdb调试器。

C和C++语言正在不断发展,为了保持兼容程序语言的最新特性,开发者通常选择GCC来编译C语言编写的源代码,选择G++来编译C++语言编写的源代码。


(资料图)

编译过程预处理、编译、汇编、链接

预处理:将所有的#include头文件、#define标识符替换成文本的真正内容,生成.i预处理文件(预处理之后得到的仍然是文本文件,但文件体积会大很多)。

编译:(预处理过的)程序->汇编代码,生成.s汇编文件。(符号检查)

汇编:汇编代码->机器码,生成.o目标文件。

链接过程:所需的目标文件以及所需的库文件链接在一起,生成最终的可执行文件。(符号引用检查)

GCC编译命令逐一编译

gcc -E hello.c -o hello.i(预处理)

gcc -S hello.i -o hello.s(编译)

gcc -c hello.s -o hello.o(汇编)

gcc hello.o -o hello(链接)

一步编译

gcc hello.c -o hello(不会产生中间文件)

-o指定输出文件的名称。

关键词:

热门推荐
猜你喜欢