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

常州武进网站建设设计制作属于哪个行业

常州武进网站建设,设计制作属于哪个行业,中国商标网商标查询网,软件工程项目开发的步骤目录 错误复现原因解决方案inlinestatic 扩展参考 错误复现 现在有一个头文件 duplicate_define.h 和两个源文件 duplicate_define_1.cpp 和 duplicate_define_2.cpp。 两个源文件都引入了头文件 duplicate_define.h,且在各自的函数中调用了定义在头文件中的全局函…

目录

  • 错误复现
  • 原因
  • 解决方案
    • inline
    • static
  • 扩展
  • 参考

错误复现

现在有一个头文件 duplicate_define.h 和两个源文件 duplicate_define_1.cppduplicate_define_2.cpp

两个源文件都引入了头文件 duplicate_define.h,且在各自的函数中调用了定义在头文件中的全局函数 duplicateFunction()

头文件中添加了 #pragma once 来方式头文件重复包含。
在这里插入图片描述
现在如果进行编译链接操作,会出现报错,我们以 vs 为例看一下具体的报错内容
在这里插入图片描述

原因

工程在编译时,每个编译单元(简单来说就是源文件以及引入的头文件构成了编译单元)都会引入头文件,也就是说 duplicate_define_1.cppduplicate_define_2.cpp 都在各自组成的编译单元中,引入(复制一份)了头文件 duplicate_define.h

这导致每个编译单元都定义了相同的函数,也就是位于头文件中的 duplicateFunction(),而在链接时就会发现重复的函数。

解决方案

inline

inline 关键字赋予了函数“允许重复定义”的特性。在链接阶段,链接器从重复的 inline 函数中选择一个,而忽略其他副本。
在这里插入图片描述
当头文件中的函数定义为 inline 后,可通过编译。

static

static 关键字会改变函数和变量的链接属性,默认情况下全局变量和函数是外部链接,也就是它们可以被其他编译单元使用。

但一个添加了 static 的函数或变量只在它定义的编译单元中可见,这样,每个包含类似上面头文件的源文件都独立拥有 duplicateFunction(),在链接时互不冲突。

但正是因为独立拥有,所以浪费了空间。

扩展

如果在公共头文件中定义类成员函数,为什么这个类成员函数在其他多个 cpp 中被调用时不会出现上述重复定义的问题呢?

答案很简单,因为类成员函数隐含就是内联的。

参考

  1. Header file contains function body, will lead to duplicated definition?
  2. 链接器工具错误 LNK2005
http://www.dtcms.com/wzjs/837946.html

相关文章:

  • 网站图片类型手机app开发人员
  • 济南想做网站设计公司网站建设文案
  • 网站建设技术架构京东网店怎么开
  • 济南模板网站设计wordpress官方主题推荐
  • 网站app下载平台怎么做的网站设计的书
  • 大连建站价格深圳家装设计公司排名榜
  • 文章网站模板哪个好创建全国文明城市工作方案
  • 外包服务网站排名市场监督管理局12315
  • 义乌万物网络科技 网站建设新闻热点事件
  • 南阳网站推广工程建设监理学校网站
  • 泉州网站建设工程有没有做网站的电话
  • 网络小程序开发公司西安网站搜索引擎优化
  • 自己做图片上传网站我要做自媒体要怎么开始
  • 建网站手续郑州企业建公租房的政策
  • 网站模式下做淘宝客好的做网站的公司有哪些
  • 开奖网站开发深圳广告公司前十强
  • 制作图网站有哪些内容郑州app制作
  • 做暖漫画网站关于加强网站建设的意见
  • 兰州网站建设与优化推广wordpress需要登录密码错误
  • 成都搭建网站百度联盟网站怎么做
  • 怎么登录甘肃省建设厅网站51网站哪里去了
  • 在线学习平台网站建设有什么功能wordpress视频嵌入移动端打不开
  • 建站公司 深圳云南工程建设信息网官网
  • 网站托管服务内容网站建设请示文件
  • 房地产网页设计网站建设怎么做公众号
  • 做外贸的国际网站有哪些做团购网站需要什么
  • 没有网站的域名电商平面设计图
  • 如何设计网站以网络为中心的企业文化WordPress添加2233娘
  • 网站的落地页网站做拓扑图编辑
  • 顺德大良哪家做网站好国外域名。国内网站