如何将多个C语言模块组合成一个程序
把一程序分成几部分是有一定规则的。一个函数就不能分开在两个文件中,也不能在两个文件中都对其定义一次,因此每个文件都是由完整的对函数式变量的定义式说明组成的。对于某一文件中的函数,它可以直接引用本文件中所定义的函数和外部变量。如果要想引用别的文件中定义的函数或变量,则应在引用之前用extern,对此变量或函数进行说明。如果一个函数或外部变量在定义时前面加有static说明,那么就只有本文件内的函数能够使用它。习惯上,在每个文件的最前面放上不在此文件中的函数及变量的说明,由于对函数和变量的说明可以多次重复进行,往往建立一个头文件,在其中放入所有外部变量和外部函数的说明并在每个说明前面加上extern,然后每个源文件的第一行都用include包含这个头文件。
对于每一个完整的源文件,都应该能够单独通过编译,以便迅速改正其中的编辑错误。Turbo c中,如果你选择了编译命令,它就编译当前编辑窗口中的文件。对于被调用函数,可以编出简单的调用函数对其可靠性进行测试,看它能不能完成预期的功能。
在每一个文件都编好并且都通过了编译之后,你需要建立一个项目文件,把所有的文件组合在一起进行链接。如果你使用的是Borland c++ 2.0以上的版本或MS C的高版本的话,可以看到其主菜单上有一个Project(项目)菜单,其中一项为建立Project文件,选此命令,输入项目文件名后即可直接从列出的目录中选定组成项目的文件。但在Turbo C 2.0中,这个过程要复杂一些,下面我们来看一个例子。
假设有一个程序,其中包含有main(),fun1(),fun2()三个函数及一个公用的外部变量int a:我们把main()及a的定义放在文件F1.C中,而将fun1(),及fun2()的定义放在文件F2.C中,即
F1.C
extern void fun1(int x);
extern void fun2(char c);
int a;
main()
{ fun1(5);
} fun2('A')
F2.C
extern int a;
void fun1(int x);
{…
a=a+x
…
}
void fun2(char c)
{…
}
先应把F1.C和F2.C分别输入计算机并编译后存盘。然后选File菜单下NEW命令,建立一个新的文件,即项目文件,不妨取名为MY.PRJ,其中只有两行:
F1.C
F2.C
必要时,还应在文件名前加上盘符和路径,存盘。然后打开Project菜单,选Project name.输入名字MY.PRT。这时Turbo.C就知道当前要链接,运行的是一个由两个文件组的程序。选择RUN菜单下的RUN命令即可对两个文件进行编译、链接和运行的一体化操作。F4,F7,F8及断点设置等功能也可用于程序的调试中。
95002