
嵌入式C中#pragmaonce的作用是什么? 焦点日报
2023-05-25 22:12:24 来源:面包芯语
(资料图)
看起来似乎是想兼有两者的优点。不过只要使用了#ifndef就会有宏名冲突的危险,也无法避免不支持#pragma once的编译器报错,所以混用两种方法似乎不能带来更多的好处,倒是会让一些不熟悉的人感到困惑。
选择哪种方式,应该在了解两种方式的情况下,视具体情况而定。只要有一个合理的约定来避开缺点,我认为哪种方式都是可以接受的。而这个已经不是标准或者编译器的责任了,应当由程序员自己或者小范围内的开发规范来搞定。
为了避免同一个文件被include多次:
1、#ifndef方式
2、#pragma once方式
在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。
方式一:#ifndef__SOMEFILE_H__#define__SOMEFILE_H__......//一些声明语句#endif方式二:#pragmaonce......//一些声明语句
#pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。带来的好处是,你不必再费劲想个宏名了,当然也就不会出现宏名碰撞引发的奇怪问题。
对应的缺点就是如果某个头文件有多份拷贝,本方法不能保证他们不被重复包含。当然,相比宏名碰撞引发的“找不到声明”的问题,重复包含更容易被发现并修正。
方式一,由语言支持所以移植性好;方式二,可以避免名字冲突。
标签:
游戏
更多
-
25
2023-05北交所锂电概念股将达11只,8家公司是专精特新“小巨人”
北交所锂电概念股将达11只,8家公司是专精特新“小巨人”,北交所,锂电池,贝特瑞,新三板,上市公司,锂电概念股 -
25
2023-05数据复盘:13亿净流入光伏 龙虎榜抢筹天孚通信-天天微动态
今日(5月25日)两市2068只个股上涨,2880只个股下跌,成交额8567 11亿,较上个交易日放量541 76亿。三大指 -
25
2023-05今起三天厦门气温逐渐回升 下周“玛娃”送高温
美仁宫口袋公园的凤凰花近期盛开,市民在树下休闲娱乐。(厦门日报记者林铭鸿摄)气象部门预测,随着冷空气 -
25
2023-05电子科技大学格拉斯哥海南学院一行访问上海理工大学中英国际学院
5月24日,电子科技大学格拉斯哥海南学院院长刘光辉一行来访上海理工大学中英国际学院,就中外合作办学人才
产品
更多

点击上方蓝字关注我们秒售罄、高票价、扎堆新一线,线下大型演出市场重启后,周杰伦等人气明星,迅速带火了
2023-05-25 22:04:07

复合集流体龙头大反弹!行业迎来量产元年 头部厂商大举扩产 高增长潜力股仅9只
【复合集流体龙头大反弹!行业迎来量产元年头部厂商大举扩产高增长潜力股仅9只】5月25日,东威科技盘中大涨
2023-05-25 21:06:51

市十六届人大湖里代表小组开展视察
昨日,市十六届人大湖里代表小组开展视察,市人大常委会主任杨国豪参加。代表小组一行实地察看了湖里区企业
2023-05-25 20:20:24