![嵌入式Linux-C語言程序設(shè)計基礎(chǔ)教程第1章-課件_第1頁](http://file4.renrendoc.com/view/53ce0b4245fc24e33f070f40dceea704/53ce0b4245fc24e33f070f40dceea7041.gif)
![嵌入式Linux-C語言程序設(shè)計基礎(chǔ)教程第1章-課件_第2頁](http://file4.renrendoc.com/view/53ce0b4245fc24e33f070f40dceea704/53ce0b4245fc24e33f070f40dceea7042.gif)
![嵌入式Linux-C語言程序設(shè)計基礎(chǔ)教程第1章-課件_第3頁](http://file4.renrendoc.com/view/53ce0b4245fc24e33f070f40dceea704/53ce0b4245fc24e33f070f40dceea7043.gif)
![嵌入式Linux-C語言程序設(shè)計基礎(chǔ)教程第1章-課件_第4頁](http://file4.renrendoc.com/view/53ce0b4245fc24e33f070f40dceea704/53ce0b4245fc24e33f070f40dceea7044.gif)
![嵌入式Linux-C語言程序設(shè)計基礎(chǔ)教程第1章-課件_第5頁](http://file4.renrendoc.com/view/53ce0b4245fc24e33f070f40dceea704/53ce0b4245fc24e33f070f40dceea7045.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第一章嵌入式LinuxC語言開發(fā)工具嵌入式Linux-C語言程序設(shè)計基礎(chǔ)教程第1章-課件本章的要求了解C語言產(chǎn)生的歷史背景熟悉嵌入式Linux下C語言的開發(fā)環(huán)境熟練使用嵌入式Linux下的編輯器vi熟悉嵌入式Linux下的編譯器GCC熟悉嵌入式Linux下的調(diào)試器GDB熟悉嵌入式Linux下的工程管理器make了解eclipse集成開發(fā)環(huán)境
本章的要求了解C語言產(chǎn)生的歷史背景1.1嵌入式LINUX下C語言概述1.1嵌入式LINUX下C語言概述C語言C語言最早是由貝爾實驗室的DennisRitchie為了UNIX的輔助開發(fā)而編寫的,它是在B語言的基礎(chǔ)上開發(fā)出來的。盡管C語言不是專門針對UNIX操作系統(tǒng)或機器編寫的,但它與UNIX系統(tǒng)的關(guān)系十分緊密。由于它的硬件無關(guān)性和可移植性,使C語言逐漸成為世界上使用最廣泛計算機語言。為了進一步規(guī)范C語言的硬件無關(guān)性,1987年,美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴充,制定了新的標(biāo)準(zhǔn),稱為ANSIC。ANSIC語言比原來的標(biāo)準(zhǔn)C語言有了很大的發(fā)展。目前流行的C語言編譯系統(tǒng)都是以它為基礎(chǔ)的。C語言C語言最早是由貝爾實驗室的DennisRitchieC語言的特點C語言的成功并不是偶然的,它強大的功能和它的可移植性讓它能在各種硬件平臺上游刃自如。總體而言,C語言有如下特點。
C語言是“中級語言”。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元。
C語言是結(jié)構(gòu)化的語言。C語言采用代碼及數(shù)據(jù)分隔,使程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便地調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。
C語言功能齊全。C語言具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外,C語言也具有強大的圖形功能,支持多種顯示器和驅(qū)動器,而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的。
C語言可移植性強。C語言適合多種操作系統(tǒng),如DOS、Windows、Linux,也適合多種體系結(jié)構(gòu),因此尤其適合在嵌入式領(lǐng)域的開發(fā)。C語言的特點C語言的成功并不是偶然的,它強大的功能和它的可移1.2嵌入式LINUX編輯器VI的使用1.2嵌入式LINUX編輯器VI的使用編輯器Linux中最常用的編輯器有vi(vim)和emacs編輯器Linux中最常用的編輯器有vi(vim)和emacsvi:命令-輸入-底行模式命令模式底行模式輸入模式vi:命令-輸入-底行模式命令模式底行模式輸入模式vi用法---編輯新增(append)
--a
從光標(biāo)所在位置後面開始新增資料,光標(biāo)後的資料隨新增資料向後移動。
--A
從光標(biāo)所在列最後面的地方開始新增資料。插入(insert)
--i從光標(biāo)所在位置前面開始插入資料,光標(biāo)後的資料隨新增資料向後移動。
--I從光標(biāo)列的第一個非空白字符前面開始插入資料。開始(open)
--o
在光標(biāo)所在列下新增一列并進入輸入模式。
--O
在光標(biāo)所在列上方新增一列并進入輸入模式。vi用法---編輯新增(append)
--a從vi用法---修改和刪除x
刪除光標(biāo)所在字符。dd
刪除光標(biāo)所在的列。r修改光標(biāo)所在字符,r後接著要修正的字符R進入取代狀態(tài),新增資料會覆改原先資料,直到按[ESC]回到指令模式下為止。s
刪除光標(biāo)所在字符,并進入輸入模式。S
刪除光標(biāo)所在的列,并進入輸入模式。vi用法---修改和刪除x刪除光標(biāo)所在字符。vi用法---退出<:q>不保存退出<:q!>不保存強制性退出<:w>保存編輯<:wfilename>存入文件filename中<:w!filename>強制性存入文件filename中<:wq>(<:x>)保存并退出(shift+zz)vi用法---退出<:q>不保存退出vi用法---光標(biāo)移動<b>移動到當(dāng)前單詞的開始<e>移動到當(dāng)前單詞的結(jié)尾<w>向前移動一個單詞<h>向前移動一個字符<j>向上移動一行<k>向下移動一行<l>向后移動一個字符vi用法---光標(biāo)移動<b>移動到當(dāng)前單詞的開始vi用法---替換操作<r>替換光標(biāo)所在的字符<R>替換字符序列<cw>替換一個單詞<ce>同<cw><cb>替換光標(biāo)所在的前一字符<c$>替換自光標(biāo)位置至行尾的所有字符<C>同<c$><cc>替換當(dāng)前行vi用法---替換操作<r>替換光標(biāo)所在的字符vi用法---復(fù)制與粘貼</yw>將光標(biāo)所在單詞拷入剪貼板<y$>將光標(biāo)至行尾的字符拷入剪貼板<Y>同<y$><yy>將當(dāng)前行拷入剪貼板<p>將剪貼板中的內(nèi)容粘貼在光標(biāo)后<P>將剪貼板中的內(nèi)容粘貼在光標(biāo)前vi用法---復(fù)制與粘貼</yw>將光標(biāo)所在單詞拷入剪貼1.3嵌入式LINUX編譯器GCC的使用1.3嵌入式LINUX編譯器GCC的使用gcc編譯器GNUCC(簡稱為gcc)是GNU項目中符合ANSIC標(biāo)準(zhǔn)的編譯系統(tǒng),能夠編譯用C、C++和ObjectC等語言編寫的程序。gcc不僅功能強大,而且可以編譯如C、C++、ObjectC、Java、Fortran、Pascal、Modula-3和Ada等多種語言,而且gcc又是一個交叉平臺編譯器,它能夠在當(dāng)前CPU平臺上為多種不同體系結(jié)構(gòu)的硬件平臺開發(fā)軟件,因此尤其適合在嵌入式領(lǐng)域的開發(fā)編譯。gcc編譯器GNUCC(簡稱為gcc)是GNU項目中符合gcc編譯過程gcc編譯過程gcc所支持后綴名解釋gcc所支持后綴名解釋gcc---預(yù)處理階段在該階段,對包含的頭文件(#include)和宏定義(#define、#ifdef等)進行處理??梢允褂胓cc的選項“-E”
讓gcc在預(yù)處理結(jié)束后停止編譯過程。
[root@localhostgcc]#gcc–Ehello.c–ohello.i/*hello.i*/……typedefint(*__gconv_trans_fct)(struct__gconv_step*,struct__gconv_step_data*,void*,__constunsignedchar*,__constunsignedchar**,__constunsignedchar*,unsignedchar**,size_t*);……#2"hello.c"2intmain(){ printf("Hello!Thisisourembeddedworld!\n"); return0;}gcc---預(yù)處理階段在該階段,對包含的頭文件(#incgcc---編譯階段(1)接下來進行的是編譯階段,在這個階段中,gcc首先要檢查代碼的規(guī)范性、是否有語法錯誤等,以確定代碼的實際要做的工作,在檢查無誤后,gcc把代碼翻譯成匯編語言。用戶可以使用“-S”選項來進行查看,該選項只進行編譯而不進行匯編,生成匯編代碼。[root@localhostgcc]#gcc–Shello.i–ohello.sgcc---編譯階段(1)接下來進行的是編譯階段,在這個階gcc---編譯階段(2)/*hello.s*/.file "hello.c".section .rodata.align4.LC0:.string "Hello!Thisisourembeddedworld!".text.globlmain.typemain,@functionmain:pushl%ebpmovl%esp,%ebpsubl$8,%espandl$-16,%espmovl$0,%eax
addl$15,%eaxaddl$15,%eaxshrl$4,%eaxsall$4,%eaxsubl%eax,%espsubl$12,%esppushl$.LC0callputsaddl$16,%espmovl$0,%eaxleaveret.size main,.-main.ident "GCC:(GNU)4.0.0200X0Y19(RedHat4.0.0-8)".section .note.GNU-stack,"",@progbitsgcc---編譯階段(2)/*hello.s*/gcc---常用選項[root@localhostgcc]gcchello1.c–I/root/workplace/gcc/-ohello1gcc---常用選項[root@localhostgcgcc---庫選項函數(shù)庫分為靜態(tài)庫和動態(tài)庫兩種,靜態(tài)庫是一系列的目標(biāo)文件(.o文件)的歸檔文件(文件名格式為libname.a),如果在編譯某個程序時鏈接靜態(tài)庫,則鏈接器將會搜索靜態(tài)庫,從中提取出它所需要的目標(biāo)文件并直接拷貝到該程序的可執(zhí)行二進制文件(ELF格式文件)之中;動態(tài)庫(文件名格式為libname.so[.主版本號.次版本號.發(fā)行號])在程序編譯時并不會被鏈接到目標(biāo)代碼中,而是在程序運行時才被載入。gcc---庫選項函數(shù)庫分為靜態(tài)庫和動態(tài)庫兩種,靜態(tài)庫是Linux函數(shù)庫的創(chuàng)建與使用(1)/*unsgn_pow.c:庫程序*/unsignedlonglongunsgn_pow(unsignedintx,unsignedinty){
unsignedlonglongres=1;
if(y==0){res=1;}elseif(y==1){res=x;
}else{res=x*unsgn_pow(x,y-1);
}returnres;}/*pow_test.c*/#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){unsignedintx,y;unsignedlonglongres;if((argc<3)||(sscanf(argv[1],"%u",&x)!=1)||(sscanf(argv[2],"%u",&y))!=1)
{printf("Usage:powbaseexponent\n");exit(1);}res=unsgn_pow(x,y);printf("%u^%u=%u\n",x,y,res);exit(0);}Linux函數(shù)庫的創(chuàng)建與使用(1)/*unsgn_pow.靜態(tài)庫$gcc-cunsgn_pow.c
$arrcsvlibpow.aunsgn_pow.o a-unsgn_pow.o$gcc-opow_testpow_test.c-L.–lpow$./pow_test210 2^10=1024
靜態(tài)庫$gcc-cunsgn_pow.c動態(tài)庫$gcc-fPIC-Wall-cunsgn_pow.c$gcc-shared-olibpow.sounsgn_pow.o$gcc-opow_testpow_test.c-L.–lpow
在運行可執(zhí)行程序之前,需要注冊動態(tài)庫的路徑名。其方法有幾種:修改/etc/ld.so.conf文件,或者修改LD_LIBRARY_PATH環(huán)境變量,或者將庫文件直接拷貝到/lib或者/usr/lib目錄下(這兩個目錄為系統(tǒng)的默認(rèn)的庫路徑名)。$cplibpow.so/lib$./pow_test210 2^10=1024
動態(tài)庫$gcc-fPIC-Wall-cun靜態(tài)庫與動態(tài)庫的比較動態(tài)庫只有在使用它的程序執(zhí)行時才被鏈接使用,而不是將需要的部分直接編譯入可執(zhí)行文件中,并且一個動態(tài)庫可以被多個程序使用故可稱為共享庫,而靜態(tài)庫將會整合到程序中,因此在程序執(zhí)行時不用加載靜態(tài)庫。從而可知,鏈接到靜態(tài)庫會使你的程序臃腫,并且難以升級,但是可能會比較容易部署。而鏈接到動態(tài)庫會使你的程序輕便,并且易于升級,但是會難以部署。靜態(tài)庫與動態(tài)庫的比較動態(tài)庫只有在使用它的程序執(zhí)行時才被鏈接使gcc---警告選項(1)$gcc–ansiwarning.c–owarningwarning.c:在函數(shù)“main”中:warning.c:7警告:在無返回值的函數(shù)中,“return”帶返回值warning.c:4警告:“main”的返回類型不是“int”
gcc---警告選項(1)$gcc–ansiwargcc---警告選項(2)$gcc–pedanticwarning.c–owarningwarning.c:在函數(shù)“main”中:warning.c:5警告:ISOC90不支持“l(fā)onglong”warning.c:7警告:在無返回值的函數(shù)中,“return”帶返回值warning.c:4警告:“main”的返回類型不是“int”
$gcc–Wallwarning.c–owarningwarning.c:4警告:“main”的返回類型不是“int”warning.c:在函數(shù)“main”中:warning.c:7警告:在無返回值的函數(shù)中,“return”帶返回值warning.c:5警告:未使用的變量“tmp”
gcc---警告選項(2)$gcc–pedanticgcc---優(yōu)化選項gcc可以對代碼進行優(yōu)化,它通過編譯選項“-On”來控制優(yōu)化代碼的生成,其中n是一個代表優(yōu)化級別的整數(shù)。不同的優(yōu)化級別對應(yīng)不同的優(yōu)化處理工作。如使用優(yōu)化選項“-O”主要進行線程跳轉(zhuǎn)(ThreadJump)和延遲退棧(DeferredStackPops)兩種優(yōu)化。使用優(yōu)化選項“-O2”除了完成所有“-O1”級別的優(yōu)化之外,同時還要進行一些額外的調(diào)整工作,如處理器指令調(diào)度等。選項“-O3”則還包括循環(huán)展開和其他一些與處理器特性相關(guān)的優(yōu)化工作??赡苓m合使用優(yōu)化選項的場合:程序發(fā)行不太適合使用優(yōu)化選項的場合:程序開發(fā)gcc---優(yōu)化選項gcc可以對代碼進行優(yōu)化,它通過編譯gcc---體系結(jié)構(gòu)相關(guān)選項gcc---體系結(jié)構(gòu)相關(guān)選項1.4嵌入式LINUX調(diào)試器GDB的使用1.4嵌入式LINUX調(diào)試器GDB的使用gdb使用方法(1)gdb調(diào)試器是一款GNU開發(fā)組織并發(fā)布的UNIX/Linux下的程序調(diào)試工具。雖然,它沒有圖形化的友好界面,但是它強大的功能也足以與微軟的VC工具等媲美。$gcc-gtest.c-otest$gdbtestGNUgdbRedHatLinux(-1.21rh)Copyright2004FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/ordistributecopiesofitundercertainconditions.Type"showcopying"toseetheconditions.ThereisabsolutelynowarrantyforGDB.Type"showwarranty"fordetails.ThisGDBwasconfiguredas"i386-redhat-linux-gnu"...Usinghostlibthread_dblibrary"/lib/libthread_db.so.1".(gdb)gdb使用方法(1)gdb調(diào)試器是一款GNU開發(fā)組織并發(fā)布的gdb使用方法(2)(gdb)b6Breakpoint1at0x804846d:filetest.c,line6.(gdb)l1#include<stdio.h>2intsum(intm);3intmain()4{5inti,n=0;6sum(50);7for(i=1;i<=50;i++)8{9 n+=i;10}(gdb)l11printf("Thesumof1~50is%d\n",n);1213}14intsum(intm)15{16inti,n=0;17for(i=1;i<=m;i++)18{19 n+=i;20}21printf("Thesumof1~mis=%d\n",n);20}(gdb)b19(gdb)cBreakpoin2,sum(m=50)attest.c:1919 printf(“Thesumof1-mis%d\n”,n);(gdb)bt#0 sum(m=50)attest.c:19#1 0x080483e8inmain()attest.c:6(gdb)infobNumTypeDispEnbAddressWhat1breakpointkeepy0x0804846dinmainattest.c:6(gdb)rStartingprogram:/root/workplace/gdb/testReadingsymbolsfromsharedobjectreadfromtargetmemory...done.LoadedsystemsuppliedDSOat0x5fb000Breakpoint1,main()attest.c:66sum(50);gdb使用方法(2)(gdb)b6(gdb)l(gdbgdb使用方法(3)(gdb)pn$1=0(gdb)pi$2=134518440(gdb)nThesumof1-mis12757for(i=1;i<=50;i++)(gdb)ssum(m=50)attest.c:1616inti,n=0;(gdb)cContinuing.Thesumof1-50is:1275Programexitedwithcode031.(gdb)helpListofclassesofcommands:aliases--Aliasesofothercommandsbreakpoints--Makingprogramstopatcertainpointsdata--Examiningdatafiles--Specifyingandexaminingfilesinternals--Maintenancecommands…Type"help"followedbyaclassnameforalistofcommandsinthatclass.Type"help"followedbycommandnameforfulldocumentation.Commandnameabbreviationsareallowedifunambiguous.(gdb)helpcallCallafunctionintheprogram.Theargumentisthefunctionnameandarguments,inthenotationofthecurrentworkinglanguage.Theresultisprintedandsavedinthevaluehistory,ifitisnotvoid.gdb使用方法(3)(gdb)pn(gdb)n(gdbgdb工作環(huán)境相關(guān)命令gdb工作環(huán)境相關(guān)命令gdb設(shè)置斷點與恢復(fù)命令gdb設(shè)置斷點與恢復(fù)命令gdb中源碼查看相關(guān)相關(guān)命令gdb中源碼查看相關(guān)相關(guān)命令gdb中查看運行數(shù)據(jù)的相關(guān)命令gdb中查看運行數(shù)據(jù)的相關(guān)命令1.5MAKE工程管理器1.5MAKE工程管理器make工程管理器工程管理器,顧名思義,是指管理較多的文件Make工程管理器也就是個“自動編譯管理器”,這里的“自動”是指它能構(gòu)根據(jù)文件時間戳自動發(fā)現(xiàn)更新過的文件而減少編譯的工作量,同時,它通過讀入Makefile文件文件的內(nèi)容來執(zhí)行大量的編譯工作make工程管理器工程管理器,顧名思義,是指管理較多的文件makefile基本結(jié)構(gòu)(1)makefile是make讀入的惟一配置文件,因此本節(jié)的內(nèi)容實際就是講述makefile的編寫規(guī)則。在一個makefile中通常包含如下內(nèi)容:需要由make工具創(chuàng)建的目標(biāo)體(target),通常是目標(biāo)文件或可執(zhí)行文件;要創(chuàng)建的目標(biāo)體所依賴的文件(dependency_file);創(chuàng)建每個目標(biāo)體時需要運行的命令(command),這一行必須以制表符(tab鍵)開頭。makefile基本結(jié)構(gòu)(1)makefile是make讀入makefile基本結(jié)構(gòu)(2)makefile格式例子使用makefile
target:dependency_files<TAB >command/*該行必須以tab鍵開頭*/hello.o:hello.chello.h
gcc–chello.c–ohello.o$makehello.ogcc–chello.c–ohello.o$lshello.chello.hhello.omakefilemakefile基本結(jié)構(gòu)(2)makefile格式targe創(chuàng)建和使用makefile變量用來代替一個文本字符串變量定義的兩種方式遞歸展開方式VAR=var簡單方式VAR:=var變量使用$(VAR)OBJS=kang.oyul.oCC=gccCFLAGS=-Wall-O-gdavid:$(OBJS)$(CC)$(OBJS)-odavidkang.o:kang.ckang.h
$(CC)$(CFLAGS)-ckang.c-okang.oyul.o:yul.cyul.h$(CC)$(CFLAGS)-cyul.c-oyul.o創(chuàng)建和使用makefile變量用來代替一個文本字符串OBJmakefile變量變量種類用戶自定義變量預(yù)定義變量自動變量環(huán)境變量OBJS=kang.oyul.oCC=gccCFLAGS=-Wall-O-gdavid:$(OBJS)
$(CC)$^-o$@kang.o:kang.ckang.h$(CC)$(CFLAGS)-c$<-o$@yul.o:yul.cyul.h
$(CC)$(CFLAGS)-c$<-o$@makefile變量變量種類OBJS=kang.oyumakefile中常用的預(yù)定義變量makefile中常用的預(yù)定義變量makefile中常見的自動變量和環(huán)境變量make在啟動時會自動讀取系統(tǒng)當(dāng)前已經(jīng)定義了的環(huán)境變量,并且會創(chuàng)建與之具有相同名稱和數(shù)值的變量如果用戶在makefile中定義了相同名稱的變量,那么用戶自定義變量將會覆蓋同名的環(huán)境變量makefile中常見的自動變量和環(huán)境變量make在啟動makefile規(guī)則makefile的規(guī)則是make進行處理的依據(jù),它包括了目標(biāo)體、依賴文件及其之間的命令語句。普通規(guī)則隱含規(guī)則模式規(guī)則makefile規(guī)則makefile的規(guī)則是make進行處隱式規(guī)則隱含規(guī)則能夠告訴make怎樣使用傳統(tǒng)的規(guī)則完成任務(wù),這樣,當(dāng)用戶使用它們時就不必詳細指定編譯的具體細節(jié),而只需把目標(biāo)文件列出即可例子OBJS=kang.oyul.oCC=gccCFLAGS=-Wall-O-gdavid:$(OBJS)
$(CC)$^-o$@隱式規(guī)則隱含規(guī)則能夠告訴make怎樣使用傳統(tǒng)的規(guī)則完成任務(wù),模式規(guī)則模式規(guī)則是用來定義相同處理規(guī)則的多個文件的。它不同于隱式規(guī)則,隱式規(guī)則僅僅能夠用make默認(rèn)的變量來進行操作,而模式規(guī)則還能引入用戶自定義變量,為多個文件建立相同的規(guī)則,從而簡化了makefile的編寫模式規(guī)則的格式類似于普通規(guī)則,這個規(guī)則中的相關(guān)文件前必須用“%”標(biāo)明OBJS=kang.oyul.oCC=gccCFLAGS=-Wall-O-gdavid:$(OBJS)
$(CC)$^-o$@%.o:%.c
$(CC)$(CFLAGS)-c$<-o$@模式規(guī)則模式規(guī)則是用來定義相同處理規(guī)則的多個文件的。它不同于make的命令行選項make的命令行選項1.6ECLIPSE集成開發(fā)環(huán)境1.6ECLIPSE集成開發(fā)環(huán)境Eclipse
簡介(1)Eclipse是著名的跨平臺的集成開發(fā)環(huán)境(IDE),最初是由IBM公司開發(fā)的替代商業(yè)軟件VisualAgeForJava的下一代IDE開發(fā)環(huán)境,2001年11月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(EclipseFoundation)管理。2005年7月,穩(wěn)定版3.1.0發(fā)布。目前最新的穩(wěn)定版本為3.5
Eclipse簡介(1)Eclipse是著名的跨平臺的集成Eclipse
簡介(2)Eclipse本身只是一個框架平臺,最初主要用于Java語言的開發(fā)。但是眾多插件的支持使得Eclipse可以支持其他語言的開發(fā),如C/C++、C#、Perl、Cobol等等。許多軟件開發(fā)商以Eclipse為框架開發(fā)了己的IDE。Eclipse用Java實現(xiàn),運行時需要JRE(JavaRuntime
Envrionment)的支持
Eclipse簡介(2)Eclipse本身只是一個框架平臺Eclipse
術(shù)語工作臺(workbench)
--提供了一個或多個透視圖。
透視圖(perspective)
--
透視圖是工作臺中的一組視圖和編輯器。每個透視圖可具有一組不同的視圖,它定義了視圖在工作臺中的布局。
視圖(view)
--視圖是工作臺內(nèi)的可視組件,通常用來瀏覽分層信息。
編輯器(editor)
--編輯器也是工作臺內(nèi)的可視組件,通常用來編輯或瀏覽資源。
Eclipse術(shù)語工作臺(workbench)工作臺(workbench)工作臺(workbench)視圖(view)視圖(view)編輯器(editor)編輯器(editor)Eclipse
使用(1)運行eclipse
Eclipse使用(1)運行eclipseEclipse
使用(2)創(chuàng)建C工程
Eclipse使用(2)創(chuàng)建C工程Eclipse
使用(3)創(chuàng)建C工程
Eclipse使用(3)創(chuàng)建C
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆河北省高職單招數(shù)學(xué)等差專項練習(xí)
- 2024-2025學(xué)年廣東省平遠縣實驗中學(xué)高三上學(xué)期第二段考歷史試卷
- 2025年預(yù)付商業(yè)裝修工程合同范文樣式
- 2025年光伏組件市場策劃購銷合同
- 2025年熱量表項目提案報告模板
- 2025年專業(yè)紅娘服務(wù)合同文本
- 2025年策劃版集體土地征收補償協(xié)議范本
- 2025年住宅翻新管理協(xié)議書
- 2025年健身導(dǎo)師聘請合同模板
- 2025年自動酸雨采樣器及測定儀項目規(guī)劃申請報告模范
- GCP理論考試試題及答案 (一)
- 中考語文句子排序練習(xí)題(文本版)
- 外研版七年級下冊重點語法總結(jié)
- 陜西建工集團股份有限公司2023環(huán)境、社會和公司治理(ESG)報告
- 國家科學(xué)技術(shù)獎勵提名書
- 2024年影視藝術(shù)概論復(fù)習(xí)考試題(附答案)
- 園林綠化一月份養(yǎng)護計劃
- 2024年輔警招考時事政治考題及答案(100題)
- 小腸梗阻的護理
- 非物質(zhì)文化遺產(chǎn)拓印 課件
- 手拉葫蘆安全技術(shù)操作規(guī)程
評論
0/150
提交評論