#pragma once是什么意思
来源:互联网 发布:大牌车载香薰 知乎 编辑:程序博客网 时间:2024/04/25 20:44
以前写的,翻出来看看
在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.
- #pragma once是什么意思
- #pragma once 是什么意思?
- #pragma once
- pragma once
- #pragma once
- #pragma once
- #pragma once
- pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- pragma once
- Boost有点意思
- linux系统中配置oracle开机自启动
- 博士学位论文与相应公开发表论文之间的关系
- Carbide.c++ 2.0 launch 出错解决
- 三十岁之前不用太去在乎的
- #pragma once是什么意思
- linux下tomcat6.0与jdk安装详细步骤
- UCweb等手机浏览器的盈利模式
- 12-使类和成员的可访问能力最小化
- MathType 使用技巧集合
- GridView固定表头(不用javascript只用CSS!,很好用)
- mysql procedure 返回结果集
- VS2005中CStatic控件显示背景图
- 数据库常用命令