关于编译链接的问题
c程序单元在编译时不是把预处理命令包含的文件导入到源代码在编译吗,为什么在连接目标代码时还说是连接各个目标代码和系统库文件因为一个程序可以好、有很多个源代码文件。而编译时对每个源代码文件进行单独编译的。 #include 进来的只是文件件(*.h的文件),你不妨打开例如stdio.h这个文件看下,里边有的只是函数的声明,函数的实现并没有在头文件里边,所以要链接进来。 预处理的作用是让你少打一些东西,你#include了一个头文件,那么在预处理阶段#include的头文件这句话会0被替换成头文件的内容。比如
// a.h
int test(int a);
int test1(int b);
// a.cpp
#include "a.h"
//...
a.cpp会在预处理阶段被替换成如下的样子注意红色部分就是a.h的内容
int test(int a);
int test1(int b);
//...
链接是链接 和 预处理无关!
不晓得怎么解决! 路过学习了,楼主加油 你把代码发出来 新人,路过学习一下{:1_1:} 编译和链接是两个不同的过程
页:
[1]