加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

小心得:处理两个头文件互调,死循环情况(将文件之间的编译依赖

发布时间:2020-12-13 23:15:34 所属栏目:百科 来源:网络整理
导读:本来没这么关注这个问题,但是今天应用两个类之间互调,发现出现死循环显现,就是传说中的泥中有我我中有你,都是预编译搞的鬼,一旦加入#include然后两个类就是开始我 把你的源代码复制过来,你又把我得源代码复制过来,当然vc不会这么干了,他会给报错,说

本来没这么关注这个问题,但是今天应用两个类之间互调,发现出现死循环显现,就是传说中的泥中有我我中有你,都是预编译搞的鬼,一旦加入#include然后两个类就是开始我

把你的源代码复制过来,你又把我得源代码复制过来,当然vc不会这么干了,他会给报错,说其中一个类为定义。

解决这个问题之前,要先说一下这个声明和定义分开的问题,就是实现和接口分离问题,这是我的简单理解,欢迎提意见。

简单来说就是类中函数不内联,这样才能在此基础上用一个简单的方法处理互调问题。而且相对来说就VC来说,这样的话就可以对每个一个类做编译,精细化处理错误。不用等全部编译完成在同一编译,(当然对比较牛的人来说,出错率基本为0的就不说了)小工程还好说,百十个问题而已,如果是特大工程呢,那就满屏幕都是错误。如此来说对新手好出还是蛮多的。

接下来就是处理,可以在头文件中先声明要调用的类,或者函数,这样编译头文件的时候就可以通过编译,然后呢,在具体实现中加入需要预编译的头文件名称,OK就能通过。

当然主要针对的还是指针类型的,访问回调,这才是真正的大环境,在他的基础上用面的操作才能实现,如果是实际类对象,那么不好意思,我这还没有研究完。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读