第一章 入門

2021-06-04 15:49:33 字數 1623 閱讀 4386

第一章 入門。

1.linux應用程式表現為2種特殊型別的檔案:可執行檔案和指令碼檔案,對應windows下的。exe和批處理。linux不要求可執行檔案或指令碼有特殊的餓副檔名,檔案系統屬性用來表明乙個檔案是否為可執行程式。

2.我們是與乙個叫bash的指令碼進行互動的,指令碼裡可執行檔案的執行要麼在path環境變數裡, 要麼自己定義路徑,/bin為絕對路徑,bin為相對路徑,指的緊接著當前路徑往下。可以通過echo &path顯示環境變數,以:隔開,也可以加入或者刪除環境變數。

3.文字編輯器用的是vi或者vim,建議vim,因為程式的字型會給你顏色提示,使用的時候可以vim aa.txt,就建立或者開啟aa.txt了。

4.c語言編輯器選擇gcc,比如gcc -o hello hello.c,「-o hello」是乙個引數,依舊是-o後面必須緊跟著引數,hello.c也是引數,所以這2個位置應該可以互換。執行的時候最好./hello,.是當前目錄

5.系統正常使用提供的程式,都可在目錄/user/bin中找到,有點像windows的system32感覺。

6.可以使用-i標誌來包含儲存在子目錄或者非標準位置中的標頭檔案,例如gcc -i/usr/openwin/include/   fred.c, 他告訴編譯器,不僅在標準位置搜尋標頭檔案,也在/usr/openwin/include/ 路徑下搜尋fred.c的標頭檔案

7.庫檔案,標準庫檔案一般儲存在/lib和/usr/lib目錄中。.a代表靜態庫,.so代表動態庫,函式庫通常同時以靜態庫和動態庫同時存在,可以通過完整的庫的路徑名或用-l標誌來告訴編譯器要搜尋的庫檔案,例如gcc -o fred fred.c /user/lib/libm.a,告訴編譯器除了搜尋標準的的c語言函式庫外,還要搜尋數學庫,或者gcc - o fred fred.c -lm,-lm如果是共享庫,編譯器則自動選擇共享庫。

當然也可以通過-l標誌增加編譯器的苦的搜尋路徑,例如:gcc -o fred -l/usr/openvin/lib   fred.c -lx11,這條命令用 /usr/openvin/lib目錄中的libx11庫版本來編譯fred。

靜態庫的建立:

gcc -c bill.c fred.c  //編譯,形成.o檔案,相當於windows下的obj目標檔案,最後通過連線形成可執行檔案

gcc -c program.c 呼叫了庫檔案裡的函式,並且有乙個。h宣告了庫函式。

gcc -o program program.o bill.o//鏈結生成可執行檔案。

我也可以建立我自己的庫檔案,利用ar程式把目標檔案放到乙個庫里。

ar crv libfoo.a bill.o fred.o//庫檔案建立好了,目標檔案也放進去了,要想成功地使用函式庫,還需要乙個內容表,可以通過ranlib命令來完成,lib下,這一步不是必須的。

ranlib libfoo.a

現在庫函式可以使用了

gcc -o program program.o libfll.a 或者

gcc -o program program.o  -l. -lfoo

共享庫:

為了使發行後的庫函式可以修改,而不需要修改客戶的**,因為靜態庫會將庫函式連線到自己的可執行檔案中,如果庫函式錯了,客戶**也需要修改,所以引用了動態庫。

8.獲取幫助

man gcc

info gcc

第一章 Qt入門

執行結果 建立了乙個顯示 hello qt 的qlabel視窗部件。執行結果 字串中可以支援html樣式 執行結果 巨集signal 和slot 是qt語法中的一部分。執行結果 這個程式有三個視窗部件組成 乙個qspinbox,乙個qslider,乙個qwidget。qwidget是這個應用程式的主...

第一章 XML快速入門

第一章 xml快速入門 一 什麼是xml?二 xml是新概念嗎?三 使用xml有什麼好處?四 xml很難學嗎?五 xml和html的區別 六 xml的嚴格格式 七 關於xml的更多 一 什麼是xml?這往往是第乙個問題,也往往在第乙個問題上你就會搞不明白,因為大多的教材上這樣回答 xml是 exte...

第一章 Linux系統入門

一,本章內容 1,常見 linux 登入方式及適用範圍 2,常見關閉,重啟系統的命令及用範圍 3,linux 系統命令幫助 4,人機互動 shell 及分類,bash shell 的基本功能 5,管道及輸入輸出 備註 本linux系統為 rhel5.3 二,常見linux登入方式及適用範圍 1,圖形...