C++多文件结构问题

[复制链接]
查看11 | 回复2 | 2016-10-8 19:43:23 | 显示全部楼层 |阅读模式
在多文件结构中,是否有主文件,是每个文件中代码都被执行吗

回复

使用道具 举报

千问 | 2016-10-8 19:43:23 | 显示全部楼层
C++的多文件可以从两部分来理解, 编译和链接在编译阶段, 主要是要符合“先声明后使用”的原则, 先写原型就可以调用函数了(当然一般原型都写在头文件里),每个cpp文件都会被编译成一个单独的中间文件,每个函数都会被编译(模板有些例外)在链接阶段, 链接器会从main函数开始, 它用到哪个函数就在编译产生的中间文件或者指定的lib文件里找到链接在一起, 然后递归地继续找,直到main函数直接或间接用到的东西都链接在一起了为止。(在C++情况要更复杂一点,全局变量的构造函数也需要同样地链起来,所以C++程序可能在main函数开始之前已经干了很多很多事了)理解这两步之后你的问题就简单了,所谓主文件是无所谓的,编译角度看所有cpp文件都
回复

使用道具 举报

千问 | 2016-10-8 19:43:23 | 显示全部楼层
主函数(一般为main())所在的文件就是主文件,主函数调用的所有函数与这些函数调用的子函数都会被执行,视情况某些条件选择分支代码不会被执行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行