歡迎您光臨本站 註冊首頁

LINUX程序設計第三版學習筆記

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

1.LINUX程序:

LINUX的應用程序表現為兩種形式----可執行文件和腳本文件。可執行文件是指計算機可以直接運行,相當於WINDOWS中的.exe文件;腳本文件是一組指令的集合,這些指令由另一個程序(即解釋器)來執行,相當於WINDOWS中的.bat文件等。

我們登錄LINUX后,通常與一個SHELL程序交互,很類似與WINDOWS中的命令行,在SHELL命令中運行程序的時候,它將在一組給定的目錄下搜索與所運行的程序名相同的文件,這些給定的目錄是保存在環境變數PATH中的:例如

/bin 二進位文件目錄 用於保存系統啟動時用到的二進位文件

/usr/bin 用戶二進位文件目錄 存放用戶使用的標準程序

/usr/local/bin 本地二進位目錄 存放特定軟體安裝的程序

系統管理員(例如root用戶)登錄后使用的PATH變數還包含存放系統管理程序的目錄,如/sbin和/usr/sbin。

注意,Linux像UNIX一樣,使用冒號(:)分隔PATH變數里的條目,而不是像MS-DOS和Windows使用分號(;)。Linux用正斜線(/)分隔文件名里的目錄名,而不是像Windows那樣用反斜線(\)。(別混淆哦!)

2.C語言編譯器

需了解:在POSIX兼容的系統中,C語言編譯器被稱為c89。歷史上,C語言編譯器被簡稱為cc。許多年來,不同廠商銷售的類UNIX系統中所帶的C語言編譯器均包含不同的功能和選項,但它們一般都稱為cc。

在準備起草POSIX標準時,事實上已經不可能制訂出兼容所有廠商的標準cc命令了。於是,POSIX委員會決定為C語言編譯器創建新的標準命令,這就是c89。只要使用這個命令,則在任何機器上,它的編譯選項都相同。

Linux系統盡量實現這些標準。在Linux系統中,你會發現c89、cc和gcc這些命令全部或部分地指向系統的C語言編譯器,通常是GNU C編譯器,或者簡稱gcc。在UNIX系統中,C語言編譯器幾乎總被稱為cc。

我們將使用gcc,這是因為它隨Linux的發行版一起提供,並且它支持ANSI C的標準語法。

3.我們的第一個LINUX程序哦!劃時代的意義啊!

hello.c

#include

#include

int main()

{

printf("hello world\n");

exit(0);

}

需要用一個編輯器來輸入這個程序。在典型的Linux系統上有許多編輯器可用,較流行的編輯器是vi。同時建議你花一點時間來學習emacs這個功能強大的編輯器哦。

編譯,鏈接和運行我們的程序!

$ gcc -o hello hello.c

$ ./hello

hello world

$

C語言編譯器(在Linux中大多數情況下用cc也可以)將我們的C語言源代碼轉換為可執行文件hello。

因為這是我們運行的第一個程序,所以有些問題最好現在就指出來。hello程序很可能在你的主目錄中。如果PATH變數不包含指向你的主目錄的條目,shell就找不到hello程序。更進一步,如果PATH變數中的目錄包含另一個名為hello的程序,就會執行那個程序。如果PATH中這樣的目錄出現在你的主目錄之前,也會發生這種情況。為了避免這種潛在的問題,我們在程序名前加上一個./(例如./hello)。它特別指示shell去執行當前目錄下給定名稱的程序。

如果你忘記用-o name選項告訴編譯器將可執行程序放在何處,編譯器則會把程序放在一個名為a.out的文件里(a.out的含義是assembler
output,即彙編輸出)。如果你確信編譯了一個程序但又找不到它,別忘了看看有沒有a.out文件!在UNIX的早期歷史中,想在系統上玩遊戲的人通常把遊戲作為a.out來運行,以避免被系統管理員捉到,一些UNIX系統安裝每晚會定期地刪除所有名為a.out的文件。

[火星人 ] LINUX程序設計第三版學習筆記已經有350次圍觀

http://coctec.com/docs/linux/show-post-188499.html