这是一个愚蠢的问题,我承认。代码会更好地解释它。得到这些文件:
你好ç:
#include <stdio.h>
void hello(char * s)
{
printf("hello, %s\n", s);
}
主.c:
int main()
{
hello("world!");
return 0;
}
生成文件:
test : main.o hello.o
gcc -o test main.o hello.o
main.o : main.c
gcc -c main.c
hello.o : hello.c
gcc -c hello.c
.PHONY : clean
clean :
-rm test
-rm main.o
-rm hello.o
我可以“制作”和“./test”它并且它可以工作。我不应该在 main.c 中包含类似 hello.h 的内容,以便编译器知道函数原型吗?
我什至没有在任何地方包含 hello.c,它就可以工作!main.c 怎么知道 hello 函数?
如果可行,我什么时候需要 .h 文件?我是 C 编程的新手,但我认为这个概念很容易掌握,现在我完全糊涂了。