小编Ank*_*pta的帖子

链接器如何知道extern函数的定义在哪里?

我读了几篇帖子并得出结论,extern告诉编译器"这个函数存在,但它的代码在其他地方.不要惊慌." 但链接器如何知道函数的定义位置.

我的案例: - 我正在研究Keil uvision 4.有一个头文件grlib.h,主函数在grlib_demo.c(它包含grlib.h).现在,有一个函数GrCircleDraw()在Circle.c中定义并在grlib_demo.c中调用,还有一个语句

extern void GrCircleDraw(所有参数);

在grlib.h中.我的查询是链接器如何知道GrCircleDraw()的定义,因为Circle.c不包含在grlib.h和grlib_demo.c中

注意: - 文件grlib.h和Circle.c位于同一文件夹中.代码运行成功.

c c++ extern keil

7
推荐指数
3
解决办法
2363
查看次数

标签 统计

c ×1

c++ ×1

extern ×1

keil ×1