【C++之Makefile基础实践】MakeFile从入门到精通

Cmake组件化构建大型软件项目松耦合方案。

CMake的背景知识

这里简短介绍一下makefile的原理。

生成hello(hello.exe)所需要执行的bash命令:gcc -v -o hello hello.c

该过程可拆解为4个步骤:预处理、编译、汇编、链接。大部分情况下,不需要拆分成这四步来完成文件的生成,一般都是直接生成二进制.o文件,然后链接成可执行文件(或者动态库.so .dll 或者静态库.a .lib)。

具体的Makefile编写规则可以参考:九张图记住Makefile

传统Linux的构建工具是Makefile,功能极其强大但是却存在一些缺点。

  • 难以书写,维护者需要关注太多的细节
  • 不能跨平台

CMake自身并不能完成构建,它只会生成构建所需的Makefile,最终的构建仍然由Makefile来完成。

CMake的优势

  • 屏蔽了Makefile中的很多细节,使得编写更为简单,如.h和.c的依赖
  • 跨平台:Linux、Windows、Macos、Unix
  • Out-of source build:无需任何特别设置,就能将所有的中间文件存放在一个临时目录,clean简直太轻松了—— 这一点可比Linux Kernel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值