hchchc6016 2016-04-12 06:00 采纳率: 91.2%
浏览 4176
已采纳

c++中多个cpp包含在一个project的问题

1.采用的是分离方式编译,也就是说我在一个cpp中编译,只编译了一个,那么如果我在一个cpp中运行的话,是不是编译了多个,并且连接生成了exe?
2.在同一个项目下的cpp是平行关系,那么如果我要用到另外一个cpp的函数或者变量的话,是不是要先编译那个cpp文件?
3.一个项目只有一个main函数,那么在没有main函数的cpp中,定义的函数都是全局函数,变量都是全局变量,对吗?

  • 写回答

4条回答

  • mengxiang_tianji 2016-04-12 06:13
    关注

    1.2.即便有多个cpp,也只能有一个main函数,编译器会从main函数开始执行,检测函数或变量依赖行为,在适当的时候编译其他cpp文件;
    3.在没有main函数中定义的函数和变量不一定都是全局变量,static全局函数和static全局变量的作用域被限制在该文件内,该文件外不能引用。若要引用全局变量和全局函数,应加extern关键字向编译器表明所引用内容在其他文件中定义,编译器执行时便会对其自动检索。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?