预处理指令、宏与条件编译

在 C/C++ 的项目当中,为了同一套代码满足不同的要求,我们往往需要一些信息来对代码进行复用

  • 当前系统是Windows/MacOs/Linux
  • 当前的编译器类型
  • 当前编译器使用的语言标准 C99/C11/C17。
  • 当前的编译模式。Debug/Release。程序的 Release 版并不需要 Debug 版中的某些函数
  • 自定义的预处理器符号

只要充分利用预处理器指令、宏和条件编译,可以使用一套代码,多个输出,实现“一鱼多吃”。

C/C++

C/C++ 预处理器参考

__STDC_VERSION__ 打印当前使用的c语言标准

How can I know the version of c - Stack Overflow

C#

不同于 C 和 C++ 指令,不能使用这些指令来创建宏。 预处理器指令必须是一行中唯一的说明。

C# 预处理器指令

Python

常见问题

终于!C++ 预处理命令知识梳理,这些你都学会了吗? C语言–条件编译(常见的编译指令)-CSDN博客 CCPP 条件编译判断系统类型_ifdef win32-CSDN博客 C语言宏定义+条件编译_条件宏定义-CSDN博客