Unix操作系统常用选项

系统 其他OS
在文章中,我们会讲解下Unix操作系统的知识,如果只想生成源文件的目标代码而不对这些代码进行链接,可以在cc命令行中加上-C选项。

Unix操作系统中,cc命令还提供了其他许多有用的命令行选项。借助于这些选项我们可以对编译过程进行进一步的控制,如使cc只完成某些阶段的编译工作,指定对头文件的搜索目录,指定对代码进行优化,指定在代码中加入一些供调试程序所用的信息,等等。下面我们分别讨论这些问题。

1.Unix操作系统仅生成目标文件

如果只想生成源文件的目标代码而不对这些代码进行链接,可以在cc命令行中加上-C选项。此时编译系将只生成与各源文件相对应的.o文件(目标文件)。
如:
$ cc -c myprog.c myfunc.s
将生成同myprog.c和myfunc.s相对应的目标文件myprog.o和myfunc.o。

2.Unix操作系统头文件搜索路径

当用户在C源程序中用# include指令包含了某个头文件时,根据文件名指定方法的不同,C编译系统将在不同的目录下去寻找指定的头文件:
在用尖括号(<>;)指定头文件名时,预处理程序将在Unix操作系统中存放头文件的标准位置(通常是/usr/include目录)寻找指定的头文件。

在用双引号(“”)指定投文件名时,预处理程序将先在Unix操作系统包含此头文件的C源程序所在的目录中(一般为当前目录),去查找该头文件。找不到时再到标准目录下去查找。在对于那些头文件既不在标准位置,又不在与C源程序同一目录时的情况怎么办呢?

为此,CC命令提供了-I(Include)选项,以供用户自己指定头文件所在地目录。例如,对于myfunc.c和myprog.c中所包含的头文件myprog.h,我们假定其后来被放在目录$HOME/include目录下,而这两个C文件则被放在$HOME/cfile目录下。此时在$HOME/cfile目录下对这两个C文件进行编译时,可使用如下命令:
$ cc -I #HOME/include myprog.c myfunc.c

此时对于这两个C文件中的#include "myprog.h",预处理程序将先在$HOME/cfile目录下,然后再$HOME/include目录下,***再Unix操作系统标准位置查找myprog.h。-I选项也能改变那些用尖括号(<>指定的头文件的搜索顺序,此时预编译程序将首先在-I指定的目录下,然后才在标准位置搜索。

-I选项可以多次重复使用。这样我们将能够指定多个非标准的头文件目录。由于用汇编语言进行编程是一件效率比较低的工作,用此种方法可以预期将获得比较高的效率。

关于Unix操作系统的知识,这次,我们就讲解到这里了。希望大家能够好好的学习Unix操作系统的知识。

【编辑推荐】

  1. 关于Unix操作系统用户命令
  2. 讲解Unix操作系统远程知识
  3. 解析几个Unix操作系统网络命令
  4. Unix操作系统即时通信
  5. Unix操作系统路漫漫
责任编辑:小霞
相关推荐

2010-04-13 12:27:44

Unix操作系统

2010-04-15 14:40:26

Unix操作系统

2010-04-16 17:49:28

Unix操作系统

2010-04-19 16:57:09

Unix操作系统

2010-04-14 13:59:45

Unix操作系统

2010-04-19 17:39:50

Unix操作系统

2010-04-19 18:31:16

Unix操作系统

2010-04-16 17:19:58

Unix操作系统

2010-04-19 10:54:33

Unix操作系统

2010-04-08 10:42:28

Unix操作系统

2010-05-04 10:16:11

Unix操作系统

2010-04-08 15:21:39

Unix操作系统

2010-04-08 17:56:42

Unix操作系统

2010-04-08 16:18:22

Unix操作系统工具

2010-04-09 11:24:38

Unix操作系统

2010-04-19 18:18:30

Unix操作系统

2010-04-09 16:45:42

Unix操作系统

2010-04-16 18:19:32

Unix操作系统

2010-04-20 17:07:57

2010-04-19 17:06:18

点赞
收藏

51CTO技术栈公众号