当前位置:首页 » 《随便一记》 » 正文

【linux】编译器使用

0 人参与  2024年04月26日 08:50  分类 : 《随便一记》  评论

点击全文阅读


目录

1. gcc ,g++ 编译器使用

a. 有关gcc的指令(g++同理)

2. .o 文件和库的链接方式

a. 链接方式

b. 动态库 和 静态库 优缺点对比

c. debug 版本 和 release 版本



1. gcc ,g++ 编译器使用

a. 有关gcc的指令(g++同理)

注意:

linux下自带gcc编译器,如果要安装g++编译器;

sudo yum install -y gcc-g++ (普通用户)

gcc + 文件名

得到可执行文件

gcc + 文件名 + -o + 自定义文件名

得到的可执行文件可以自己命名

gcc + E + 文件名 + -o + 自定义文件名 (一般以 .i 结尾)

得到预处理后的文件可以自己命名

注意:

-E 告诉编译器,从现在阶段开始执行完预处理阶段就可以停下来了

gcc -S + 文件名 + -o + 自定义文件名 (一般以 .s 结尾)

得到编译后的文件可以自己命名

注意:

-S 告诉编译器,从现在阶段开始执行完编译阶段就可以停下来了(得到的是汇编代码

gcc -c + 文件名 + -o + 自定义文件名 (一般以 .o 结尾)

得到汇编后的文件可以自己命名(得到的是二进制代码

注意:

得到的文件(可重定位目标二进制文件)不可以直接执行(缺少链接这一步)链接链接的是库文件 (Linux下:.so(动态库) .a(静态库),windows下:.dll(动态库),.lib(静态库))linux系统下,库有自己的命名规则:libname.so (红色标明的位置才是库的名字)编译型语言,所谓的安装包,是安装了 头文件 + 库文件linux系统下,默认只安装了动态库,没有安装静态库函数的实现就是调用了库文件,库文件就是源文件(.c)经过一定翻译后,形成的一个文件(可以打包多个源文件,也可以达到隐藏源文件的效果)头文件提供方法的声明,库文件提供方法的实现头文件所处位置:/usr/include

2. .o 文件和库的链接方式

a. 链接方式

动态链接

动态库不能缺失,一旦对应的动态库缺失,影响的不止一个程序

静态链接

在编译器使用的时候,静态链接时,会将自己的函数拷贝到目标文件中,如果静态库缺失了,不会影响目标程序

注意:

在 Linux系统下,默认采用的链接是动态链接(需要提供动态库)动态库只能使用动态链接,静态库只能使用静态链接 -static 选项

采用静态链接(需要提供静态库

注意:

安装 C语言 静态库(普通用户): sudo yum install -y glibc-static

安装 C++ 静态库(普通用户) sudo yum install -y libstdc++-static

如果只有动态库,没有静态库,-static 是不行的如果没有动态库,只有静态库,那么只能用静态库 (本来编译器默认优先使用动态库,-static 是改变优先级,将所有的链接要求都改成静态链接,没有就会报错 )

b. 动态库 和 静态库 优缺点对比

动态库因为是共享库,可以节约资源(磁盘资源,内存资源,网络资源等)【优点】动态库一旦缺失,目标程序很可能不能执行 【缺点】静态库依赖小,缺失静态库不会对目标程序造成什么影响 【优点】静态库体积大,资源消耗大 【缺点】

c. debug 版本 和 release 版本

注意:

gcc 默认形成的可执行程序是以 release 版本发布出去的debug 版本 会比 release 版本 多加 debug 信息 ,所以体积上也会更大

gcc + 文件名 + -o + 目标文件名 + -g

形成的可执行文件是 debug版本 的


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/100318.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 免费完结版小说回家过年,我把侄子送进了少管所_回家过年,我把侄子送进了少管所(林晓孟倩林浩)免费小说全本_全本免费完结小说回家过年,我把侄子送进了少管所
  • 书荒宝藏文《简星星江桁》简星星江桁(小说全文阅读无弹窗)全文免费阅读
  • 《江雨柔苏宸》已完结(江雨柔苏宸)热门小说完整版)全文阅读笔趣阁
  • 回家过年,我把侄子送进了少管所(林晓孟倩林浩)阅读免费小说_全本免费小说阅读回家过年,我把侄子送进了少管所(林晓孟倩林浩)最新更新
  • 最新免费小说除夕夜大伯心梗,我替婆婆送花圈油爱芳瑶瑶_除夕夜大伯心梗,我替婆婆送花圈(油爱芳瑶瑶)热门小说推荐
  • 搬空钱财:下乡的娇知青她军婚了全集姜温婉周云霆(搬空钱财:下乡的娇知青她军婚了全集)全文免费阅读无弹窗大结局_(姜温婉周云霆免费阅读全文大结局)最新章节列表_笔趣阁(姜温婉周云霆) -
  • 情深几许再难圆热门小说免费(陈墨燃沈心宁)全文免费阅读无弹窗大结局_(情深几许再难圆热门小说小说免费阅读)最新章节列表_笔趣阁(情深几许再难圆热门小说) -
  • 伽蓝如梦情如尘完结版阅读(林清规梵清)全文免费阅读无弹窗大结局_(伽蓝如梦情如尘完结版阅读)林清规梵清最新章节列表_笔趣阁(伽蓝如梦情如尘完结版阅读) -
  • 和总裁上恋综后,全网磕疯了(谢弥沈爅卿)阅读 -
  • 重生后,弟弟抢走了我的人生(李子豪李子明)免费阅读 -
  • 神豪从深镇收租开始易安国李思思,神豪从深镇收租开始最新章节
  • 李君小说《他是监狱的神》在线阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1