news 2026/8/2 4:05:40

C语言 条件编译宏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言 条件编译宏

一、具体代码与分析如下

#include <stdio.h> /* 1.C语言的条件编译宏是预处理阶段的指令,用于根据指定条件决定代码段是否参与编译; 2.#ifdef MACRO/#endif:判断 MACRO 是否被#define定义; 3.#ifndef MACRO/#endif:判断 MACRO 是否未被定义; 4.#if/#elif/#else/#endif:判断常量表达式是否为真; 5.#if defined(MACRO):结合#if和定义判断。 */ int main() { /*********************************/ #undef DEBUG #define DEBUG #ifdef DEBUG printf("#define DEBUG 输出\n"); #endif //结束条件编译块,是必备的闭合指令 /*********************************/ #undef DEBUG1 #ifndef DEBUG1 printf("#undef DEBUG1 输出\n"); #endif //结束条件编译块,是必备的闭合指令 /*********************************/ #define PLATFORM 3 //#undef PLATFORM #if PLATFORM == 1 #define OS "Linux" #elif PLATFORM == 2 #define OS "Windows" #elif PLATFORM == 3 #define OS "macOS" #else #define OS "Unknown" #endif /* #define PLATFORM 1 输出OS为:"Linux" #define PLATFORM 2 输出OS为:"Windows" #define PLATFORM 3 输出OS为:"macOS" 都不定义 输出OS为:"Unknown" */ printf("OS:%s\n",OS); /*********************************/ //#define ARMv7 #define ARMv8 #if defined(ARMv7) || defined(ARMv8) #define HAS_CAN 1 #define HAS_ETH 1 #elif defined(x86) #define HAS_CAN 0 #define HAS_ETH 0 #endif /* #define ARMv7 或 #define ARMv8输出OS为:"HAS_CAN:1,HAS_ETH:1" #define x86 输出OS为:"HAS_CAN:0,HAS_ETH:0" 都不定义 输出OS为:"Unknown" */ printf("HAS_CAN:%d,HAS_ETH:%d\n", HAS_CAN, HAS_ETH); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 3:09:18

基于SpringBoot的考编论坛网站毕业设计源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于SpringBoot框架的考编论坛网站&#xff0c;以实现以下研究目的&#xff1a; 首先&#xff0c;通过设计并实现一个功能完善的考编论坛网站…

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

干货满满!大数据流处理的数据清洗技巧

干货满满&#xff01;大数据流处理的数据清洗技巧&#xff1a;从“流水质检”到“智能提纯” 一、引入与连接&#xff1a;当“流水”变“乱流”&#xff0c;你需要实时“治水” 清晨7点&#xff0c;某电商平台的实时推荐系统突然“抽风”——给用户推送了10条“婴儿奶粉”广告&…

作者头像 李华
网站建设 2026/8/1 0:16:44

基于SpringBoot的仓库管理系统毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的仓库管理系统&#xff0c;以满足现代企业对高效、可靠、易用的仓库管理解决方案的需求。具体研究目的如下&#x…

作者头像 李华
网站建设 2026/7/30 8:41:12

HY-MT1.5如何接入现有系统?API接口调用实战教程

HY-MT1.5如何接入现有系统&#xff1f;API接口调用实战教程 1. 引言&#xff1a;为什么选择HY-MT1.5进行翻译集成&#xff1f; 随着全球化业务的不断扩展&#xff0c;多语言实时翻译能力已成为企业出海、内容本地化和跨语言沟通的核心需求。传统商业翻译API&#xff08;如Goog…

作者头像 李华
网站建设 2026/7/31 7:33:45

Fine-tuning十年演进(2015–2025)

Fine-tuning十年演进&#xff08;2015–2025&#xff09; 一句话总论&#xff1a; 2015年Fine-tuning还是“全参数手工微调小样本监督学习”的粗暴时代&#xff0c;2025年已进化成“端到端VLA意图级自适应微调量子鲁棒零样本亿级在线自进化全域具身知识统一”的普惠智能时代&am…

作者头像 李华
网站建设 2026/7/31 8:50:49

Agent十年演进(2015–2025)

Agent十年演进&#xff08;2015–2025&#xff09; 一句话总论&#xff1a; 2015年Agent还是“规则脚本单一任务执行器”的工具时代&#xff0c;2025年已进化成“万亿级多模态VLA具身智能Agent实时意图级自进化量子鲁棒社交协作全域自主决策伙伴”的通用智能物种&#xff0c;中…

作者头像 李华