小风暴 发表于 2013-7-14 15:18:20

关于编译链接的问题

c程序单元在编译时不是把预处理命令包含的文件导入到源代码在编译吗,为什么在连接目标代码时还说是连接各个目标代码和系统库文件

仰望天上的光 发表于 2013-7-14 18:06:43

因为一个程序可以好、有很多个源代码文件。而编译时对每个源代码文件进行单独编译的。

小甲鱼 发表于 2013-7-16 04:03:01

#include 进来的只是文件件(*.h的文件),你不妨打开例如stdio.h这个文件看下,里边有的只是函数的声明,函数的实现并没有在头文件里边,所以要链接进来。

编程难 发表于 2013-7-16 09:47:13

预处理的作用是让你少打一些东西,你#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);
//...
链接是链接 和 预处理无关!


刀下留人 发表于 2013-7-17 11:34:51

不晓得怎么解决!

小号4 发表于 2013-7-17 13:11:56

路过学习了,楼主加油

Tcooop 发表于 2013-7-26 11:08:20

你把代码发出来

玉宁417 发表于 2013-9-27 08:03:28

新人,路过学习一下{:1_1:}

fishso 发表于 2013-9-29 22:21:36

编译和链接是两个不同的过程
页: [1]
查看完整版本: 关于编译链接的问题