看了一个程序时,突然想到了这个问题,在网上搜了一下,发现还是wiki写的比较易懂,记录一下备忘。。。
-
目的:让所在的文件或者代码段在一个单独的编译中只被包含一次
-
区别:
#pragma once针对的是一个文件,且相对效率更高,加快编译的速度,属于编译器特性,故兼容性不好,某些编译器不支持。
、
#ifndef....#endif针对的是一个代码段,相对效率较低,因为需要进行一次判断,可能涉及查找其他的文件之类的操作,故相对效率较低,但其受C/C++语言标准支持,兼容性较好。
看了一个程序时,突然想到了这个问题,在网上搜了一下,发现还是wiki写的比较易懂,记录一下备忘。。。
目的:让所在的文件或者代码段在一个单独的编译中只被包含一次
区别:
#pragma once针对的是一个文件,且相对效率更高,加快编译的速度,属于编译器特性,故兼容性不好,某些编译器不支持。
、
#ifndef....#endif针对的是一个代码段,相对效率较低,因为需要进行一次判断,可能涉及查找其他的文件之类的操作,故相对效率较低,但其受C/C++语言标准支持,兼容性较好。
本文标题:#pragma once与#ifndef
本文链接:https://www.haomeiwen.com/subject/gowqxttx.html
网友评论