我们这次依旧是学习Unix操作系统的知识。在Unix操作系统中,实现C源程序到可执行文件的这一转换过程的工具是cc。在大多数系统中cc实际上是一个shell命令文件。有些Unix操作系统中的C编译程序可能并不叫cc而是其它的一个什么名称,如Sun工作站上常用的gcc等等。但这些都无关紧要。
大多数Unix操作系统中C编译命令的用法基本上都是类似的。我们这里介绍的将以SVR4上的C编译系统为基础。
Unix操作系统 cc基本用法
一般我们只需要将Unix操作系统C源程序的名字写在CC命令行中,cc即可对这些源文件(.c文件)进行编译。如果这些Unix操作系统源文件中都没有main()函数的定义,那么cc将只能生成与各源文件相对应的目标文件(.o文件)。如果某个源文件中有关于main()函数的定义,则将把所有目标文件链接起来生成相应的可执行文件。缺省的情况下这个可执行文件的名字将是a.out。
例如,假定myprog.c是一个包含有main()函数定义的C语言程序文件,其中代码如下:
复制
* An example source code with errors * * Name:myprog.c * #include <stdio.h>; #include <ctype.h>; # define TESTOK 1 int TestInput(char * ValuInput) {while (* ValueInput) if (! isdigit(* ValueInput )) return (! TESTOK); else ValueInput + +; return ((100/atoi(ValueInput))? TESTOK:! TESTOK); } void main(int argc,char * argv[]) {int i; for (i=1;i<argc;;i++) if(TestInput (argv) = =TESTOK) printf("The %dth value '%s' \tis OK! \n",i,argv); else printf("The %dth value '%s' \tis BAD! \n" ,i,argv); } 对于
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Unix操作系统此程序中的错误(设计错误)我们暂不理会。以后我们介绍程序调试时再回过头来看看如何排除这个错误。
【编辑推荐】