社区
C++ 语言
帖子详情
#pragma once是什么意思
yeahchang
2004-01-19 09:43:03
(1)#pragma once是什么意思?
(2)#pragma once是否等价于:
#ifndef A_H
#define A_H
...//Here is code.
#endif
...全文
1536
6
打赏
收藏
#pragma once是什么意思
(1)#pragma once是什么意思? (2)#pragma once是否等价于: #ifndef A_H #define A_H ...//Here is code. #endif
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fireseed
2004-01-20
打赏
举报
回复
使用#pragma once虽然方便,但将导致代码移植性变差,因为只有VC的编译器能认
yeahchang
2004-01-20
打赏
举报
回复
To mmosquito(): 您是指:#include "zlib.h"和#include <zlib.h>时,应分别选用pragma once和ifndef define endif对吗??
yeahchang
2004-01-20
打赏
举报
回复
To mmosquito(): 对于“公有或者接口的文件”的这个例子您能再具体化些吗?
byyyyy
2004-01-19
打赏
举报
回复
Specifies that the file, in which the pragma resides, will be included (opened) only once by the compiler in a build. A common use for this pragma is the following:
//header.h
#pragma once
// Your C or C++ code would follow:
mmosquito
2004-01-19
打赏
举报
回复
以前写的,翻出来看看
在vc6的时代头文件一般使用ifndef define endif
在vc7的时代头文件一般成了pragma once
不知道有没有人深究其中的意义
为什么有这样的代码,是为了头文件不被重复引用,那样编译器抱错的,这两种方法都是同样的目的,有没有区别呢?
还是举例来说明,可能有好几个库,每个库内部可能都有public.h这个文件,如果使用
ifndef public_h
define public_h
...
endif
那么当一个文件同时引用两个这样的库时,后一个库里的文件就不被编译了,而pragma once可以保证文件只被编译一次
看起来pragma once比ifndef define endif要好,那么ifndef define endif
的地方都pragma once好了。今天碰到了又一个例子,比如你有一个zlib.h在几个库都用到,而为了方便,把zlib每个目录下copy了一分,因为这个文件不会作修改,已经很完整了,这个时候如果使用pragma once,就会重复定义,看来ifndef define endif还是又派上用场的地方。
所以对于公有或者接口的文件,使用ifndef define endif,对于内部的文件使用pragma once.
呵呵,你压根儿用不着是吧,当我没说过。
lifanxi
2004-01-19
打赏
举报
回复
查查MSDN就知道。
正像您说的,两者的功能是一致的。
#
pragma
once用法
详细介绍#
pragma
once用法,对于初学者可以学习一下
头文件免费下载
#
pragma
once #endif // _MSC_VER > 1000 // TODO: reference additional headers your program requires here //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations ...
#
pragma
once 是
什么意思
?
和头文件中用 #ifndef A_H #define A_H ...//Here ... 包含
pragma
once语句的文件只会被编译一次。 表示在编译的时候, 这个文件只被包含(include)一次,这样, 可以减少整个编译过程中打开这个文件的次数. ...
#
pragma
once 与 #define的含义及用法
#
pragma
once 与 #define#
pragma
once的含义及用法#define的含义及用法 #
pragma
once的含义及用法 #
pragma
once是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。 用法...
【为什么】C++中的#
pragma
once是干什么,和#include guard区别
#
pragma
once是C和C++编程语言中的一个非标准但广泛支持的预处理指令,用于使当前源文件在单次编译中只被包含一次。它与#include guards有相同的作用,但有一些优点,如:代码更少,避免名称冲突,有时可以提高编译...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章