[英]How do you call this relation between 2 .c files?
我有点困惑,多年来我一直没有做过C,现在我又重新开始了。 我不确定的一件事是两个互相调用功能的文件的关系,例如:
testa.c :
int main (void)
{
callTheOtherFunction();
return 0;
}
和另一个文件
测试版
callTheOtherFunction(){
//do some stuff
}
现在我的“ makefile”看起来像
gcc -o test ./testa.c ./testb.c
这是什么意思? 就像两个文件都已合并一样, callTheOtherFunction
现在是callTheOtherFunction
一部分吗? 还是与继承有关? 是callTheOtherFunction
现在是全局函数,还是您将如何调用它?
我需要从中绘制一个UML图,这就是为什么我需要这种情况下的表达式的原因。
源文件永远不会“合并”。 发生的情况是,在编译阶段将生成两个目标文件-每个源文件一个,然后在链接阶段将两个目标文件链接(也与某些隐式系统库链接),生成可执行文件。
这两个文件将由编译器编译为目标代码,然后链接器将从目标文件生成单个可执行文件。 这是,正如你所说的, 像这两个文件已经合并。
因为您没有将其定义标记为static
所以可以从任何地方访问callTheOtherFunction
(我想您将其称为全局函数)。
作为一个侧面说明,你应该为你没有的声明得到来自编译编译器警告callTheOtherFunction
在testa.c。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.