C 预处理命令总结笔记

C语言预处理条件编译命令总结

指令 说明
#include 包含一个源代码文件
#define 定义宏
#undef 取消已定义的宏
#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个条件编译块(包括 #if、#ifdef、#ifndef)
#error 强制编译程序停止编译
#line 用于改变 __LINE__和__FILE__的内容
_WIN32 Windows 有专有的宏
_LINUX _ LINUX 有专有的宏
_FILE _ 文件名,和#line配合使用
_LINE _ 行数,和#line配合使用

简单示例

1、#if/#else(判断是linux还是windows编译)
    #include <stdio.h>
    int main(){
    
    
        #if _WIN32
       		printf("Hello Windows\n");
       	#elif __linux__
	        printf("Hello Linux\n");
   		#else
       	 	printf("呸,啥也不是\n");
    	#endif
        return 0;
    }
2、#error(在main函数之前执行)
	#ifndef __cplusplus
	#error sorry,not c
	#endif
	#include <stdio.h>
	int main()
	{
    
    
		printf("Hello,World!");
		return 0;
	}
3、#line(FILE , LINE 是双下划线)
	#include <stdio.h>
  	#line 100 "test.c"                     //设置行计数
	int main()                             // line 100
	{
    
                                          // line 101
		printf("%s,;line:%d\n",__FILE__,__LINE__);       // line102
		return 0;
	}

(待补充)

おすすめ

転載: blog.csdn.net/weixin_49101726/article/details/119248364