因为在main函数里声明的void fun(void)是在fun.cpp中定义的。
而头文件只是为了给共用的代码部分提供维护上的方便和接口上的定义,并不是必须。
c语言编译器的最终 *** 作对象是预处理以后的源文件。
c语言的源文件最终的目的都是要编译成.obj(unix环境下是.o)件的,也就是目标文件。
这个时候main里面有main的内容,fun里面有fun的内容。编译通过了。
而下面链接的时候可能会出现问题:
VS这个IDE在链接的时候,把这两个obj文件链接了,所以没有报错。
而UNIX环境下
g++ -c main.cpp生成main.o
g++ -c fun.cpp生成fun.o
这个时候,如果g++ -o main main.o的时候,是会报找不到fun()的错误,因为没有链fun.o
所以如下写就链上了,g++ -o main main.o fun.o
vc++6.0实现多文件程序:1、必须创建工程,并将文件加入同一工程下;2、必须有自定义头文件(.h)将多个源文件(.c/.cpp)关联起来,并将函数定义放在头文件中。
多个源文件需要在这个窗口创建:
创建完毕后如图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)