嵌入式linux的開發工具-vim、gcc、gdb、make
vim(文字編輯器):學會使用和如何配置vim
gcc(編輯器):學會製作動態庫和靜態庫,使用和區別
gdb(偵錯程式):設定斷點、單步執行、除錯記憶體錯誤
make(工程管理器):編寫makefile檔案
linux文字編輯器:vim–功能最強大文字編輯器—擺脫滑鼠
vi–vim–**im:命令模式(nyy\p\ndd\u)、插入模式(i\a)、底行模式(shift+:)
配置vim:etc\vim\vimrc
1、編譯器gcc 特點:是gnu的工具、交叉編譯器
2.原始檔到可執行檔案需要經歷哪幾個步驟?
預處理、編譯、彙編、連線
2.1標頭檔案符號差別:
<>:搜尋路徑:系統頭檔案目錄(/usr/include)
" ":搜尋路徑:先在當前目錄查詢,找不到再到系統的頭檔案目錄查詢。
2.2預處理:標頭檔案展開、巨集替換、條件編譯
-e:預處理階段停止
-i:指定標頭檔案路徑
-d:新增巨集定義
2.3編譯:將預處理檔案編譯成彙編檔案.s
-s:在編譯階段停止
2.4彙編:將彙編檔案編譯生成目標檔案.o
-c:彙編結束後停止
-o:重新命名可執行檔案
-wall開警告
-w關警告
2.5鏈結:建立符號表–可執行檔案a.out
3.交叉編譯:在當前cpu平台下編譯出在其他cpu平台下可執行的**
4.靜態庫(.a)和動態庫(.so)的製作
4.1、什麼庫檔案?儲存函式和變數(倉庫)特點:儲存的函式與變數,只能使用但不能看到其實現。
4.2、linux庫檔案:
靜態庫:在編譯階段載入;(將庫檔案的**載入到原始檔)
動態庫:在執行時載入;
4.3靜態庫和動態庫生成的可執行檔案的區別(優缺點)
(1)靜態庫生成的可執行檔案大於動態庫生成的可執行檔案(程式執行占用記憶體較多)
(2)靜態庫生成的可執行檔案難以公升級;使用動態庫生成的可執行檔案易於公升級
(3)靜態庫生成的可執行檔案執行速度快;使用動態庫生成的可執行檔案執行速度慢
(4)靜態庫可執行檔案裡的**容易部署;使用動 態庫可執行檔案裡的**難以部署
4.4製作靜態庫步驟:
(1)將需要儲存的函式所在的檔案編譯生成目標檔案 gcc -c add.c—>add.o
(2)靜態庫的製作工具:ar
ar rcs(不存在就建立,存在就更新) 庫名 目標檔名
ar rcs libadd.a add.o
(3)使用:
gcc 原始檔 -l庫名 -l庫存放的路徑
gcc main.c -ladd -l -o add
4.5製作動態庫步驟:
(1)gcc -shared -fpic 原始檔 -o libcal.so
(2)使用:
cp libcal.so/usr/lib
gcc main.c -lcal
gcc main.c./libcal.so -o cal
5.linux庫檔案存放路徑:
/lib:存放的系統執行所需要的庫
/usr/lib:存放的是程式執行所需要的庫
嵌入式學習 day 3
1.linux 中顏色所代表的屬性 綠色檔案 可執行檔案 可執行程式 紅色檔案 壓縮檔案或者包檔案 藍色檔案 目錄 白色檔案 一般檔案 如文字檔案 淺藍色檔案 鏈結檔案 紅色 閃爍 表示鏈結的檔案有問題 黃色檔案 表示裝置檔案 2.檔案目錄的許可權以及修改許可權 首先了解各個許可權 rwx rwx ...
嵌入式學習Day3
1 vim編輯器 vim的三種模式 命令模式 vim開啟檔案,就是命令模式。插入模式 按a或i進入插入模式,按esc回到命令模式。底行模式 按 進入底行模式,或 此時按wq儲存退出。常用在命令模式下按shift zz儲存退出。命令模式下 1 x 刪除乙個字元,nx 刪除n格字元。2 dd 刪除 剪下...
嵌入式實訓DAY3
對c語言各個版本標準的整理 c90 1 增加了真正的標準庫 2 新的預處理命令與特性 3 函式原型允許在函式申明中 4 指定引數型別一些新的關鍵字,包括 const volatile 與 signed 5 寬字元 寬字串與多位元組字元 6 對約定規則 宣告和型別檢查的許多小改動與澄清 c99 1 增...