C/C++ 条件编译 #ifdef

ChatGPT 3.5 国内中文镜像站免费使用啦

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 面向对象

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 设计模式

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ STL

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 技术杂谈

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 常用函数


一.条件编译#ifdef简介

最常见的条件编译 #ifdef 是防止重复包含头文件的宏,形式跟下面代码类似:

#ifndef ABCD_H
#define ABCD_H
 
// ... some declaration codes

#endif // #ifndef ABCD_H

二.条件编译常用的预编译指令

#undef            取消宏的定义

#define            定义一个预处理宏

#if                   编译预处理中的条件命令,相当于 C 语法中的 if 语句

#ifdef              判断某个宏是否被定义,若已定义,执行随后的语句

#ifndef            与 #ifdef 相反,判断某个宏是否未被定义

#elif                若 #if , #ifdef , #ifndef 或前面的 #elif 条件不满足,则执行 #elif之后的语句,相当于C 语法中的 else – if

#else              与 #if, #ifdef , #ifndef 对应, 若这些条件不满足,则执行 #else 之后的语句,相当于 C 语法中的 else

#endif             #if, #ifdef, #ifndef 这些条件命令的结束标志.

defined          与 #if, #elif 配合使用,判断某个宏是否被定义


三.条件编译#ifdef使用

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C/C++ 条件编译 #ifdef
//@Time:2021/12/19 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include <stdio.h>

int main()
{
#ifdef _WINDWOS  //windows 平台
	printf("this is windows\n");
#elif ANDROID	 //android 平台
	printf("this is android\n");
#elif __APPLE__  //mac 平台
	printf("this is mac\n");
#else
	printf("this is other\n");
#endif
   return 0;
}

四.猜你喜欢

  1. C语言 数组下标越界和内存溢出区别
  2. C语言 使用指针遍历数组
  3. C语言 指针和数组区别
  4. C语言 指针数组和数组指针区别
  5. C语言 野指针
  6. C语言 函数值传递和址传递
  7. C语言 函数不定长参数
  8. C语言 函数指针
  9. C语言 指针函数
  10. C语言 回调函数 callback
  11. C语言 #pragma once
  12. C语言 #include <> 与 #include “” 区别
  13. C语言 const 修饰函数参数
  14. C语言 const 和 define 区别
  15. C语言 va_start / va_end / va_arg 自定义 printf 函数
  16. C语言 main 函数参数 main(int argc, char *argv[])
  17. C语言 结构体struct简介(一)
  18. C语言 结构体struct定义和使用(二)
  19. C语言 结构体struct数组(三)
  20. C语言 结构体struct指针(四)
  21. C语言 结构体struct成员函数(五)
  22. C语言 结构体struct嵌套(六)
  23. C语言 结构体struct值传递和址传递(七)
  24. C/C++ error: cannot assign to non-static data member within const member function ‘xxxx’
  25. C++ 关于类中 const 的使用
  26. C/C++ =delete
  27. C/C++ 条件编译 #ifdef

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容