第19课 - 路径搜索的综合示例
1. 需求分析
(1)工程项目中不希望源码文件夹在编译时被改动(只读文件夹)
(2)在编译时自动创建文件夹(build)用于存放编译结果
(3)编译过程中能够自动搜索需要的文件
(4)makefile 易于扩展,能够复用于相同类型的项目
(5)支持调试版本的编译选项
2. 项目类型分析
3. 工具原料
(1)wildcard 函数
函数用法:
函数功能:获取 $(DIR) 文件夹中满足 _pattern 的文件
(2)notdir 函数
函数用法:
函数功能:去除 _names 中每一个文件名的路径前缀
(3)patsubst 函数
函数用法:
函数功能:将 _text 中符合 _pattern 的部分替换为 replacement
4. 关键技巧
(1)自动获取源文件列表(函数调用)
(2)根据源文件列表生成目标文件列表(变量的值替换)
(3)替换每一个目标文件的路径前缀(函数调用)
5. 编译规则的依赖
值得斟酌的问题?
对于规模较小的项目,makefile 中是否也需要使用自动生成依赖关系的解决方案呢?
模式规则的灵活运用使得makefile具有复用性
变量的灵活运用使得makefile具有扩展性
规模较小的项目没必要使用自动生成依赖关系的解决方案
规模较小的项目可以直接让源文件依赖于头文件(易于维护)
转载于:https://www.cnblogs.com/hoiday/p/9265766.html
第19课 - 路径搜索的综合示例相关推荐
- QT综合示例:QT串口通信
QT综合示例:QT串口通信 0.界面: 1.代码: 如果用qt写程序作为上位机,然后通过和usb和下位机通信的时候,就需要用到qt中的串口通信了. 0.界面: 1.代码: 1).pro 添加: QT ...
- 传感器(7)加速传感器,重力传感器,邻近传感器,光线传感器 综合示例
综合示例,包含: //加速传感器 //重力传感器 //邻近传感器 //光线传感器 1 import android.app.Activity; 2 import android.hardware.Se ...
- 模板数据tornado开发学习之2.输入输出,数据库操作,内置模板,综合示例
最近用应开辟的过程中现出了一个小题问,趁便记载一下原因和方法--模板数据 用应python境环中的tornado行进web开辟上篇已决解了urlmap和基本行运机制的题问.接下来行进web程编就是一下 ...
- 实验三 综合示例设计与开发-“天气预报服务”软件
实验三 综合示例设计与开发-"天气预报服务"软件 一.实验目的 (1)理解Android 软件开发从准备策划工作开始到软件发布全过程: (2)掌握使用多种组件进行Android程序 ...
- make--变量与函数的综合示例 自动生成依赖关系
一.变量与函数的示例 示例的要求 1.自动生成target文件夹存放可执行文件 2.自动生成objs文件夹存放编译生成的目标文件 3.支持调试版本的编译选项 4.考虑代码的扩展性 完成该示例所需的 1 ...
- C结构体工具DirectStruct(综合示例二)
2019独角兽企业重金招聘Python工程师标准>>> C结构体工具DirectStruct(综合示例二) 1.编写定义文件,用工具dsc处理之,自动生成XML转换代码和ESQL代码 ...
- QT+Halcon综合示例:clip回形针2D位姿检测
QT+Halcon综合示例(一):clip回形针2D位姿检测 0.halcon源码: 1.Qt代码: 2.运行结果: 下载:clip回形针2D位姿检测 0.halcon源码: * clip.hdev: ...
- QT+OpenCV综合示例:图像混合(滑动条)
QT+OpenCV综合示例:图像混合(滑动条) 1.代码: 2.运行结果: 0)Widget_op.ui (界面文件)设计: 1.代码: 1)opencv_imwrite_Q.pro 添加: INCL ...
- QT+OpenCV综合示例:载入、读取图片
QT+OpenCV综合示例:载入.读取图片 1.代码: 2.运行结果: 下载1 GitHub: 下载2 1.代码: 1)opencv_imwrite_Q.pro 添加: INCLUDEPATH+= D ...
最新文章
- 制度缺陷,美国96%受访公司的人工智能项目陷于停顿,难怪封堵
- 惨烈!程序员放弃了 Python!?发生了啥?
- 将decimal类型的数据转成2.12这样价钱的显示方式
- d3.js 入门指南 - 仪表盘
- 图的广度优先算法+遍历
- mysql用户和权限备份_备份MySQL用户和权限
- mysql 生明变量_mysql中变量的使用
- 【毕业答辩】学位论文答辩ppt指南!
- try-catch lasterr
- Datawhale 零基础入门数据挖掘-Task4 建模调参
- java递归算法的实例最细讲解
- 电容电感充放电时间计算
- VS2017离线安装过程及下载缓慢处理(项目打包部署)
- 办公软件excel表格_EXCEL表格模板下载推荐?办公资源网优质海量素材资源免费下载...
- 各位大佬,Spark的重点难点系列暂时更新完毕
- Rayman的绝顶之路——Leetcode每日一题打卡16
- scala的交互式图表工具wisp
- 按“Win+E”键出现【找不到应用程序】或【explore.exe找不到】的解决方法
- 笔记本硬盘重装系统后只有一个盘的数据恢复方法
- ★电车难题的n个坑爹变种
热门文章
- 64bit centos 如何通过yum安装32bit的程序
- 谈谈我国电子商务中的安全问题
- JS 表单、表单验证(表单判断、get、post、submit、validity、checkValidity)
- recipe for target 'aclocal.m4' failed
- EOSIO:EOSIO最新版1.4.0创建测试账户
- Android WebView注入js文件,判断当前HTML有没有某个js然后再注入
- golang——strconv包常用函数
- 如何执行字符串的PHP代码
- Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)
- [转载]android一些、面试题