多行定义与三星EMMC参考设计详解
需积分: 12 161 浏览量
更新于2024-08-07
收藏 2.02MB PDF 举报
本文主要介绍了在三星EMMC参考设计中关于多行定义(multiple-line definition)的使用方法,特别是在GNU Makefile语言中的应用。多行定义是通过`define`指令实现的,它允许用户定义一个包含多行字符串的变量,这些变量可以被用作命令包,通过`eval`函数进行参数传递。这种定义方式与使用`=`定义变量的不同之处在于,`define`定义的变量属于递归展开类型,其值中的变量引用会在变量被展开时同时进行替换。
1. **语法格式**:
- `define`关键字开始,后跟变量名,空格分隔,接着是多行文本直到遇到`endef`结束。例如:
```
define two-lines
echo foo
echo $(bar)
endef
```
- 当使用这个变量作为命令包时,会将其展开为一行内的多个命令,用分号分隔,如`two-lines = echo foo; echo $(bar)`。
2. **变量风格**:
- 类似于使用`=`定义的变量,`define`定义的变量也支持递归展开,即在变量值中引用其他变量或函数时,展开会推迟到实际执行时。
3. **嵌套引用**:
- 因为递归展开,`$(x)`在嵌套引用中会被视为变量值的一部分。
4. **特殊符号处理**:
- 变量值可以包含换行符和空格,但需注意,如果定义中某行以Tab字符开头,这部分会被当作命令行处理。
5. **`override`声明变量**:
- 提供了`override`选项可以在定义时覆盖已有变量的值,避免命令行指定的值影响到定义。
文章还提到了与`GNU Make`相关的其他内容,如Makefile的基本结构、规则的编写、依赖管理、通配符的使用、目录搜索、特殊目标(如伪目标、强制目标、空目标文件等)、多目标和双冒号规则等。这些都是在编写和理解Makefile时必不可少的概念,对于管理和自动化构建流程非常关键。理解这些概念有助于编写更高效、灵活的Makefile,从而有效地管理代码编译和构建过程。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-07-08 上传
2019-01-16 上传
2018-08-06 上传
106 浏览量
2023-03-20 上传
赵guo栋
- 粉丝: 43
- 资源: 3816
最新资源
- MyEclipse_Hibernate_Quickstart
- 温度智能调节控制仪器源程序.doc
- Groovy经典入门.pdf
- Manning.ASP.NET.AJAX.in.Action
- SQL语句教程的PDF格式文档
- MyEclipse_EJB_Project_Quickstart
- MyEclipse_Database_Explorer_Quickstart
- PERL编程24学时教程\013.PDF
- PERL编程24学时教程\012.PDF
- MyEclipse_Bugzilla_Quickstart
- PERL编程24学时教程\011.PDF
- PERL编程24学时教程\010.PDF
- PERL编程24学时教程\009.PDF
- PERL编程24学时教程\008.PDF
- PERL编程24学时教程\007.PDF
- MyEclipse_Application_Server_Quickstart