嵌入式入門day3

2021-10-03 18:01:20 字數 1845 閱讀 8461

嵌入式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 增...