一个cpp文件能不能包含另外一个cpp文件
一个cpp文件能不能包含另外一个cpp文件
种地瓜 发表于1年前
一个cpp文件能不能包含另外一个cpp文件
  • 发表于 1年前
  • 阅读 101
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

 

在前几天的一个面试中,有一个题目是

 

一个cpp文件能不能包含另外一个cpp文件,会有什么样的问题?

 

我看着题目,谁这么做啊,我没这么做过,肯定不知道这其中会出现的问题,当即答我不知道会出现什么问题,因为我也没试过

 

回来一查资料,用编译器一写,就会发现

多重定义了,相互冲突了

到网上查资料,分析

一个程序到编写代码到最冲呈现给用户的结果,就是编译-连接的过程

若有文件1.cpp,2.cpp  其中2.cpp中包含了1.cpp

从编译的角度来说,源文件都是编译各自的文件,2.cpp包含了1.cpp那么生成的目标文件2.obj也是包含了1.cpp的结果,而1.cpp编译产生1.obj,那么,当他们在链接的时候肯定会产生重复定义的错误

所以,一般源文件都会只包含系统的头文件和用户自定义的头文件,而用户自定义的头问津主要是定义一些结构体之类的。

 

那么,如果2.cpp需要调用1.cpp的函数呢  

使用extern

//1.cpp

void func1()

{

}

void func1()

{

}

 

2.cpp

extern void func1();

extern void func2();

 

void min()

{

        //调用1.cpp中的函数

}

标签: cpp;
共有 人打赏支持
粉丝 10
博文 170
码字总数 44807
×
种地瓜
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: