AC米兰·(中文)官方网站-2026 World Cup

【Green Hills】GHS如何在工程配置中进行宏定义

1、 文档目标

解决Green Hills中想要通过全局的宏定义对于代码进行版本控制。


2、 问题场景

在工程中会存在因为不同的项目版本或者外设选型不同,对于同一个功能存在多个版本的实现。那么对于这个功能具体使能哪个版本一般会使用宏定义的方式去做使能与失能。那么少数的代码功能实现版本控制,可以直接在源文件或者对应的头文件中做宏定义开关。如果涉及到功能比较多的情况下,就需要使用在工程配置进行定义宏来对于控制,这样也方便对于代码的版本管理。


3、软硬件环境

1)、软件版本:MULTI 8.1.4,Compiler 2023.1.4 Final Release for Embedded ARM

2)、电脑环境:Windows 11

3)、外设硬件:无


4、解决方法

1)、在build options中的Preprocessor->Define Preprocessor Symbol中可以进行宏定义。在Define Preprocessor Symbol配置窗口,在输入框中输入宏定义的变量名和值。例如:test_macro = 1(如图4-1)


图4-1


2)、也可以在工程文件中直接用“-D”参数直接编写。(如图4-2)


图4-2


3)、如果在Define Preprocessor Symbol配置窗口中输入框中,只定义宏,不赋值的话,默认宏的值等于1。


4)、如果想取消宏定义,也可以在build options中的Preprocessor->Undefine Preprocessor Symbol中进行取消宏定义的操作。该配置等同于语法“#undef”。(如图4-3)


图4-3

XML 地图