Mig*_*uiz 3 c++ header libraries
我对图书馆有疑问.当我写一个库时,我有2个文件:library.h和library.cpp.
第一个包含函数的原型,第二个包含定义.好吧,在library.cpp我包含中#include "library.h",所以它们以一种方式连接,但是标题会发生什么?为什么我不必#include "library.cpp"在标题中写?
当我在主文件中使用库时,我写了#include "library.h",其中包括原型,但编译器如何知道定义的位置?
Der*_*rek 12
简要解释:
(1)您的library.cpp文件被发送到预处理器.
(2)预处理器读取该行#include "library.h"并前往并找到该文件library.h.
(3)library.h字面上的内容被复制到library.cpp文件中.
(4)library.cpp文件被编译并与主文件链接.
因此,标题中的所有"原型"都被复制到实现文件的顶部..cpp文件被编译和链接.头文件本身不会被编译 - 它们的内容被复制到.cpp文件中.
| 归档时间: |
|
| 查看次数: |
1125 次 |
| 最近记录: |