当前位置: 首页 > news >正文

C语言学习笔记之条件编译

  • 编译器根据条件的真假决定是否编译相关的代码

  • 常见的条件编译有两种方法:

    • 一、根据宏是否定义,其语法如下:

      #ifdef  <macro>
      ……
      #else
      ……
      #endif
      

      例子:

      #include <stdio.h>//def _DEBUG_ //定义_DEBUG_
      int main(int argc, const char *argv[])
      {
      //#ifdnef _DEBUG_	//如果没有定义_DEBUG_,则输出hello world
      #ifdef _DEBUG_	//如果定义了_DEBUG_,则输出hello worldprintf("hello world\n");
      #elseprintf("welcome\n");
      #endifreturn 0;
      }
      
    • 根据宏的值,其语法如下:

      #if  <macro>
      ……
      #else
      ……
      #endif
      

      例子:

      #include <stdio.h>def _DEBUG_ 1	//1为真,执行输出hello world
      //def _DEBUG_ 2    //0为假,执行输出welcome
      int main(int argc, const char *argv[])
      {
      #if _DEBUG_	
      //#if 1	//直接加数字printf("hello world\n");
      #elseprintf("welcome\n");
      #endifreturn 0;
      }
      
http://www.dtcms.com/a/200354.html

相关文章:

  • # idea 中如何将 java 项目打包成 jar 包?
  • 国家互联网信息办公室关于发布第十一批深度合成服务算法备案信息的公告
  • [架构之美]从PDMan一键生成数据库设计文档:Word导出全流程详解(二十)
  • GO语言学习(五)
  • vue3自适应高度超出折叠功能
  • 【操作系统面经】持续更新ing
  • FART 主动调用组件设计和源码分析
  • 程序化 SEO 全攻略:如何高效提升网站排名?
  • Linux 文件(2)
  • 电子电路:什么是静态工作点Q点?
  • 【QT】QT6添加现有.c .h文件
  • QT之绘图模块和双缓冲技术
  • CVE-2015-4553 Dedecms远程写文件
  • 光子神经网络加速器编程范式研究:光子矩阵乘法的误差传播模型构建
  • 力扣HOT100之二叉树:199. 二叉树的右视图
  • Fabric初体验(踩坑笔记)
  • 【盈达科技】AICC™系统:重新定义生成式AI时代的内容竞争力
  • 晶圆Map图芯片选择显示示例
  • 在Cursor中启用WebStorm/IntelliJ风格快捷键
  • v解锁健康密码:现代养生新主张
  • Scala:size 和 length 的区别
  • 什么是子网委派?
  • 计算机网络 第三章:运输层(一)
  • 健康生活指南:从日常细节开启养生之旅
  • 并发编程(5)
  • JAVA请求vllm的api服务报错Unsupported upgrade request、 Invalid HTTP request received.
  • CAN总线采样点不一致的危害
  • chrome因使用selenium无图模式导致不再加载图片问题解决
  • 【Java开发--对象converter转换规范实践】
  • 面试点补充