偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Unix操作系統(tǒng)知識(shí)講解

系統(tǒng) 其他OS
在Unix操作系統(tǒng)中,我們來(lái)學(xué)習(xí)下實(shí)現(xiàn)C源程序到可執(zhí)行文件的這一轉(zhuǎn)換過(guò)程的工具cc。進(jìn)行編譯預(yù)處理,生成匯編語(yǔ)言代碼。

我們?cè)赨nix操作系統(tǒng)中,實(shí)現(xiàn)C源程序到可執(zhí)行文件的這一轉(zhuǎn)換過(guò)程的工具是cc。在大多數(shù)系統(tǒng)中cc實(shí)際上是一個(gè)shell命令文件。cc命令還提供了其他許多有用的命令行選項(xiàng)。

借助于這些選項(xiàng)我們可以對(duì)編譯過(guò)程進(jìn)行進(jìn)一步的控制,如使cc只完成某些階段的編譯工作,指定對(duì)頭文件的搜索目錄,指定對(duì)代碼進(jìn)行優(yōu)化,指定在代碼中加入一些供調(diào)試程序所用的信息,等等。下面我們分別討論這些問(wèn)題。

1.Unix操作系統(tǒng)僅進(jìn)行編譯預(yù)處理

在命令行中加上-P選項(xiàng)可以使cc僅完成對(duì).c文件的預(yù)處理工作,而后面的編譯,匯編,優(yōu)化,鏈接則都不作,例如:$ cc -P myprog.c

此時(shí)編譯Unix操作系統(tǒng)將在當(dāng)前目錄下生成一個(gè)名為myprog.i的文件。這個(gè)文件中包含有對(duì)myprog.c中的偽指令進(jìn)行處理后的代碼及myprog.c中原有的代碼。

在某些情況下,.i文件可能對(duì)于程序排錯(cuò)有一定的用處。對(duì)于下面的代碼段,編譯程序可能會(huì)報(bào)告j無(wú)定義的錯(cuò)誤:
 

  1. for (i=0;i<10;i++)  
  2. { /*declare avariable j:  
  3. int j;/*This is a temporary variable */  
  4. j=i*i;  
  5. .  
  6. .  
  7. .  
  8. }  

 

預(yù)編譯處理后,缺省情況下,預(yù)處理程序?qū)言闯绦蛑械淖⑨寗h除,這樣改段代碼將變成:
 

  1. for (i=0;i<10;i++)  
  2. {  
  3. j=i*i;  
  4. .  
  5. .  
  6. .  


這樣一來(lái)我們將能夠比較快地發(fā)現(xiàn)程序中的錯(cuò)誤。利用.i文件,我們還能夠?qū)l件編譯和宏擴(kuò)展后的結(jié)果進(jìn)行檢查。

在cc命令行中加上-C選項(xiàng)可以在預(yù)編譯后的文件中保留源文件中的注釋。

2.Unix操作系統(tǒng)僅生成匯編語(yǔ)言代碼

在cc命令行中加上-S 選項(xiàng),可以使cc只調(diào)用預(yù)處理程序和編譯程序以生成與源程序相應(yīng)的匯編代碼。與每一個(gè)C源文件相應(yīng)的匯編程序被放到相應(yīng)的.s文件中。例如:
 

  1. $ cc -S myprog.c myfunc.c  
  2. $ ls *.s  
  3. myfunc.s myprog.s  

這種匯編語(yǔ)言代碼是同機(jī)器具體相關(guān)的。有些情況下我們可能需要用匯編語(yǔ)言進(jìn)行編程,這時(shí)可以先用C語(yǔ)言編寫此程序,再編譯得到匯編程序,然后手工對(duì)此匯編程序修修改改,估計(jì)基本上就能滿足要求。由于用匯編語(yǔ)言進(jìn)行編程是一件效率比較低的工作,用此種方法可以預(yù)期將獲得比較高的效率。

我們關(guān)于Unix操作系統(tǒng)的知識(shí)就講到這里了。

【編輯推薦】

  1. 關(guān)于Unix操作系統(tǒng)用戶命令
  2. 講解Unix操作系統(tǒng)遠(yuǎn)程知識(shí)
  3. 解析幾個(gè)Unix操作系統(tǒng)網(wǎng)絡(luò)命令
  4. Unix操作系統(tǒng)即時(shí)通信
  5. Unix操作系統(tǒng)路漫漫
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-29 13:30:20

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-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 11:16:08

Unix操作系統(tǒng)

2010-04-09 16:36:54

Unix操作系統(tǒng)

2010-04-20 17:34:25

Unix操作系統(tǒng)

2010-04-19 17:25:31

Unix操作系統(tǒng)

2010-04-19 10:54:33

Unix操作系統(tǒng)

2010-04-19 16:57:09

Unix操作系統(tǒng)

2010-04-19 17:39:50

Unix操作系統(tǒng)

2010-04-15 14:40:26

Unix操作系統(tǒng)

2010-04-19 17:06:18

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)