news 2026/4/17 20:13:32

【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/4/14 15:48:44

软件架构设计:从理论到实践的深度指南

软件架构设计:从理论到实践的深度指南 在数字时代,架构设计已不再是简单的“画框图”,而是在复杂约束下寻找平衡的艺术。本文旨在为你提供一套从认知、原则到前沿模式的完整知识体系。 一、 架构设计的核心认知 1.1 什么是软件架构&#xff1…

作者头像 李华
网站建设 2026/3/11 17:05:33

智能进化的范式:从静态规划到动态演进的架构重塑

智能进化的范式:从静态规划到动态演进的架构重塑 在数字化浪潮的深水区,系统架构正经历从“工业文明的蓝图式规划”向“数字文明的有机体演进”的历史性跳跃。传统的静态架构设计因其滞后性,已难以应对业务复杂度的爆炸式增长。 一、 认知升维…

作者头像 李华
网站建设 2026/4/18 7:23:59

百考通AI:智能实践报告生成,让实习成果展示更专业高效!

在高校教育体系中,实践报告是连接理论学习与职业发展的关键桥梁。无论是专业实习、社会实践还是毕业实习,一份高质量的实践报告不仅关系到学分获取,更是展示个人能力、积累职业经验的重要载体。然而,面对格式规范、内容要求、字数…

作者头像 李华
网站建设 2026/4/18 8:30:51

基于ruoyi若依开发IOT物联网平台

物联网平台 - Thinglinks-iot ## 🌟 项目简介 一个功能完备、高可扩展的物联网平台,用最少的代码接入设备,基于Ruoyi-vue框架,支持Mysql和pgsql双版本,集成mybatis-plus,集成TCP、MQTT、UDP、CoAP、HTTP、…

作者头像 李华
网站建设 2026/4/12 5:21:35

『n8n』让AI长记性

点赞 关注 收藏 学会了 整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》 在 n8n 中 AI Agent 默认只停留在“一次性交互”的层面。你问它一个问题,它精准回应,可当你接着上一个话题追问,或是隔一…

作者头像 李华
网站建设 2026/4/18 8:27:26

源码全开源无加密:自主可控的企业培训考试平台源码

温馨提示:文末有资源获取方式数据安全和个性化需求日益成为企业选择软件系统的关键因素。我们的企业培训考试系统源码,以开源无加密为特色,为企业提供了一个安全、自主可控的学习平台解决方案。这款系统不仅功能齐全,还强调技术开…

作者头像 李华