条件编译#define、#undef、#if、#elif、#elif defined、#elif !defined 、#endif用法
来源:互联网 发布:淘宝海淘被税了怎么办 编辑:程序博客网 时间:2024/06/11 23:27
条件编译
上代码
// what is the fucking shit.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <Windows.h>#define VERSION_XZM 1#define VERSION_HAERBIN _T("哈尔滨\n")#define VERSION_TIANJIN _T("天津\n")#define VERSION_SHAGNHAI _T("上海\n")// //////////////////////////////////////////////////////////////////////////#define VERSION_01#define VERSION_02#define VERSION_03#define VERSION_04#define VERSION_05// undef//////////////////////////////////////////////////////////////////////////#undef VERSION_01#undef VERSION_02#undef VERSION_03#undef VERSION_04#undef VERSION_05int _tmain(int argc, _TCHAR* argv[]){int year = 2018 ;#if VERSION_XZM == 1OutputDebugString(_T("已定义--版本1\n"));#elif VERSION_XZM == 2OutputDebugString(_T("已定义--版本2\n"));#elif VERSION_XZM == 3OutputDebugString(_T("已定义--版本3\n"));#elif VERSION_XZM == 4OutputDebugString(_T("已定义--版本4\n"));#elif VERSION_XZM == 5OutputDebugString(_T("已定义--版本5\n"));#endif#ifdef VERSION_HAERBIN // #if defined VERSION_HAERBINOutputDebugString(VERSION_HAERBIN);#elif defined VERSION_TIANJINOutputDebugString(VERSION_TIANJIN);#elif defined VERSION_SHAGNHAIOutputDebugString(VERSION_SHAGNHAI);#endif#ifndef VERSION_HAERBINOutputDebugString(VERSION_HAERBIN);#elif defined VERSION_TIANJINOutputDebugString(VERSION_TIANJIN);#elif defined VERSION_SHAGNHAIOutputDebugString(VERSION_SHAGNHAI);#endif#if defined VERSION_01OutputDebugString(_T("已定义--版本01\n"));#elif defined VERSION_02OutputDebugString(_T("已定义--版本02\n"));#elif (!defined VERSION_03) || (!defined VERSION_04)OutputDebugString(_T("未定义--版本03和版本04\n"));#elif !defined VERSION_05OutputDebugString(_T("未定义--版本05\n"));#endifreturn 0;}上图
1.#ifdefVERSION_HAERBIN 和 #if definedVERSION_HAERBIN的功能是一样的
2.#ifdef VERSION_HAERBIN如果定义了VERSION_HAERBIN宏,则
3.#ifVERSION_XZM == 1 如果VERSION_XZM 的值等于1则执行
4.#elif defined VERSION_TIANJIN否则,如果定义了VERSION_TIANJIN宏,则
5.#elif (!definedVERSION_03) || (!definedVERSION_04)否则,如果即没定义VERSION_03也没定义VERSION_04,则
6.#endif结束条件编译
7.如果条件刚开始成立了,就直接结束了
#if
#elif
#elif
#endif
8.忘记了#else了,哈哈
接下来应该记录一些常用的宏定义才是,下篇再说
阅读全文
0 0
- 条件编译#define、#undef、#if、#elif、#elif defined、#elif !defined 、#endif用法
- #error/#if defined() && defined() /#elif /#else /#endif
- #if define #if !define #elif defined
- #if define #if !define #elif defined
- C语言的条件编译 #if #elif #endif #ifndef #define
- 条件编译 #if, #elif, #else, #endif
- #if, #if defined, #ifdef, #ifndef, #elif, #else, #endif 使用
- #if #elif #endif 的使用--------条件编译(conditional compilation)
- C# 中的#if、#elif、#else、#endif等条件编译符号
- C# 中的#if、#elif、#else、#endif等条件编译符号
- C 宏 #ifdef AAA #elif defined BBB #elif defined CCC ......#endif
- #if, #elif, #else和#endif
- #if, #elif, #else, #endif 使用
- #if, #elif, #else, #endif 使用
- #if #elif #endif的使用
- #if, #elif, #else, #endif 使用
- #if, #elif, #else, #endif 使用
- #if, #elif, #else, #endif 使用
- android NDK使用详解
- keras系列︱人脸表情分类与识别:opencv人脸检测+Keras情绪分类(四)
- MyBatis动态SQL
- Android 开发之 TabLayout + ViewPager 的使用
- iOS CocoaPods安装和使用图解
- 条件编译#define、#undef、#if、#elif、#elif defined、#elif !defined 、#endif用法
- 关于Unity图形渲染的性能优化
- Android View的事件分发机制和滑动冲突解决方案
- windows 8 安装oracle 12c dbca创建数据库报错创建服务出错
- 网络编程之socket
- openstack镜像服务(glance)
- keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)
- cocos 3.10 new 一个 listview 不能直接调用jumpToBottom
- Linux下安装任意版本的tensorflow命令