C语言头文件到底是什么? (2)

条件编译的例子

#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头文件中使用条件编译控制项目的编译,简化代码书写成本。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfxsx.html