繁体   English   中英

您如何称呼2个.c文件之间的这种关系?

[英]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 (我想您将其称为全局函数)。

作为一个侧面说明,你应该为你没有的声明得到来自编译编译器警告callTheOtherFunctiontesta.c。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM