成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Unix操作系統(tǒng)命令行知識講解

系統(tǒng) 其他OS
我們今天在文章中會講解Unix操作系統(tǒng)。大多數(shù)Unix操作系統(tǒng)中C編譯命令的用法基本上都是類似的。我們這里介紹的將以SVR4上的C編譯系統(tǒng)為基礎。

我們知道在Unix操作系統(tǒng)中,實現(xiàn)C源程序到可執(zhí)行文件的這一轉換過程的工具是cc。在大多數(shù)系統(tǒng)中cc實際上是一個shell命令文件。有些Unix操作系統(tǒng)中的C編譯程序可能并不叫cc而是其它的一個什么名稱,如Sun工作站上常用的gcc等等。但這些都無關緊要。

大多數(shù)Unix操作系統(tǒng)中C編譯命令的用法基本上都是類似的。我們這里介紹的將以SVR4上的C編譯系統(tǒng)為基礎。

在某個程序的源代碼被存放到多個不同文件中的情況下,我們只需要在命令行中一一指定這多個C文件即可。例如,我們可以將上述myprog.c拆分為兩個C文件和一個頭文件
(.h)如下:
 

  1. myprog.h  
  2. # include <stdio.h>;  
  3. # inclued <ctype.h>;  
  4. # define TESTOK 1  
  5. myprog.c  
  6. #include "myprog.h"  
  7. void main (int argc,char * argv[])  
  8. {int i;  
  9. for (i=1;i<argc;i + +)  
  10. if (TestInput(argv)= = TESTOL)  
  11. printf("The %dth value '%s' \tis ok! \n",argv[1]);  
  12. else  
  13. printf("The %dth value ' %s' \tis BAD! \n",iargv);  
  14. }  
  15. myfunc.c  
  16. #include "myprog.h"  
  17. int TestInput(char * ValueInput)  
  18. {while (* ValueInput)  
  19. if (!isdigit(*ValueInput) return (! TESTOK);  
  20. else ValueInput + +  
  21. return ((100/atoi(ValueInput))? TESTOK:! TESTOK); 

這時要再編譯此程序時可輸入如下命令:$ cc -o myprog myprog.c myfunc.c

在這個命令行中如果不指定myfunc.c,此時由于在myprog.c中所調用的TestInput()這個函數(shù)不是任何標準的庫函數(shù),在鏈接時鏈接程序將找不到此符號的定義,故鏈接過程將以失敗而告終,此時cc將給出如下的錯誤信息:
 

  1. Undefine first referenced  
  2. symbol in file  
  3. TestInput  myprog.o  
  4. id: myprog:fatal error: Symbol referencing errors.No output written to myprog $ 

而可執(zhí)行文件myprog也無法生成。但編譯卻會生成myprog.c的目標代碼(在某個文件固有語法錯誤而無法正確被編譯的情況下(此時為編譯過程出錯),cc將生成其他無語法錯誤的源文件的目標文件,但不進行鏈接)。如下:

 

  1. $ ls -ltotal 8  
  2. rw-r--r-- 1 yxz user 454 Sep 1 09:27 myfunc.c  
  3. rw-r--r-- 1 yxz user 479 Sep 1 09:28 myprog.c  
  4. rw-r--r-- 1 yxz user 298 Sep 1 09:27 myprog.h  
  5. rw-r--r-- 1 yxz user 924 Sep 1 09:28 myfunc.o 

此時我們可以使用如下命令行得到可執(zhí)行文件:$ cc -o myprog myprog.o myfunc.c
這里我們看到,cc命令行中的文件參數(shù)可以不全是.c文件,目標文件(.o)文件以后編譯過程中所得到的其他文件,如預編譯后文件(.i文件),編譯后的匯編程序(.s文件)等都可作為文件參數(shù)。在了解了Unix操作系統(tǒng) C編譯系統(tǒng)的工作過程之后,理解這一點是不困難的。因為編譯系統(tǒng)只需要對各種不同類型的文件進行有關的處理就可以了。

關于cc命令最基本的用法我們就介紹這么多,其它更高級的用法可參考以后關于Unix操作系統(tǒng)知識的討論。

【編輯推薦】

  1. 關于Unix操作系統(tǒng)用戶命令
  2. 講解Unix操作系統(tǒng)遠程知識
  3. 解析幾個Unix操作系統(tǒng)網絡命令
  4. Unix操作系統(tǒng)即時通信
  5. Unix操作系統(tǒng)路漫漫
責任編輯:小霞
相關推薦

2010-04-09 16:36:54

Unix操作系統(tǒng)

2010-04-20 11:34:26

Unix操作系統(tǒng)

2010-04-29 13:30:20

Unix操作系統(tǒng)

2010-04-09 16:26:20

Unix操作系統(tǒng)

2010-04-13 19:07:18

Unix操作系統(tǒng)

2010-05-04 17:17:46

Unix類

2010-04-19 17:34:02

Unix操作系統(tǒng)

2010-04-19 17:47:59

Unix操作系統(tǒng)

2010-04-20 10:12:40

Unix操作系統(tǒng)

2010-04-20 12:02:22

Unix操作系統(tǒng)

2010-04-15 18:06:08

Unix操作系統(tǒng)

2010-05-07 13:04:11

Unix Shell

2010-05-07 17:31:42

Unix類操作系統(tǒng)

2010-04-19 12:40:00

Unix操作系統(tǒng)

2010-05-07 17:41:36

BSD Unix

2010-04-29 14:08:38

Unix操作系統(tǒng)

2010-04-20 17:34:25

Unix操作系統(tǒng)

2010-04-19 17:25:31

Unix操作系統(tǒng)

2010-05-11 11:34:44

2010-04-19 10:54:33

Unix操作系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久国产精品免费免费 | 国产精品国产三级国产aⅴ原创 | 欧美在线视频一区二区 | 国产一区二区三区四区在线观看 | 成人欧美在线 | 日韩精品一区二区三区 | 精品欧美一区二区精品久久久 | 久久国产精品免费视频 | 亚洲国产成人精品女人久久久 | 中文字幕a√ | 欧美1区| 欧美精品在欧美一区二区少妇 | 福利久久 | 一区二区三区av | 日韩精品一区二区三区 | 91精品一区二区三区久久久久久 | 成人免费看片又大又黄 | 亚洲高清av在线 | 99riav国产一区二区三区 | 久久久久国产一区二区三区 | 国产精品18hdxxxⅹ在线 | 亚洲成人一区 | 精品国产一区二区三区久久 | 91国产精品在线 | 国产999精品久久久久久 | 欧美日韩亚洲国产 | 激情视频中文字幕 | 精品久久久久一区 | 欧美日韩黄色一级片 | 成人在线免费电影 | a级在线免费视频 | 国产精品久久久久久一区二区三区 | 99资源站 | 在线观看中文字幕 | 午夜三区 | 四虎永久免费地址 | 国产精品久久久久久久久久久久久 | 超碰精品在线 | 亚洲一区二区三区久久久 | 午夜性视频| 精品一二 |