Linux网络操作系统项目教程 第4版 第9章 使用gcc和make调试程序.ppt

Linux网络操作系统项目教程 第4版 第9章 使用gcc和make调试程序.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、项目实施 任务9-6 使用make进行宏编译 由于这4个文件包含了相关性,并且还用到数学函数式,所以如果想要让这个程序可以运行,那么就需要进行编译。 ① 先进行目标文件的编译,最终会有4个*.o的文件名出现。 [root@Server01 c]# gcc -c main.c [root@Server01 c]# gcc -c haha.c [root@Server01 c]# gcc -c sin_value.c [root@Server01 c]# gcc -c cos_value.c 三、项目实施 任务9-6 使用make进行宏编译 ② 再链接形成可执行文件main,并加入libm的数学函数(\是命令换行符,按回车键后在下行继续输入未输入完成的命令即可)。 [root@Server01 c]# gcc -o main main.o haha.o sin_value.o cos_value.o \ -lm -L/usr/lib -L/lib ③ 本程序的运行结果,必须输入姓名、360 度角的角度值来完成计算。 [root@Server01 c]# ./main Please input your name: Bobby ==这里先输入名字 Please enter the degree angle (ex 90): 30 ==输入以360度为主的角度 Hi, Dear Bobby, nice to meet you. ==这三行为输出的结果 The Sin is: 0.50 The Cos is: 0.87 三、项目实施 任务9-6 使用make进行宏编译 利用 make 这个工具,一个步骤就全部完成上面所有的操作 ① 先编辑 makefile 这个规则文件,内容是制作出 main 这个可执行文件 [root@Server01 c]# vim makefile main: main.o haha.o sin_value.o cos_value.o gcc -o main main.o haha.o sin_value.o cos_value.o -lm 特别注意:第二行的gcc之前是按“Tab”键产生的空格,不是真正空格,否则会出错! 三、项目实施 任务9-6 使用make进行宏编译 利用 make 这个工具,一个步骤就全部完成上面所有的操作 ② 使用 makefile 制订的规则进行编译 [root@Server01 c]# rm -f main *.o ==先将之前的目标文件删除 [root@Server01 c]# make cc -c -o main.o main.c cc -c -o haha.o haha.c cc -c -o sin_value.o sin_value.c cc -c -o cos_value.o cos_value.c gcc -o main main.o haha.o sin_value.o cos_value.o -lm ③在不删除任何文件的情况下,重新运行一次编译的动作 [root@Server01 c]# make make: “main”已是最新。 [root@Server01 c]# ./main Please input your name: yy Please enter the degree angle (ex 90): 60 Hi, Dear yy, nice to meet you. The Sin is: 0.87 The Cos is: 0.50 三、项目实施 任务9-6 使用make进行宏编译 2. 了解makefile的基本语法与变量 make的语法相当多且复杂,这里仅列出一些基本的守则,基本的 makefile守则如下: 目标(target): 目标文件1 目标文件2 tab gcc -o 欲创建的可执行文件 目标文件1 目标文件2 目标(target)就是我们想要创建的信息,而目标文件就是具有相关性的 object files。 语法规则如下: 在makefile当中的 # 代表注解。 需要在命令行(例如gcc这个编译器命令)的第一个字节按“Tab”键。 目标(target)与相关文件(就是目标文件)之间需以“:”隔开。 三、项目实施 任务9-6 使用make进行宏编译 上一个小节的范例做进一步说明,如果想要有两个以上的执行操作,例如执行一个命令就直接清除掉所有的目标文件与可执行文件,那该如何制作makefile文件呢? (1)先编辑 makefile 来建立新的规则,此规则的目标名称为 clean。 [root@Serv

文档评论(0)

dllkxy + 关注
实名认证
内容提供者

本文库主要涉及建筑、教育等资料,有问题可以联系解决哦

版权声明书
用户编号:5213302032000001

1亿VIP精品文档

相关文档