C 条件编译

来源:互联网 发布:centos debian 稳定性 编辑:程序博客网 时间:2024/06/13 20:43

(一)条件编译方法
1、#if, #elif, #else, #endif
使用条件编译指令,如果满足#if后面的条件,就编译#if和#endif之间的程序段,否则不编译。

(二)编译此段代码时是否有某个宏通过
#ifdef, #else, #endif或#ifndef, #else, #endif

如果一个C源程序在不同计算机系统上运行,而不同的计算机又有一定的差异。例如,我们有一个数据类型,在Windows平台中,应该使用long类型表示,而在其他平台应该使用float表示,这样往往需要对源程序作必要的修改,这就降低了程序的通用性。可以用以下的条件编译:

#ifdef WINDOWS  #define MYTYPE long #else #define MYTYPE float #end如果在Windows上编译程序,则可以在程序的开始加上 #define WINDOWS 这样则编译下面的命令行: #define MYTYPE long 如果在这组条件编译命令之前曾出现以下命令行:#define WINDOWS 0
void test6(){    #define LINUX 90    #ifdef WINDOWS        printf("WINDOWS1"); //输出占位符位置参数的值        printf("WINDOWS2"); //输出占位符位置参数的值    #endif    #ifdef LINUX        printf("LINUX1"); //输出占位符位置参数的值        printf("LINUX2"); //输出占位符位置参数的值    #endif    #ifdef ANDERDOID        printf("ANDERDOID"); //输出占位符位置参数的值        printf("ANDERDOID2"); //输出占位符位置参数的值    #endif}
原创粉丝点击