条件编译的例子
#include <stdio.h> #include <stdlib.h> int main() { #if _WIN64 system("color 0c"); printf("Hello World!"); #elif __linux__ printf("\033[22;31mHello World!\n\\033[22;30m\\"); #else printf("Hello World!"); #endif return 0; } #include <stdio.h> int main() { #if _WIN64 printf("This is Windows!\n"); #else printf("Unknown platform!\n"); #endif #if __linux__ printf("This is Linux!\n"); #endif return 0; }使用#ifdef判断宏是否被编译过,与之对应的还有一个#ifndef表示如果没有被定义的话、
#include <stdio.h> #include <stdlib.h> int main(){ #ifdef _DEBUG printf("正在使用 Debug 模式编译程序...\n"); #else printf("正在使用 Release 模式编译程序...\n"); #endif system("pause"); return 0; }#if后面接的是整形常量表达式,而#ifdef后面只能接宏名
又由于自己可以定义宏,自然而然的自己就可以配置出自己的项目的条件编译。
四,一点建议用的多的函数放在.h头文件中定义声明。
尽量不要在.h头文件中设置全局变量,或者静态全局变量。
在.h头文件中使用条件编译控制项目的编译,简化代码书写成本。