在谈到了关于irc.freenode.net上## C的链接之后,我去测试了一些我学到的概念,并提出了这种情况。奇怪的链接情况
我有这个文件,命名为main.c中:
int main(void) {
func();
return 0;
}
而这个文件,名为test.c的:
#include <stdio.h>
void func(void) {
printf("Hello.\n");
}
有没有test.h文件。
我这样做:
$ gcc -c main.c
$ gcc -c test.c
$ gcc main.o test.o
$ ./a.out
Hello.
$
和工程。不应该在第一次调用时抱怨gcc不知道main.c文件中调用的函数func()吗?我没有在其原型或实现中包含任何文件,但gcc可以编译目标代码并创建一个合理的可执行文件。那里发生了什么,我失踪了?
谢谢。
非常感谢! – jpmelos
一个很好的方式指出你应该始终使用-Wall。也许吧 - 哇。可能是渺小的。 –