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; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1140965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

内网渗透中的“眼睛”与“耳朵”:工作组信息收集技术全解析

内网渗透中的“眼睛”与“耳朵”&#xff1a;工作组信息收集技术全解析在授权渗透测试中&#xff0c;高效的信息收集是横向移动的基石。掌握这些命令&#xff0c;你就能像管理员一样“看见”整个系统。前言&#xff1a;为何信息收集如此重要&#xff1f; 在内网渗透测试中&…

GDAL 实现矢量裁剪

前言 ❝ 矢量数据作为数据处理的半壁江山&#xff0c;在日常工作中涉及到多种操作&#xff0c;矢量数据裁剪尤其具有代表性和重要性&#xff0c;是常用操作&#xff0c;核心原理为从指定数据中提取出目标范围。在之前的文章中讲了如何使用GDAL或者ogr2ogr工具将txt以及csv文本数…

至理名言【人生智慧】

做自己认为有价值的事生活中的爱&#xff0c;会让生活变可爱爱不是一种感觉&#xff0c;而是一种决定

基于SpringBoot的足球社区管理系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的足球社区管理系统&#xff0c;以满足足球爱好者在信息交流、赛事组织、社区互动等方面的需求。具体研究目的如下&…

基于SpringCloud的在线交易电商平台毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在深入探讨基于SpringCloud架构的在线交易电商平台的设计与实现&#xff0c;以提升电商平台的性能、可扩展性和稳定性。具体研究目的如下&#xff1a; 首…

基于html5的网上团购系统设计与实现毕业论文+PPT(附源代码+演示视频)

文章目录基于html5的网上团购系统设计与实现一、项目简介&#xff08;源代码在文末&#xff09;1.运行视频2.&#x1f680; 项目技术栈3.✅ 环境要求说明4.包含的文件列表&#xff08;含论文&#xff09;数据库结构与测试用例系统功能结构前台运行截图后台运行截图项目部署源码…

基于SpringBoot的养老院管理系统毕设

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一套基于SpringBoot框架的养老院管理系统&#xff0c;以提升养老院管理效率和服务质量。具体研究目的如下&#xff1a;优化养老院管理流程&…

基于SpringBoot的新能源充电系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在深入探讨基于SpringBoot框架的新能源充电系统的设计与实现&#xff0c;以应对当前新能源汽车产业发展中充电基础设施不足、充电效率低下以及用户体验不…

基于SpringBoot的校园失物招领系统毕设

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的校园失物招领系统&#xff0c;以解决当前校园失物招领过程中存在的诸多问题。具体研究目的如下&#xff1a; 首先…

A.每日一题——1161. 最大层内元素和

题目链接&#xff1a;1161. 最大层内元素和&#xff08;中等&#xff09; 算法原理&#xff1a; 解法&#xff1a;层序遍历 9ms击败53.81% 时间复杂度O(N) 思路很简单&#xff0c;就是层序遍历的同时统计一下每层元素的和&#xff0c;然后利用顺序表找到对应最大值所在层数即可…

亲测好用10个AI论文工具,MBA论文写作必备!

亲测好用10个AI论文工具&#xff0c;MBA论文写作必备&#xff01; AI 工具如何助力论文写作&#xff0c;让研究更高效 在当今快速发展的学术环境中&#xff0c;MBA 学生和科研工作者面临着越来越高的论文写作要求。无论是开题报告、文献综述还是最终的论文撰写&#xff0c;都需…

数据结构————栈

一.栈 1. 栈的的概念 栈是一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素的操作。进行元素插入和删除的一段是栈顶&#xff0c;另一端是栈底。栈中的元素遵从后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#xff1a;栈的插入…

基于Simulink的智能车辆雨天行驶仿真

目录 手把手教你学Simulink 一、引言:为什么“智能汽车需要雨天仿真”? 二、雨天仿真系统架构总览 输入: 输出: 三、关键模型1:降雨强度与路面附着系数 四、关键模型2:传感器性能降级建模 1. 摄像头(视觉) 2. 毫米波雷达 3. 激光雷达(LiDAR) 五、自适应控制…

stm32处理器对中断的响应说明

一、问题 1.stm32处理器每秒能够响应多少次中断&#xff1f; 2.stm32处理器每秒能够响应多少次周期性均匀的中断&#xff1f; 3.如何定量和定性的分析stm32处理器能够在单位每秒时间响应中断的次数呢&#xff1f;二、stm32处理的中断说明 1.需要了解stm32处理器的中断机制 2.需…

教AI学会说“我是小喵“竟然这么神奇?LlamaFactory微调揭秘

当AI也需要"自我介绍"你有没有想过&#xff0c;当你问ChatGPT"你是谁"的时候&#xff0c;它为什么知道自己是由OpenAI开发的&#xff1f;而不是说"我是小度&#xff0c;百度出品"&#xff1f;这就像你教小孩子自我介绍一样——"你好&#x…

基于Simulink的车与行人(V2P)通信仿真(行人预警场景)

目录 手把手教你学Simulink 一、引言:为什么“智能汽车需要V2P”? 二、V2P 系统架构总览 关键组件: 三、BSM-P 消息结构(SAE J2735 扩展) 四、V2P 通信技术选型 五、碰撞风险评估模型 1. 行人预测位置(匀速模型): 2. 车辆预测位置: 3. 最小距离预测: 4. 风…

exe打开应用程序无法启动,因为应用程序的并行配置不正确

问题现象描述&#xff1a;exe打开应用程序无法启动&#xff0c;因为应用程序的并行配置不正确。问题分析&#xff1a;将exe文件放到其他电脑确可以运行&#xff0c;由此确定不是exe问题&#xff0c;而是系统哪里出现问题。然后又随便复制其他exe放有问题电脑上可以打开&#xf…

基于Simulink的智能车辆雨天行驶仿真(感知与控制)

目录 手把手教你学Simulink 一、引言:为什么“智能汽车需要雨天仿真”? 二、雨天仿真系统架构总览 输入: 输出: 三、关键模型1:降雨强度与路面附着系数 四、关键模型2:传感器性能降级建模 1. 摄像头(视觉) 2. 毫米波雷达 3. 激光雷达(LiDAR) 五、自适应控…

华为研究团队突破代码修复瓶颈,8B模型击败32B巨型对手!

这项由华为技术有限公司、南洋理工大学、香港大学和香港中文大学联合完成的突破性研究发表于2026年1月&#xff0c;论文编号为arXiv:2601.01426v1。研究团队通过一种名为SWE-Lego的创新训练方法&#xff0c;让相对较小的8B参数模型在软件代码自动修复任务上的表现超越了许多32B…