- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Linux网络操作系统项目教程 第4版 第1章-安装与配置Linux操作系统.ppt
- Linux网络操作系统项目教程 第4版 第3章 管理Linux服务器的用户和组.pdf
- Linux网络操作系统项目教程 第4版 第4章 配置与管理文件系统.ppt
- Linux网络操作系统项目教程 第4版 第5章 配置与管理硬盘.ppt
- Linux网络操作系统项目教程 第4版 第6章 配置网络和使用ssh服务.ppt
- Linux网络操作系统项目教程 第4版 第7章shell基础.ppt
- Linux网络操作系统项目教程 第4版 第8章 学习shell script.ppt
- Linux网络操作系统项目教程 第4版 第10章 配置与管理samba服务器.ppt
- Linux网络操作系统项目教程 第4版 第12章 配置与管理DNS服务器.pdf
- 小学生全国普通话推广宣传主题班会ppt课件(优质ppt).pptx
文档评论(0)