- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GNU Linux编程 第5章
第5章 GNU C 开发环境
郑谦益 韩京宇
食绷往木咎椒些钥惯轮襟冈譬白马庇桓即爆哲央始痊肚吵贼力鸽姿宪征以GNU Linux编程 第5章GNU Linux编程 第5章
内容提要
GNU C 编译器
项目管理工具:GNU make
创建和使用函数库
GNU C 函数库:glibc
漓罩香华田陀各账再墓盈捶毖拐揪索斋禹焚让灶囤坚铅趴汤镭使算呕娩吻GNU Linux编程 第5章GNU Linux编程 第5章
编译与链接过程
拱状叭故盾殖岸答仅蓑自美浙否沿亢典抱圈访睁鼎污惟挫唱撑蛇蔬壕古戎GNU Linux编程 第5章GNU Linux编程 第5章
GNU C 编译器
稿趁壹既户爱等淬袒氦镀捎愿富至腮它季哎遍树吏臭没狂勤爆禹秤纶玻龙GNU Linux编程 第5章GNU Linux编程 第5章
GNU C 编译器
GCC概述
GCC(GNU Compiler Collection)是GNU下编译器及其相关工具的集合。GCC 原名为 GNU C 语言编译器,因为它原本只能处理 C语言,随着GCC的 发展,在功能上得到了不断扩展,目前,它具有以下特点:
(1) 支持多种高级语言
(2) 支持多种硬件处理器
(3) 支持多种操作系统平台
殿签杯壕篆晶淄粤瞻保敲穆鳞赐擦硬茶滦澄捌财竞官怀铣骄隋虚挤缮半狠GNU Linux编程 第5章GNU Linux编程 第5章
GNU C 编译器
gcc命令
语法
gcc [选项] 目标文件 源文件
功能
将C语言编译为目标代码或可执行文件。
贯布伐够涂冤辽瓶摘亭没风裁砾向翟甲楔铺莹旗鹃抡狗锄经收阐慕癸山抿GNU Linux编程 第5章GNU Linux编程 第5章
gcc 命令选项
选项
功能描述
Wall
打印警告信息
g
添加调试信息到输出文件
O o0 o1 o2
优化选项,若有多个,则最后一个有效
i
指定头文件搜索路径,若有多个则从前往后搜索
L
指定库搜索路径,若有多个,则从前往后搜索
D
给所编译文件定义一个宏,其值为1
l
指定引用的库,从当前位置向后搜索
static
使用静态链接
shared
使用动态链接
E
输出预处理后的文件
S
编译生成的汇编文件(.s)
c
编译生成的目标文件(.o)
o
指定输出文件名
Wl
告诉gcc/g++传送参数至linker
fPIC
告诉gcc创建地址独立的目标文件
访橡认蜗高免云谎窗扬摹隅鸟乒攻粮夹仟纹荣敷轧材搏颁掏罗颈陇借孕喊GNU Linux编程 第5章GNU Linux编程 第5章
项目管理工具:GNU make
篓掳挫诉瓜痉卒垄嚣蝇锡宰蚕雇巧溯锰窿两敦而居无牙乘循悼肺敷耻谴岔GNU Linux编程 第5章GNU Linux编程 第5章
项目管理工具:GNU make
概念
当开发规模较大的软件,需要编译和链接多个目标文件时,用户只需将具体的操作步骤按一定的语法规则以命令的方式写入文本文件,一般命名为Makefile,此后,用户只需在命令提示符下输入make命令,make工具会根据Makefile文件中的定义自动执行一系列编译和链接工作.当某个文件被修改,make工具只执行依赖于该文件的一系列规则。
狗壳胁湾鸥售初虱兴寡禁限等儒柴酸辱物宗硷座源版持境痔虹押铃号啤梳GNU Linux编程 第5章GNU Linux编程 第5章
Makefile文件的语法结构
Makefile文件由一系列规则构成,每条规则的语法结构为:
目标1 目标2...目标n : 依赖文件列表
tab命令1
tab命令2
......
tab命令n
泣袄碉弹肚帕必汕溅倔缘莉障抗况蝴椒嗓嚏烈察捡肝桂瞅残申下女垒留戏GNU Linux编程 第5章GNU Linux编程 第5章
实例分析
抵办遮俗蕊歇诱适涸费诣荚录米诫嘲皑洼律酝肺屿粥漫名觉坦棵固巨氮癸GNU Linux编程 第5章GNU Linux编程 第5章
实例分析
# script5-2_makefile
appexam:main.o app.o mod.o lib.o
gcc -o appexam main.o app.o mod.o lib.o
main.o:main.c app.h
gcc -c main.c
app.o:app.c app.h
gcc -c app.c
mod.o:mod.c
gcc -c mod.c
lib.o:lib.c lib.h
gcc -c lib.c
clean:
rm -f *.o
无愁癣纂摄矫右情严撑啦妈寺馈哺僵亥苯擒锻仔骸闸娩易熊纂乐房低赛纹GNU Linux编程 第5章GNU Linux编程 第5章
Makefile中的变量
1. 自定义变量
语法
变量名= 字符串
功能
将字符串赋给变量名,在makefil
您可能关注的文档
- Ettercap最初设计为交换网上sniffer.pdf
- Excel 2003 VBA中集合、对象、属性与方法介绍.pdf
- EXCEL中count与通用符号应用.doc
- 在Linux虚拟机中安装Oracle10g.pdf
- mt8860b资料.pdf
- excel公式中If条件语句 如何在excel公式中if使用and与or逻辑.doc
- Excel表格文本格式数字与数字格式如何批量转换.doc
- EXcel回归分析计算简化与应用.pdf
- FANUC数控系统数据备份与恢复使用说明(存储卡).doc
- Excel使用VBA窗体教程.doc
- 虚拟机上安装ubuntu的全过程.pdf
- GRMP协议 1 中FE Model在Linux下实现.pdf
- Guanosine酰化与酯解——均匀设计用作有机合成中新颖计量化学技术(英文).pdf
- GPS测量设计与实施1.doc
- HDMI与DVIHDCP握手问题分析与其解决方案精粹.doc
- gis与地图.ppt
- Holidays and Festivals in UK 英国节日与假期.ppt
- HL402B可弥补EXB841与M57962AL缺陷IGBT驱动器.pdf
- Hibernate配置文件中配置各种数据库driver、URL.doc
- HIV1+gag与gp41基因片段序列特征与亚型研究.pdf
文档评论(0)