当前位置: 首页 > news >正文

做网站要准备的资料大尺度做爰后入网站

做网站要准备的资料,大尺度做爰后入网站,佛山网站制作哪家好,网站里的横幅怎么做概要 代码编译过程中,为了防止同一份代码被重复引用,通常有两种实现方式 方式一 #pragma once 方式二 #ifndef _TEST_H_ #define _TEST_H_ #endif // !TEST_H 通常情况下,使用上述两种方式中的任意一种都是可以的。最近工作中,代…

概要

代码编译过程中,为了防止同一份代码被重复引用,通常有两种实现方式

方式一

#pragma once

方式二

#ifndef _TEST_H_

#define _TEST_H_

#endif // !TEST_H

通常情况下,使用上述两种方式中的任意一种都是可以的。最近工作中,代码按照其功能性被划分出不同的模块,这时二者的区别就体现出来了。

模块依赖图

  • Submodule1和submodule2是两个独立的模块,相互见不可见
  • 两个模块均存在同一个接口文件(Interface B)
  • Class E同时依赖Submodule1和submodule2

实验

如果在Interface B文件中,使用pragma once,在编译环节会有如下的报错:

error: redefinition of 'XXX'     // Interface B文件中实现的一个数据结构

struct XXX{

但是使用ifndef不会报错,且代码运行符合预期。

区别

pragma once只是保证同一个文件不会被引用两次,但是对于不同的文件(即时文件名和内部实现完全一致),该语法是不生效的。

Ifndef其实是定义一个宏,即时在不同的文件中出现相同的宏名,它也有排他性。

链接的问题

由于submodule1和submodule2是分开编译的,因此编译出的静态库文件均包含了类xxx的实现。在编译外部的可执行目标class E的过程中,无疑它也包含了类xxx的实现。当这三部分进行链接时,肯定是存在重复的部分的。与编译器不同的是,链接器它能通过symbol的名称进行排重(只会选取一个),因此不再报错。

参考文献

  1. C++学习笔记之pragma once的理解_pragma once什么意思-CSDN博客
  2. https://www.cnblogs.com/math/p/how_to_resolve_multi_define_symbols.html

http://www.yayakq.cn/news/488223/

相关文章:

  • html5 电商网站布局怎么查询公司网站备案
  • 台州免费建站c2c的含义分别是什么
  • php网站哪些菜谱网站 源码
  • 电子商务网站建设域名指定网站建设前期规划方案
  • 济南网站建设 荐搜点网络城乡建设部网站安全员证书查询
  • 网站开发岗位简介网站建设公司968
  • 肇庆建网站百度网站的主要盈利来源不包括
  • 校友网站建设的重要性房地网
  • 海南住房建设厅网站wordpress postfix
  • 怎么往网站里做游戏wordpress 改域名
  • 网站 mipwordpress 显示代码
  • .net 网站中多线程seo精华网站
  • 百度搜索 网站图片凡科网电脑版登录
  • 个人如何申请网站企业信息查询app哪个最好
  • 上海公司注册网站自媒体平台收益
  • 海口建设企业网站长沙网站建设企业
  • 郑州网络营销推广公司信息外汇seo公司
  • 锡林郭勒盟建设工程管理网站做网站的作用
  • 卖文具做网站好还是做电商好环球资源网站
  • 北京孤儿院做义工网站快速建设网站免费视频教程
  • 文本网站代码空两格怎么做京东网站建设的策划书
  • 做ppt一般在什么网站好黑龙江建设网电话
  • 长寿做网站的电话百度北京公司地址全部
  • 网站备案幕布psdh5源码网
  • react 网站开发建设网站最基本的要了解什么
  • 杨颖做的车网站南京自助建站网站
  • 做网站和编程金溪网站建设制作
  • 二次网站开发平台用wix做外贸网站
  • 民治营销网站手机挣钱最快的软件
  • 家里做网站买什么服务器好网页美工制作网站