网站首页 > 教程分享 正文
前言:
有的时候我们需要多种配置,在敲代码的时候我们设定好各种配置,然后根据我们的需要配置一个开关,在源代码级别去修改配置开关让程序编译出不同的效果。
常见的条件编译
1、#if #else #elif #endif
2、#ifdef #endif
如下例子就是通过是否定义宏DEBUG来控制控制台是否打印
#include
#define DEBUG
#ifdef DEBUG
#define debug(x) printf(x)
#else
#define debug(x)
#endif
int main(void)
{
debug("this is a debug info.\r\n");
return 0;
}
#ifndef #define 和#endif 这种类型的条件编译一般用在头文件中用来防止头文件重复包含.
#ifndef __DEMO_H__
#define __DEMO_H__
int my_add(int x,int y);
#endif
获取相关代码方式
猜你喜欢
- 2025-04-08 提高代码质量的小技巧(提高代码效率的方法)
- 2025-04-08 C语言宏操作符使用技巧:巧用 `#` 与 `##` 提升开发效率
- 2025-04-08 gcc编译器编译过程和链接过程(gcc编译器工作流程)
- 2025-04-08 Java 语法糖详解(java基本语法大全)
- 2025-04-08 C语言#if、##ifdef、#ifndef的用法详解,C语言条件编译详解
- 2025-04-08 C语言之头文件(.h)(c语言头文件怎么写最好举个例子)
- 2025-04-08 C++编译预处理:揭秘编译背后的魔法
- 2025-04-08 详解C语言中的#define、#undef、#indef、#ifndef#if,#elif等
- 2025-04-08 C语言编译过程(C语言编译过程示意图)
- 2025-04-08 C++开发:源码编译过程(c++源码解读)
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)