C基础
刚刚入门C语言,写了个例子如下:
main.c代码如下:
int main(int argc, char *argv[]){
foo();
return 0;
}
a.c代码如下:
void foo(){
}
其中main.c与a.c都在同一个目录
命令行执行如下命令:
gcc main.c a.c -o main
编译通过,运行生成的main也不报错。
我想问的问题是main.c代码中并没有引入a.c啊,为什么编译的main.c的main()方法调用foo()方法不报错呢,
运行也不报错。
[解决办法]
相当于
gcc -c main.c -o main.o
gcc -c a.c -o a.o
gcc main.o a.o -o main
[解决办法]
你的gcc明明写了两个.c文件,两个.c文件都编译成了main文件,怎么会报错?
gcc f1.c f2.c -o out
会把f1.c和f2.c都编译并且连接成out文件。你的main函数以及main调用的函数在这两个文件里都能找到,为什么要报错?
[解决办法]