C语言头文件避免重复包含,pragma once和#ifndef的区别
展开全部
1) #pragma once用来防止某个头文件被多次include,
#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。
2) #ifndef,#define,#endif用来防止某个宏被多次定义。
#ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式
最好看看这篇文章
http://blog.csdn.net/liulina603/article/details/12083723
#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。
2) #ifndef,#define,#endif用来防止某个宏被多次定义。
#ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式
最好看看这篇文章
http://blog.csdn.net/liulina603/article/details/12083723
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询