linux 编译 宏,Linux—用make进行宏编译

文章目录

gcc的简易用法

为什么要用make

makefile的基本语法与变量

gcc的简易用法

gcc - c hello.c:会自动生成hello.o这个文件,但并不会生成可执行文件

gcc -O helo.c -c:会自动的生成hello.o这个文件,并进行优化

gcc -o hello hello.c:-o后面接的是要输出binary file文件名

gcc -o hello hello.c -Wall:加入-Wall之后,程序的编译会变得较为严谨一些,警告信息也会显示出来

为什么要用make

假设现在有main.c、haha.c、sin_value.c、cos_value.c这4个文件。若是想要编译出一个可执行文件,则要经历如下步骤

gcc -c main.c

gcc - haha.c

gcc -c sin value.c

gcc -c cos value.c

gcc -o main main.o haha.o sin value.o cos value.o -lm -L/usr/lib -L/lib

可以看出编译的过程十分的繁琐,而且如果要重新编译,则上面的步骤都得重新来一次。

那么使用make工具就能完美解决这个问题。那么要使用make就得先配置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

编写makefile文件之后,只需要在makefile目录下执行make命令即可。

make的优点:

简化编译时所需要执行的命令

若在编译完成之后,修改了某个源码文件,make仅会针对被修改了的文件进行编译,其他的目标文件不会被更改。

最后可以依照相依性来更新执行文件

makefile的基本语法与变量

makefile文件的基本规则如下:

target: targetFile1 targetFile2

gcc -o excutableFile targetFile2 targetFile2

那个target就是我们想要建立的信息,而目标文件(targetFile)就是具有相关性的Object file。命令行必须要以tab按键作为开头才行。

在makefile中的“#”代表注释

tab按键需要在命令行的第一个字符

目标(target)与相关文件(目标文件)之间需以":"隔开

还可以在makefile文件中添加clean操作。

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

clean: rm -f main main.o haha.o cos value.o sin value.o

只需要执行make clean就可以直接清除掉编译产生的所有目标文件和可执行文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值