makefile--回顾基础篇
2024-08-28 08:59:03
前阵子让写makefile,纠结了下,基本忘记差不多了。
1.gcc的编译选项
-c |
只是编译不链接,生成目标文件“.o” |
-S |
只是编译不汇编,生成汇编代码 |
-E |
只进行预编译,不做其他处理 |
-g |
在可执行程序中包含标准调试信息 |
-o file |
把输出文件输出到file里 |
-v |
打印出编译器内部编译各过程的命令行信息和编译器的版本 |
-I dir |
在头文件的搜索路径列表中添加dir目录 |
-L dir |
在库文件的搜索路径列表中添加dir目录 |
-static |
链接静态库 |
-llibrary |
连接名为library的库文件 |
2.makefile的规则
target...: prerequire...
command
看到这个就熟悉了
3. makefile的文件中有什么
a)依赖的部分include
b)变量定义
c)显示规则(你所直观看到的依赖)
d)隐式规则(偷懒依靠makefile语法省写的那部分)
e)注释#
4.makefile 的工作步骤:
a)读取makefile
b)读include
c)初始化文件中的变量
d)推导隐式规则
e)为所有目标建立依赖链
f)根据依赖链,决定生成哪些目标
g) 执行生成命令
5.最简单的demo
target=hello
target_o=hello.o
target_c=hello.c
$(target):$(target_o)
cc -o $(target) $(target_o)
$(target_o):$(target_c)
cc -c $(target) $(target_c)
最新文章
- javascript图片展示墙特效
- [转]Ubuntu 12.04中文输入法的安装
- R:incomplete final line found by readTableHeader on
- Android sharePreference使用
- 注解:【有连接表的】Hibernate单向1->;N关联
- 定时往oracle插入数据
- 访问WEB-INF目录中的JSP文件
- PHP设计模式之:工厂模式
- POJ burnside&;&;polya整理练习
- 智能的PHP缩图类
- 201521044091 java 第一周总结
- spring-boot自定义favicon.ico文件
- luogu1484 种树 (优先队列)
- python分包写入文件,写入固定字节内容,当包达到指定大小时继续写入新文件
- delphi dbgrid 修改、更新、删除
- php优秀框架codeigniter学习系列——CodeIgniter.php概览
- SCCM2012 R2实战系列之九:OSD(中)--捕获镜像
- .Net Core Bitmap位图处理
- express + mongodb 搭建一个简易网站 (四)
- 第六章 HashSet源码解析
热门文章
- jq——属性和方法
- P3387 【模板】缩点 &;&; P3388 【模板】割点(割顶)
- sublime text3安装js提示的插件
- 队列Queue的get方法
- BZOJ 1717 [USACO06DEC] Milk Patterns (后缀数组+二分)
- 利用Python对文件进行批量重命名
- ASP.NET-权限管理五张表
- ASP.NET-Razor常用方法
- 洛谷—— P1260 工程规划
- 洛谷 P1825 [USACO11OPEN]玉米田迷宫Corn Maze