嵌入式Linux 應用程序開發(fā)教程03-Linux下的C編程基礎.ppt_第1頁
嵌入式Linux 應用程序開發(fā)教程03-Linux下的C編程基礎.ppt_第2頁
嵌入式Linux 應用程序開發(fā)教程03-Linux下的C編程基礎.ppt_第3頁
嵌入式Linux 應用程序開發(fā)教程03-Linux下的C編程基礎.ppt_第4頁
嵌入式Linux 應用程序開發(fā)教程03-Linux下的C編程基礎.ppt_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

嵌入式Linux應用程序開發(fā)標準教程 三Linux下的C編程基礎 第三章Linux下的C編程基礎本章目標熟悉Linux系統(tǒng)下開發(fā)環(huán)境熟悉gcc編譯器基本原理熟練使用gcc編譯器常用選項熟練使用gdb調試技術熟悉Makefile基本原理及語法規(guī)范熟練使用autoconf和automake生成Makefile 嵌入式Linux應用程序開發(fā)標準教程 3 1Linux下C語言編程概述 3 1 1C語言簡單回顧ANSIC硬件無關性中級語言結構化語言功能齊全可移植性強 編譯過程示意圖 嵌入式Linux應用程序開發(fā)標準教程 3 1Linux下C語言編程概述 3 1 2Linux下C語言編程環(huán)境概述編輯器vi編譯鏈接器gcc調試器gdb項目管理工具make 嵌入式Linux應用程序開發(fā)標準教程 3 3gcc編譯器 gcc編譯器版本GNUCompilerCollectionhttp gcc gnu orgGNUCC4 6 2 2011 10 26 GNUCC4 6 3 GCC4 3 0 GCC2 95 July31 1999 GCC3 0 June18 2001 GCC3 2 August14 2002 GCC3 3 May13 2003 December3 1997 GCC4 4 5 GCC4 6 3 Oct26 2011 嵌入式Linux應用程序開發(fā)標準教程 3 3gcc編譯器 gcc編譯環(huán)境GNUCCANSICC C ObjectC Java Fortran Pascal 嵌入式Linux應用程序開發(fā)標準教程 3 3gcc編譯器 3 3 1gcc編譯流程解析gcc編譯過程格式 gcc 選項 源文件 選項 目標文件 Pre processor cpp gcc E Compiler cc1 gcc S Assembler as gcc c Linker ld hello c text hello i text hello s text hello o binary hello binary printf o binary 預處理 生成文件 編譯文件 i 編譯 代碼翻譯成匯編語言 編譯文件 s 匯編 轉成目標文件 編譯文件 o二進制代碼 連接 默認使用動態(tài)庫 生成可執(zhí)行文件 嵌入式Linux應用程序開發(fā)標準教程 3 3gcc編譯器 3 3 2gcc編譯選項分析 1 總體選項 嵌入式Linux應用程序開發(fā)標準教程 3 3gcc編譯器 3 3 2gcc編譯選項分析 2 警告和出錯選項 3 優(yōu)化選項 On來控制優(yōu)化代碼的生成 0 1 2 3調試的時候最好不使用任何優(yōu)化選項 只有當程序在最終發(fā)行的時候才考慮對其進行優(yōu)化 嵌入式Linux應用程序開發(fā)標準教程 3 4gdb調試器 3 4 1gdb使用流程gcc編譯過程一定要加上選項 g gdb調試可執(zhí)行文件查看文件l設置斷點bnbnifvar 20查看斷點情況infob運行代碼r查看變量值p 變量名單步運行ns恢復程序運行c 嵌入式Linux應用程序開發(fā)標準教程 3 4gdb調試器 3 4 2gdb基本命令help1 工作環(huán)境相關命令2 設置斷點與恢復命令函數斷點條件斷點3 gdb中源碼查看相關命令4 gdb中查看運行數據相關命令5 gdb中修改運行參數相關命令實驗 用gdb調試程序的bug P87 嵌入式Linux應用程序開發(fā)標準教程 3 5Make工程管理器 自動編譯管理器通過讀入Makefile文件的內容來執(zhí)行大量編譯工作用戶只需編寫一次簡單的編譯語句3 5 1Makefile基本結構Makefile是Make讀入的唯一配置文件需要由make工具創(chuàng)建的目標體 target 通常是目標文件或可執(zhí)行文件要創(chuàng)建的目標體所依賴的文件 dependency file 創(chuàng)建每個目標體時需要運行的命令 command 嵌入式Linux應用程序開發(fā)標準教程 3 5Make工程管理器 3 5 1Makefile基本結構Makefile格式target dependency filescommandMake格式maketarget示例 hello o hello chello hgcc chello c ohello omakehello o 嵌入式Linux應用程序開發(fā)標準教程 3 5Make工程管理器 3 5 2Makefile變量時間戳make允許在Makefile中創(chuàng)建和使用變量變量是在Makefile中定義的名字 用來代替一個文本字符串 該文本字符串稱為該變量的值可以代替目標體 依賴文件 命令以及makefile文件中其他部分兩種變量定義方式遞歸展開方式 格式為VAR var簡單展開方式 定義格式為VAR varMake中變量格式為 VAR 嵌入式Linux應用程序開發(fā)標準教程 3 5Make工程管理器 3 5 2Makefile變量預定義變量 嵌入式Linux應用程序開發(fā)標準教程 3 5Make工程管理器 3 5 2Makefile變量Makefile中常見自動變量 嵌入式Linux應用程序開發(fā)標準教程 3 5Make工程管理器 3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論