温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux工具GCC编译器的原理分析

发布时间:2021-10-22 11:36:04 来源:亿速云 阅读:171 作者:柒染 栏目:大数据

这篇文章给大家介绍Linux工具GCC编译器的原理分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

概述

GCC(GNU Compiler Collection)编译器是GNU Linux操作系统的默认编译器

编译流程

预处理

预处理器CPP进行预处理,把头文件,宏等进行展开,生成.i文件

编译

GCC 支持多种编程语言,假设是c语言则ze调用C语言的编译器cll 。编译完成之后生成汇编程序,输出.s的文件

汇编

GCC调用汇编器as 进行汇编,生成可重定向的目标程序

链接

GCC 调用链接器把所有的目标文件和C语言的标准库连接成可执行的二进制文件

编译选项

本地编译在当前的目标平台编译出来的程序,并且一般只运行在当前编译的平台。

交叉编译在一种平台上编译,然后放到另外一种平台上运行,这过程称为交叉编译

gcc编译选项

选项


-c

编译、汇编指定的源文件,但是不进行链接

-S

编译指定的源文件,但是不进行汇编

-E预处理指定的源文件,不进行编译
-o生成目标文件,[file1] [file2] 将文件 file2 编译成可执行文件 file1
-Idirectory 指定 include 包含文件的搜索目录
-g生成调试信息,该程序可以被调试器调试

-Wall

生成所有警告信息




关于Linux工具GCC编译器的原理分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI