码迷,mamicode.com
首页 > 其他好文 > 详细

分离式编译

时间:2017-03-15 22:33:29      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:span   动态   它的   tle   nbsp   文件链接   apt   分类   机制   

<c++ primer> p186:

  举个例子fact函数的定义位于一个名为fact.cc的文件中,它的声明名为Chapter6.h的头文件中.显然与其他用到fact函数的文件一样,fact.cc应该包含Chapter6.h头文件.另外,我们在名为factmain.cc的文件中创建main函数,main函数将用到fact函数.要生成可执行文件,必须要告诉程序我们用到的代码在哪.如果我们修改了其中一个源文件,那么只需要重新编译那个改动了的文件.大多数编译器提供了分离式编译每个文件的机制,这一过程通常产生一个后缀名是.obj(windows)或者.o(unix)的文件,后缀名的含义是该文件包含对象代码.接下来编译器负责把对象文件链接在一起形成可执行文件.

 

 

百度知道:

c++程序使用一对同名的.c和.h文件的意义何在?

h文件中写函数声明,c文件中实现,这样分离之后,如果其他c文件需要调用其中的函数只要包含同名的h头文件即可。吧具体相同功能的函数放置在一个h头文件中声明也有助于分类。项目越大,你如果吧所有函数都写在一个文件中,维护起来就更麻烦了,编译的时候也是一个c文件一个c文件生成中间代码,然后一起链接起来,这样也便于维护。另外还要考虑库的问题,比如你要使用动态库,你如果在h文件中实现函数,那库的意义就不存在了。

分离式编译

标签:span   动态   它的   tle   nbsp   文件链接   apt   分类   机制   

原文地址:http://www.cnblogs.com/zc4954/p/6556771.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!