我们从2011年坚守至今,只想做存粹的技术论坛,记录你的技术足迹,有空就回来看看。  由于网站在外面,点击附件后可能要20秒才弹出下载,请耐心等待,勿重复点击

 找回密码
 立即注册
搜索
查看: 1579|回复: 6

[技术文章] gcc基础笔记2

[复制链接]

该用户从未签到

7

主题

2

回帖

0

积分

一级逆天

积分
0

终身成就奖

发表于 2018-7-17 16:52:18 | 显示全部楼层 |阅读模式
3. 动态库和静态库
在链接过程中,gcc编译器通常会将系统库和标准函数库与编译过程中生成的obj文件链接在一起,形成一个可执行文件。这些被链接到可执行文件中的系统库和标准函数库被称为静态库。但是如果每个可执行文件都包含常用的库,那么这些可执行文件就会变得很大,造成空间的浪费。解决办法就是使用动态库。也就是说在链接过程中不再链接这些标准函数和系统函数,而是在可执行文件运行时再去动态加载。这样可执行文件的体积就会被缩小。
4. gcc链接相关选项
(1)-nostdlib
不链接系统标准库文件。当在编译裸机程序,bootloader和内核时,不需要链接系统标准库文件。需要使用-nostdlib选项
(2)-static
静态链接选项
(3)-shared
生成库文件。当要把库发布,但是又不想发布源代码就使用此命令输出一个共享库文件。
5. 如何知道可执行文件是否需要动态库
使用ldd命令可以查看一个可执行文件是否需要动态库。
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-7-9 10:29
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    18

    主题

    1051

    回帖

    543

    积分

    二级逆天

    积分
    543

    终身成就奖优秀斑竹奖

    QQ
    发表于 2018-7-17 17:15:57 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 51 天

    [LV.5]常住居民I

    0

    主题

    794

    回帖

    1352

    积分

    二级逆天

    积分
    1352

    终身成就奖特殊贡献奖

    QQ
    发表于 2018-7-18 10:38:56 | 显示全部楼层
    谢谢分享   学习一下
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    180

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖

    QQ
    发表于 2018-7-23 08:33:37 | 显示全部楼层
    .................................好吧,可以多写一点
    回复

    使用道具 举报

    该用户从未签到

    94

    主题

    516

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖

    QQ
    发表于 2018-8-16 09:24:33 | 显示全部楼层
    Thank you for your sharing
    回复

    使用道具 举报

    该用户从未签到

    11

    主题

    334

    回帖

    0

    积分

    PADS-2021国庆特训班

    积分
    0

    终身成就奖

    发表于 2018-8-16 11:09:21 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    8

    主题

    2158

    回帖

    0

    积分

    二级逆天

    积分
    0

    社区居民终身成就奖

    QQ
    发表于 2019-6-1 22:39:33 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表