版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章 Linux下C編程,5.1 C語言簡介,在80年代末期美國國家標(biāo)準(zhǔn)協(xié)會(American National Standards Institute)發(fā)布了一個被稱為ANSI C的C語言標(biāo)準(zhǔn)。這更加保證了將來在不同平臺上的C的一致性。 Linux上可用的C編譯器是GNU C編譯器, 它建立在自由軟件基金會的編程許可證的基礎(chǔ)上,因此可以自由發(fā)布。你能在Linux的發(fā)行光盤上找到它,5.2 GNU C 編 譯 器,一、基本用法 gcc options filenames 說明: 在gcc后面可以有多個編譯選項,同時進行多個編譯操作。很多的gcc選項包括一個以上的字符。因此你必須為每個選項指定
2、各自的連字符。例如,下面的兩個命令是不同的: gcc -p -g test1.c gcc -pg test1.c 當(dāng)你不用任何選項編譯一個程序時,GCC將會建立(假定編譯成功)一個名為a.out的可執(zhí)行文件。,基本編譯選項,-o選項 你能用 -o 編譯選項來為將產(chǎn)生的可執(zhí)行文件指定一個文件名來代替 a.out。 例:gcc o count count.c -c選項:告訴GCC僅把源代碼編譯為目標(biāo)代碼而跳過匯編和連接的步驟。這個選項使用的非常頻繁,因為它使得編譯多個C程序時速度更快并且更易于管理。缺省時GCC建立的目標(biāo)代碼文件有一個.o的擴展名。 例:gcc c test2.c,警告選項,在gc
3、c中用開關(guān)-Wall控制警告信息,使用示例命令如下: gcc Wall -o test3_1 test3_1.c,查找選項,gcc一般使用默認(rèn)路徑查找頭文件和庫文件。如果文件所用的頭文件或庫文件不在缺省目錄下,則編譯時要指定它們的查找路徑。 -I選項:指定頭文件的搜索目錄 例: gcc I/export/home/st o test1 test1.c -L選項:指定庫文件的搜索目錄 例: gcc L/usr/X11/R6/lib o test1 test1.c,多個源文件生成一個可執(zhí)行文件,問題:有多個源文件時,如何生成一個可執(zhí)行文件? 方法1:gcc Wall o mytest test1.
4、c test2.c test3.c 方法2: gcc-Wall -c test1.c gcc-Wall c test2.c gcc-Wall c test3.c gcc o mytest test1.o test2.o test3.o,優(yōu)化選項,優(yōu)化選項可以使GCC在耗費更多編譯時間和犧牲易調(diào)試性的基礎(chǔ)上產(chǎn)生更小更快的可執(zhí)行文件。這些選項中最典型的是-O和-O2選項。 -O選項:告訴GCC對源代碼進行基本優(yōu)化。這些優(yōu)化在大多數(shù)情況下都會使程序執(zhí)行的更快。 -O2選項:告訴GCC 產(chǎn)生盡可能小和盡可能快的代碼。-O2選項將使編譯的速度比使用-O時慢。但通常產(chǎn)生的代碼執(zhí)行速度會更快。,版本選項,-
5、v選項 用戶將會得到自己目前正在使用的gcc的版本及與版本相關(guān)的一些信息。 gcc -v 將得到如下結(jié)果: Reading specs from /usr/lib/gcc-lib/i486-box-linux/2.7.2/specs gcc version 2.7.2 -V 選項 如果安裝了多個版本的gcc,并且想強制執(zhí)行其中的某個版本,可以用命令通知系統(tǒng)用戶要使用的版本。 gcc -V2.6.3 -v,調(diào)試和剖析選項,使用調(diào)試選項后,gcc在進行編譯的時候,在目標(biāo)文件(.o)和創(chuàng)建的可執(zhí)行文件中插入額外信息,這些額外信息使gdb能夠判斷編譯過的代碼和源代碼之間的關(guān)系。 -g選項:告訴GCC產(chǎn)
6、生能被 GNU 調(diào)試器使用的調(diào)試信息以便調(diào)試你的程序。 例:gcc g o test3 test3.c -pg選項:告訴GCC在你的程序里加入額外的代碼,執(zhí)行時,產(chǎn)生gprof用的剖析信息以顯示你的程序的耗時情況。 使用gdb調(diào)試工具,命令行如下: 例:gcc ggdb3 o test3 test3.c,其他編譯調(diào)試工具,g+:C+編譯工具 egcs:把對gcc的改進都集成過來 pgcc:對奔騰CPU進行優(yōu)化 calls:輸出文件里的函數(shù)調(diào)用樹圖 cprto:讀入源文件自動產(chǎn)生函數(shù)原型聲明 indent:產(chǎn)生美觀縮進模式 gprof:程序那個部分執(zhí)行最費時間 f2c 命令菜單 命令菜單 說明:
7、表示可選,表示可以多次出現(xiàn) 涉及的文件名允許用通配符 例子:c程序test5_1.txt和它的makefile,程序自動維護工具make,make 命令的使用,make option macrodef target make命令默認(rèn)的文件是makefile(Makefile),也可以用“-f 文件名”指定要解釋執(zhí)行的文件。 make默認(rèn)從文件指定的第一條規(guī)則開始執(zhí)行,并根據(jù)第一條中的依賴文件順次執(zhí)行。也可以通過target直接指定執(zhí)行的目標(biāo)。,QT編程簡介,Qt是Trolltech公司的產(chǎn)品,Trolltech是挪威的一家軟件公司,主要開發(fā)兩種產(chǎn)品: 一種是跨平臺應(yīng)用程序界面框架 另外一種就是
8、提供給做嵌入式Linux開發(fā)的應(yīng)用程序平臺,能夠應(yīng)用到PDA和各種移動設(shè)備,QT編程簡介,Qt 是一個多平臺的C+圖形用戶界面應(yīng)用程序框架,它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。Qt 是完全面向?qū)ο?,很容易進行擴展,并且允許真正的組件編程。 1996 年開始,Qt 正式進入商業(yè)領(lǐng)域,它成為了全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序的基礎(chǔ)。Qt 同時也是流行的Linux 桌面環(huán)境KDE 的基礎(chǔ),QT編程簡介,Qt 目前支持以下平臺: MS/Windows - 95、98、NT 4.0、ME、XP、2000、2003(新版Qt 兼容.NET) Unix/X11 - Linux、Su
9、n Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX 和其它很多X11 平臺 Macintosh - Mac OS X Embedded - 有幀緩沖(framebuffer)支持的Linux 平臺。,QT編程簡介,Qt 有以下幾個版本: Qt 企業(yè)版和Qt 專業(yè)版 提供給商業(yè)軟件開發(fā)。它們提供傳統(tǒng)商業(yè)軟件發(fā)行版并且提供免費升級和技術(shù)支持服務(wù)。 Qt自由版是Qt僅僅為了開發(fā)自由和開放源碼軟件 提供的Unix/X11 版本。 Qt/嵌入式自由版是Qt為了開發(fā)自由軟件提供的嵌入式版本。在GNU通用公共許可證下,它是免費的。,QT編程例子,輸入 des
10、igner 打開qt設(shè)計器 運行Qt Designer,點擊菜單File-new,新建一個項目,QT編程例子,這里選擇C+ Project,確定。接下來會提示項目保存位置 選擇保存路徑和文件名,確定。,QT編程例子,選擇菜單File-new,新建一個窗口,選擇Dialog,確定,QT編程例子,設(shè)置Form1 的Caption 為“我的程序”,在Property Editor 設(shè)置窗口屬性,如果你的IDE 上看不到Property Editor,請通過菜單Windows-Views,將Property Editor/Signal Handlers 選上。 接著在窗口上放一個TextLabel,選
11、擇Toolbox 上的Common Widgets 上的TextLabe, 再添加一個按鈕,PushButton,,QT編程例子,將textLabel1 的Text 設(shè)為“Hello World”,pushButton1 的Text 設(shè)為“關(guān)閉”。接下來 為關(guān)閉按鈕添加事件,選擇菜單Edit-Connections.,彈出View and Edit Connections窗口,點擊按鈕“New”在新增項中,Sender 選擇pushButton1,Signal 選擇Clicked(),Receiver選擇Form1,Slot 選擇Close(),確定然后保存,,QT編程例子,到這里,基本就快完成我們的Hello World 了,我們還需要一個main.cpp 文件,點擊菜單 File-new,選擇C+ main file(main.cpp) 文件名filename:main.cpp,程序主窗Main-Form:Form,確定,Qt 會自動生成main.cpp 文件代碼,,QT編程例子,到這里我們的第二個Hello Worl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026江蘇連云港市云港發(fā)展集團有限公司招聘2人筆試參考題庫及答案解析
- 2026年菏澤市定陶區(qū)事業(yè)單位公開招聘初級綜合類崗位人員(10人)筆試模擬試題及答案解析
- 2026浙江杭州市第七人民醫(yī)院供應(yīng)室招聘1人筆試備考試題及答案解析
- 重慶培訓(xùn)督導(dǎo)制度
- 景區(qū)觀光車培訓(xùn)制度
- 培訓(xùn)班教師考勤考績制度
- 堅持教育培訓(xùn)制度
- 口腔感染控制培訓(xùn)制度
- 培訓(xùn)機構(gòu)年費退費制度
- 勞務(wù)職工培訓(xùn)制度規(guī)定
- 車輛叉車日常檢查記錄表
- 廣東高校畢業(yè)生“三支一扶”計劃招募考試真題2024
- 膠帶機硫化工藝.課件
- 種雞免疫工作總結(jié)
- 河南省商丘市柘城縣2024-2025學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(含答案)
- 河南省信陽市2024-2025學(xué)年高二上學(xué)期1月期末英語試題(含答案無聽力原文及音頻)
- 給女朋友申請書
- 八下《桃花源記》《小石潭記》全文背誦(原文+譯文)
- 【8地RJ期末】安徽省蕪湖市2024-2025學(xué)年八年級上學(xué)期期末考試地理試卷+
- 智能法理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 長護險護理培訓(xùn)課件
評論
0/150
提交評論