news 2026/7/6 4:44:33

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 9:36:47

改稿速度拉满!好评如潮的AI论文网站 —— 千笔·专业论文写作工具

你是否曾为论文选题发愁,反复修改却总不满意?面对海量文献无从下手,格式错误、查重率高、AI检测不通过……这些论文写作中的“拦路虎”是否让你倍感压力?别再让这些问题影响你的学术之路。千笔AI,专为学生打造的智能论…

作者头像 李华
网站建设 2026/7/1 20:22:27

百考通AI:智能任务书生成,让学术与项目规划更专业高效!

在学术研究与项目管理的征途中,任务书是明确研究方向、规划实施路径的核心文件。无论是毕业设计、科研项目还是企业创新,一份高质量的任务书不仅关系到项目的顺利开展,更是衡量研究者专业素养的重要标尺。然而,面对严谨的学术规范…

作者头像 李华
网站建设 2026/7/4 14:56:41

java+vue基于springboot智能水产养殖管理系统_1z11jbg7

目录 技术架构核心功能模块数据分析与可视化系统特色 开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 技术架构 该智能水产养殖管理系统采用前后端分离架构,前端基于Vue.js框架开发,后端使用Spring Boo…

作者头像 李华
网站建设 2026/7/1 9:36:52

Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响

一、静态注册对广播接收器实例创建的影响 1、基本介绍 静态注册的广播接收器,每次发送广播,都会新建一个广播接收器实例 2、演示 (1)Receiver TestReceiver.java public class TestReceiver extends BroadcastReceiver {pub…

作者头像 李华