我们这次依旧是学习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);
- }
- 对于
Unix操作系统此程序中的错误(设计错误)我们暂不理会。以后我们介绍程序调试时再回过头来看看如何排除这个错误。
【编辑推荐】