理解Makefile中的'+='操作符与变量追加
需积分: 34 37 浏览量
更新于2024-08-10
收藏 1.45MB PDF 举报
"这篇文档是关于STC8H系列单片机的技术参考手册,主要讨论了在编程过程中如何追加变量值,特别是在Makefile中的应用。文档提到了使用'='和'+='操作符的区别,并解释了这两种操作符在简单和复杂Makefile中的不同行为。此外,还介绍了GNU Make的基本概念和用法,包括Makefile的结构、规则、变量的设定以及自动推导规则等内容。文档由徐海兵翻译整理,日期为2004年9月11日。"
在STC8H系列单片机编程中,追加变量值是一个常见的操作。在Makefile中,这通过“+=”操作符实现。当使用“+=”追加变量值时,新值会被添加到变量的原始值后面,用空格分隔。例如,`objects += another.o` 将"another.o"添加到"objects"变量的值中。初始值如`objects = main.o foo.o bar.o utils.o`,追加后,"objects"的值变为`"main.o foo.o bar.o utils.o another.o"`。
"="和"+="在Makefile中的使用有微妙的差别:
1. 如果变量未定义,"+="会等同于"=",创建一个递归展开的变量。如果变量已经定义,"+="则保持其原有定义类型(可以参考6.2章节关于两种变量定义)。
2. 对于直接展开式变量(使用"=:定义的变量),"+="会在执行前替换并展开变量的当前值,然后在末尾追加新值,并用"="重新赋值。
GNU Make是一个强大的自动化构建工具,用于编译程序和管理项目。在介绍中,提到了Makefile的基本元素,如目标、依赖关系、变量设置、自动规则推导等。Makefile可以包含规则来指定如何从源文件生成目标文件,以及何时需要重新生成这些目标。规则的语法包括目标、依赖项和命令,其中依赖项可以使用通配符进行匹配,而目录搜索功能允许在多个路径中查找依赖文件。
此外,文档还涵盖了Makefile的一些高级特性,如伪目标、强制目标、空目标文件、特殊目标、多目标规则、静态模式规则等。这些特性使Makefile更加灵活,能处理各种复杂的构建需求。例如,静态模式规则允许用户自定义和扩展隐含规则,提高代码复用和效率。
这篇文档深入探讨了在STC8H单片机编程中如何有效地管理和追加变量值,并全面介绍了GNU Make的工作原理和使用技巧,对于编写和理解Makefile具有重要的指导价值。
104 浏览量
110 浏览量
2024-10-24 上传
2024-10-24 上传
2024-10-24 上传
2024-10-24 上传
2024-10-24 上传
七231fsda月
- 粉丝: 31
- 资源: 3992
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手