1. 程式人生 > >嵌入式Linux應用開發學習記錄(程式設計基礎)

嵌入式Linux應用開發學習記錄(程式設計基礎)

C/C++檔案 ->可執行檔案需4步:

1.預處理:處理include、巨集定義、條件編譯,輸出 .i 檔案

2.編譯:把C翻譯成彙編

3.彙編:彙編翻譯成機器程式碼(OBJ檔案)

4.連線:將上面生成的OBJ和庫的OBJ連線,生產可執行檔案

編譯和執行:

$  sudo gcc -o sh sheep.c  #輸出了可執行檔案
$  ./sh  #執行可執行檔案

$ sudo gcc -v -o sh sheep.c  #顯示編譯細節

$ sudo cpp -o sheep.i sheep.c #預處理,輸出了 sheep.i

$ sudo gcc -Wall sheep.c   #看警告

聯結器選項:

加-nostartfiles不連線系統標準啟動檔案,編譯bootloader、核心時用。

加-nostdlib不連線系統標準啟動檔案和標準庫檔案,編譯bootloader、核心時用。


$ find -name "sheep.c"   #查詢檔案
$ grep "sheep" * -nR      #查詢含有某個字串的檔案
 

vim makefile:

目標: 依賴1 依賴2...

        命令

當前目標下執行sudo make

打補丁:

$patch -px < ../補丁檔案     #px的x是忽略補丁指示的第x個目錄