一个工程由许多的文件组成,当工程中的多个文件编译结束后就需要由链接器将这些模块链接起来成为一个整体的可执行程序。但是,在这个链接过程中,如果出现一些状况的时候就不能将这些模块链接成一个程序。接下来,研究一下这个链接的过程!
★链接多个文件
为了使程序的模块化更强,代码更易于管理,可以将同类型的代码存储在一个文件中。这时,每个文件代表着一类函数的代码,这些代码使用同样的资源,完成同样的操作。这与Java中的类、对象、方法想、很类似。在一个文件中,很可能需要引用另一文件中定义的全局变量或者函数,因此会导致多个C语言文件的链接问题。
例子:
一个简单的数组操作程序,这个程序计算数组中所有元素的和,可以得到数组中最大的元素,可以遍历输出数组。这些操作均实现为函数,而这些函数由于都操作目标数组,因此属于同一类型的操作。
operate.c
#include <stdio.h>
#define MAX 5
int array[MAX] = {2,7,6,4,8};
/**计算数组中所有元素的和**/
int sum()
{
int i;
int n;
n = 0;
for(i = 0; i < MAX; i++)
{
n += ar