news 2026/5/1 6:49:35

【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/5/1 6:04:44

利用Simulink验证Dual Extended Kalman Filter(DEKF)

【主题】利用Simulink对Dual Extended Kalman Filter(DEKF)进行验证。 【方式】主卡尔曼滤波器用来估计锂电池的SOC和端电压,辅助卡尔曼滤波器用来估计锂电池的内阻R0。 【电路模型】锂电池采用二阶等效电路模型。 【效果】SOC最大误差为1.07…

作者头像 李华
网站建设 2026/5/1 6:15:50

HoRain云--通过Xshell连接linux——安装tomcat

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华
网站建设 2026/5/1 6:12:47

百考通AI:智能文献综述神器,让学术研究事半功倍!

在学术研究的征途中,文献综述往往是令无数学子"望而生畏"的关键环节。从海量资料中筛选核心文献、梳理研究脉络、规范引用格式,再到确保内容原创性,每一个步骤都耗费大量时间与精力。面对繁重的文献工作,许多学生不得不…

作者头像 李华
网站建设 2026/4/29 7:29:55

传统成果转化困局如何破?生态协同机制助力学术产业双赢

在当今科技飞速发展的时代,高校科研成果的转化已成为推动经济社会发展的重要驱动力。然而,在这一过程中,传统成果转化模式所面临的诸多困局却严重制约了科技成果的有效落地。本文将从传统转化困局出发,探讨生态协同机制如何破解这…

作者头像 李华
网站建设 2026/4/30 22:39:06

Rootless容器的安全优势与限制:在云原生时代重塑容器安全边界

第一部分:开篇明义 —— 定义、价值与目标 定位与价值 在云原生技术栈中,容器已成为应用交付与运行的事实标准。然而,传统的容器运行时(如默认配置的Docker、containerd)长期面临一个根本性的安全悖论:为了…

作者头像 李华
网站建设 2026/4/16 17:11:40

java分支与循环

Java 分支与循环 是 Java 基础语法中最核心的部分,几乎所有程序逻辑都依赖它们。 分支(选择结构)决定“走哪条路”,循环(迭代结构)决定“重复做多少次”。 下面从语法 → 特点 → 使用场景 → 代码示例 →…

作者头像 李华