Linux程序設計筆記 第1章linux程序設計

字體==楷體linux

使用的linux發行版中gentoo發行版,使用以前使用過debian,mini,unbuntu後來看到一篇介紹linux發行版的文章http://tieba.baidu.com/p/1180067796  和決定使用linux同樣使用gentoo,在10天后成功的安裝失敗,以後回到學校放暑假回到家中從新安裝用了3天成功,期間在貼吧和郵件組提出無數個問題,感謝幫助個人人,爲了補充linux知識,在handsoul大牛的引導下開始學習《linux程序設計》,我也是一個菜鳥目前只有C的基礎,但願3年後或更久我也能成爲黑闊大牛shell

 1.2.1 linux程序

linux其實只是指一個linux內核,如今的linux系統應該叫作gnu/linux操做系統。
gnu開源操做系統計劃,gnu內核gnu hurd,一直沒有開發出1.0的官方正式版。
這個龐大的微內核計劃還在開發中。 http://www.gnu.org/software/hurd/

linux應用程序表現爲兩種特殊類型的文件:可執行文件和腳本文件。windows

可執行文件是計算機可直接運行的文件,至關於windows的.exe文件。網絡

腳本文件是一組指令的集合,這些指令將由另外一個程序(即)解釋器來執行,它們至關於windows的bat文件,cmd文件或解釋執行的BASIC程序。函數

linux並不要求它們有特殊的文件名或擴展名,文件系統屬性用來指明一個文件是否爲可執行的程序。工具

1.2.3  C語言編譯器

  hello程序極可能在你的本地目錄學習

  若是PATH變量包含指向你的本地目錄的條目,shell就找不到hello程序。字體

  若是PATH變量中包含的其中一個目錄有另外一個hello程序,shell就會執行那個程序。若是PATH中這樣的目錄出如今你的   本地目錄以前,就會發生這種狀況。spa

  爲了不這種潛在問題,能夠在程序名前加./,它特別指shell去執行當前目錄下,給定的名稱的程序。符號.表明當前目     錄。操作系統

  若是沒用 -o name 告訴編譯器可執行程序的名字。編譯器就會把程序放在名爲a.out的文件中。(a.out即彙編輸出)

1.2.4 開發系統導引

一、應用程序

   系統爲正常運行(感受比原文的系統使用好)提供的程序包括用於程序開發的工具均可在目錄 /usr/bin

   某個特定的主機或本地網絡添加的程序一般可在目錄 /usr/local/bin或/opt中

   系統管理員喜歡用/opt和/usr/local目錄

   這樣的好處是在須要升級操做系統時就能夠看出來,由於只有/opt和/usr/local 裏的內容須要保存

   最好系統級的應用程序,將它放在/usr/local目錄中來運行訪問。

   開發和我的用的應用程序,最好在本地目錄中使用一個文件夾來存放它。

    GCC在/usr/bin或/usr/local/bin    但它會從其餘位置運行的應用程序,其餘位置在/usr/lib/gcc

    我使用的gentoo AMD64內核版本3.3.8  當前最新版本的穩定內核,在/usr/bin中找到了gcc,/usr/local/bin下空的沒有任何東西,/usr/lib/gcc這個位置有的 

二、頭文件

     對C語言來講頭文件位置幾乎老是位於/usr/include   //在/usr/include中找到stido.h,printf.h
     依賴於特定linux版本的頭文件一般可在目錄/usr/include/sys和/usr/include/linux
      
      能夠使用-I標誌來包含保存在子目錄或非標準位置的頭文件 //-I爲大寫i

       $gcc -I/usr/openwin/include fred.c

       它指示編譯器不只在標準位置也在指定的目錄中查找程序fred.c中包含的頭文件

       用grep命令來搜索特定定義和函數原型的頭文件是很方便的,假設想知道用於從程序中返回退出狀態的#define定義的名字,你只需切換到/usr/include目錄下,而後

        # grep EXIT_ *.h

        ............

        stdlib.h:#define EXIT_FAILURE 1 /* Failing exit status.  */

        stdlib.h:#define EXIT_SUCCESS 0 /* Successful exit status.  */

上面的grep命令在當前目錄下的全部以.h結尾的文件中搜索字符串EXIT_。在本例中,它在stdlib.h文件中找到你須要的定義。

相關文章
相關標籤/搜索