作者:幼俐佩其392 | 来源:互联网 | 2023-06-26 03:19
我在.h文件中声明一个函数,在.cpp文件中实现该函数。在主调函数中包含.h文件,那么在主调函数中就可以用该函数。我想问的是,主调函数中怎么根据.h文件找到.cpp文件,编译器具体是做了什么?谢谢!
我在.h文件中声明一个函数,在.cpp文件中实现该函数。在主调函数中包含.h文件,那么在主调函数中就可以用该函数。我想问的是,主调函数中怎么根据.h文件找到.cpp文件,编译器具体是做了什么?谢谢!
13 个解决方案
如果你没实现该函数,就会提示链接错误,这话对楼主有用~~
找函数入口?
那不是编译器做的事情,那是链接器做的事情
http://blog.csdn.net/hairetz/archive/2009/10/10/4649320.aspx
看此文
.h文件只是告诉主调函数所在文件,被调用函数已经定义了,只是在别的文件定义的,这样编译器就让主调函数所在文件能编译通过。
而使主调函数真正能调用被调函数是在链接阶段,链接器会到其他所有的目标文件和库的函数表里查找被调函数,如果所有的目标文件和库都查完了,也没找到被调函数的定义,那么链接器才会认为被调函数未定义,然后就报错。