




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
G原手冊下載:譯者:JGood()譯者言:工欲善其事,必先利其器。一個好的工具能事半功倍。寫程序時,特別是寫C++程序,大局部人腦子里想到的第一個工具就是VisualStudio。不可否認,VS很好很強大,用戶體驗非常好。但VisualStudio也是有缺點的:它非常龐大;只支持VC,不支持其他的編譯器;VS只能在windows下跑,在其他os上就無用武之地;VS是要錢的,而且費用不非〔Express版本免費〕。Code::Blocks是一個非常優(yōu)秀的工具,如果您正在尋找VisualStudio之外的,開源、免費、輕便、支持多種編譯器、跨平臺的C/C++IDE,那么Code::Blocks就是一個很好的選擇。說明:筆者打算用兩篇日志來完成對Code::Blocks手冊前二章的編譯,分別是:使用篇、插件篇。本文是第一篇:Code::Blocks使用篇。原手冊第三章介紹Code::Blocks變量、腳本的使用,第四章介紹如何從源碼編譯Code::Blocks,這兩章內(nèi)容不是很多,筆者認為對大局部用戶幫助不是不大,暫不打算翻譯。筆者使用的Code::Block版本是nightlybuilds,svn6088〔可以在這個地址下載:〕。使用的編譯器是GCC3.4.5。每個版本之間的使用可能會有細微的差異。因為水平有限,難免出錯,歡送指正!Code::Blocks手冊Version1.0感謝CodeBlocks工程組:AndersF.Bjorklund(afb),BiplabKumarModak(biplab),Bartomiejwiecki(byo),PaulA.Jimenez(ceniza),KoaChongGee(cyberkoa),DanielOrb(daniel2000),LievendeCock(killerbot),YiannisMandravellos(mandrav),Mispunt(mispunt),MartinHalle(morten-macy),JensLody(jens),JeromeAntoine(dje),DamienMoore(dmoore),PecanHeber(pecan),RicardoGarcia(rickg22),ThomasDenk(thomasdenk),tiwag(tiwag)Permissionisgrantedtocopy,distributeand/ormodifythisdocumentunderthetermsoftheGNUFreeDocumentationLicense,Version1.2oranylaterversionpublishedbytheFreeSoftwareFoundation.1CodeBlocks工程管理下列圖是CodeBlocks運行時的用戶界面:管理(Management):管理窗口包含Project視圖與Symbols視圖。Project視圖顯示當前CodeBlocks翻開的所有工程〔譯者注:類似與VS解決方案資源管理器〕;Symbols視圖顯示工程中的標識符:類,函數(shù)、變量等信息〔譯者注:類似與VS的類視圖〕。代碼編輯器:支持代碼折疊,關鍵字高亮顯示。上圖main.cpp正在被編輯。翻開文件列表:顯示當前在代碼編輯器中翻開的所有文件列表。上圖中翻開的文件列表為:main.cpp,person.cpp,person.hpp代碼段〔CodeSnippets〕:管理常用的代碼段、常用文件鏈接(linkstofiles)與URL??梢酝ㄟ^菜單View->CodeSnippets來顯示該面板。日志和其他:這個窗口用于輸出日志信息,顯示查詢結果等等。狀態(tài)欄提供了以下這些信息:編輯器中翻開文件的絕對路徑;文件的編碼類型;光標所在的行與列;當前的鍵盤模式〔insert或者overwrite〕;當前的文件狀態(tài)。被修改正的〔但尚未保存〕文件將被標記為“modified〞,否那么這里為空;文件操作的權限。如果文件是只讀的,這里將會顯示“Readonly〞,在Openfileslist中,該文件會使用一個加瑣的圖標來顯示;個性化配置名稱;CodeBlocks提示了非常靈活和強大的工程管理功能。下文將介紹工程管理的一些常用功能。1.1工程視圖〔ProjectView〕在CodeBlocks中,Project的源文件〔如C/C++的源文件及其對應的頭文件〕和編譯屬性設置信息都保存在<name>.cbp文件里??梢酝ㄟ^菜單[File–>Project]啟開工程創(chuàng)立向導來創(chuàng)立新的Project,然后通過管理窗口的上下文菜單[Addfiles]〔譯者注:上下文菜單,指當前窗口中選中目標工程,然后右鍵顯示的菜單〕向Project中添加文件。CodeBlocks會自動根據(jù)文件的后綴將它們放入不同的類別文件夾中〔譯者注:這個文件夾是虛擬的,實際并不存在〕。下面是默認的分類:Sources:包含源文件,后綴為*.c、*.cpp;ASMSources:包括匯編源文件,后綴一般為*.s、*.S、*.ss、*.asm;Headers:包括頭文件,后綴一般為*.h、*.hpp;Resources:包括資源文件,后綴一般為*.res、*.xrc;通過管理窗口的上下文菜單[Projecttree–>Editfiletypes&categories],用戶可以新建自定義的文件類別,并為其相應的后綴。例如,如果你希望*.ld的文件放到Linkerscript的分類里,你只需新建類別Linkerscript,并為它指定*.ld后綴即可。提示:如果你取消選中管理窗口上下文菜單的[Projecttree–>Categorizebyfiletypes]選項,所有的工程文件將會按它們在文件系統(tǒng)中的位置來顯示。1.2工程備注〔NotesforProjects〕可以給CodeBlocks工程添加一些備注,用于對工程進行概要的描述與說明,這些信息有助于其他成員迅速的了解工程。備注信息被保存在工程工程文件里,并可以設置為隨著工程的啟動而顯示。如圖:1.3工程模板CodeBlocks支持許多不同類型的工程模板,它們會在新建工程的時候顯示,創(chuàng)立新工程的時候往往從這些模板中選擇〔如上圖:〕。用戶可以自定義工程模板。工程模板保存編譯器的類型、編譯選項、資源的配置等相關信息。工程模板保存在DocumentsandSettingsn\<user>\ApplicationData\codeblocks\UserTemplates目錄中。如果你希望該工程模板被本機的所有用戶使用,必須把對應的模板文件拷貝到CodeBlocks的安裝目錄。模板在CodeBlocks重啟之后生效,通過菜單[New->Project->Usertemplates]就可以看到自定義的模板。提示:用戶可以通過右鍵選中工程向導中的模板對其進行編輯。如下列圖:1.4從編譯模式創(chuàng)立工程〔CreateProjectsfromBuildTargets〕一個工程往往有不同的編譯模式,最常見的是Release和Debug。不同的編譯模式表示用于構建當前工程所使用的不同編譯器選項、調(diào)試信息或者依賴的文件。每一種編譯模式都可以被保存成獨立的工程文件。通過上下文菜單[Project->Properties],在BuildTargets標簽中點擊“Createprojectfromtarget〞按鈕來生成對應編譯模式的工程文件,如圖:1.5編譯模式〔VirtualTargets〕一個工程可以有多種不同的編譯模式,最常用的編譯模式為“Debug〞和“Release〞?!癉ebug〞模式下會包含許多Debug信息,而“Release〞模式下沒有這些信息。也可以通過上下文菜單[Project->Properties->BuildTargets]添加其他的編譯模式。編譯模式將顯示在工具欄中:1.6預生成和生成后步驟(Pre-andPostbuildsetps)Code::blocks允許在工程生成前和生成后執(zhí)行額外的操作,這些操作分別被稱為預生成〔Prebuilt〕或生成后〔Postbuilt〕步驟。下面是典型的生成后步驟:〔譯者注:筆者對低層的東西知道的不多,不是很清楚下面這些步驟的意思。〕CreatinganIntelHexformatfromanishedobject
Manipulatingobjectsbyobjcopy
Generatingdumplesbyobjdump1.7為構建目標添加腳本〔AddingScriptsinBuildTargets〕Code::Blocks允許使用腳本來調(diào)用菜單命令,控制工程的生成。提示:腳本可以被包含到一個構建目標〔BuildTarget〕中。1.8解決方案〔Workspace〕與工程依賴CodeBlocks可以同時翻開多個工程,通過菜單[File->Saveworkspace]把它們集成到一個解決方案中,并生成一個對應的解決方案文件〔<name>.workspace〕。下次翻開解析方案文件(<name>.workspace)時,這些工程會被一起加載進來。復雜的軟件系統(tǒng)通常由不同的模塊、組件以獨立的工程工程組成,它們之間往往存在依賴關系。例如:工程A以庫(library)的形式提供一些公用函數(shù)給其他工程調(diào)用,如果工程A中的源代碼被修改,這個庫就得重新編譯。工程B使用工程A中實現(xiàn)的函數(shù),那么工程B就依賴工程A。CodeBlocks把這些工程依賴的信息保存到解決方案文件中,所以解決方案中的工程可以各自獨立的創(chuàng)立、編譯而不相互影響〔譯者注:由解決方案文件來維護各工程的依賴關系〕。這些依賴關系會決定工程的生成順序。通過菜單[Project->Properties],然后選擇[Project’sdependencies]按鈕來設置工程之間的依賴關系。如下列圖:1.9包含匯編文件略。1.10代碼編輯器與工具(EditorandTools)1.10.1默認代碼(DefaultCode)公司的編碼標準往往要求源文件有統(tǒng)一的布局〔譯者注:例如源文件的開始處以統(tǒng)一的格式給出文件創(chuàng)立的時間、作者、實現(xiàn)的功能描述等相關信息〕。CodeBlocks允許預定義一些內(nèi)容,當新建C/C++文件時這些內(nèi)容會自動添加到文件的開始處。這里把預定義的內(nèi)容稱為defaultcode。可以通過菜單[Settings–>Editor–>DefaultCode]來設置defaulgcode,通過菜單[File->New->File]創(chuàng)立的代碼文件將自動添加上defaultcode。例如:/*************************************************************************
*Project:
*Function:
*************************************************************************
*$Author:mario$
*$Name:$
*************************************************************************
*
*Copyright2007bycompanyname
*
************************************************************************/1.10.2縮寫〔Abbreviation〕定義一個常用的代碼片斷[typing],并給它提供一個名字[Abbreviation],在寫程序的時候,只要給出這個名字,然后按快捷鍵Ctrl+J,CodeBlocks就會用預先定義的代碼片斷來替換該名字?!沧g者注:VS中也有類似的功能,在C#程序時,只要寫出關鍵字for,然后連續(xù)按兩次Tab鍵,編輯器會自動生成for語句的框架,是不是很方便?~_~〕。通過菜單[Settings->Editor]來設置Abbreviation,如下列圖:abbreviation也支持參數(shù)變量(Parametrisation)〔如:$NOW表示當前時間〕。如:-->1.10.3個性化〔Personalities〕CodeBlocks的配置信息被作為應用程序數(shù)據(jù)而保存在codeblocks文件夾的<user>.conf文件中。該配置文件中保存的信息包括:上次翻開的工程、代碼編輯器的設置、符號欄顯示等等。默認的個性化設置被保存在default.conf文件中。通過命令行參數(shù)-personality=myuser來調(diào)用CodeBlocks,配置信息將被保存到myuser.conf中。如果該文件不存在,系統(tǒng)將自動創(chuàng)立它。如果以命令行的方式來啟動CodeBlocks,并傳遞命令參數(shù)--personality=ask,將會顯列出當前所有的修改化配置列表,用戶選擇其一啟動CodeBlocks。如下列圖:1.10.4配置文件〔ConfigurationFiles〕CodeBlocks的配置信息保存在codeblocks目錄下的default.conf文件中。當使用個性化設置的時候,配置信息將被保存到<personality>.conf文件里。cb_share_conf〔一個輔助工具,可以在CodeBlocks安裝目錄里找到〕被用來管理與保存這些設置信息。如果你想為電腦的不同賬戶定義一個公用的默認設置,defual.conf文件應該被保存到\DocumentsandSettings\DefaultUser\ApplicationData\codeblocks。CodeBlocks在第一次啟動的時候,會將該配置文件拷貝到當前賬戶的applicationdata目錄下〔并作為當前帳戶的配置文件〕。如果想在usb設備上創(chuàng)立一個綠色版本號的CodeBlocks,請執(zhí)行下面步驟:將CodeBlocks安裝目錄拷貝到usb設備上,將配置文件default.conf拷貝到該目錄中,該配置文件將被用于全局的設置。確保系統(tǒng)有權限對該文件進行寫入,否那么CodeBlocks對配置文件的修改將不會被保存。1.10.5導航與搜索〔NavigateandSearch〕CodeBlocks提供了很多方法用于文件和函數(shù)之間導航。書簽就是最常用的一種方式。通過快捷鍵Ctrl+B在源文件中設置/刪除一個書簽,通過Alt+PgUp或Alt+PgDn在不同的書簽之間跳轉。在管理窗口的Project視圖中選中解決方案或工程,右鍵點擊在彈出菜單中選擇[Findfile],輸入你查找的文件名稱,然后回車,該文件將被選中〔如果文件存在的話〕,再按回車,編輯器就會翻開該文件。如下列圖:在CodeBlocks中,你可以很容易的在頭文件與源文件之間導航:1.將光標置于頭文件被包含處〔例如:#include“header.hpp〞〕,右鍵選擇性“openincludefile〞,編輯器將翻開該包含文件?!沧g者注:可以在VS中使用快捷鍵Ctrl+Shift+G實現(xiàn)同樣的操作。這個功能非常方便,特別是要查看源代碼時?!?.通過右鍵菜單的[Swapheader/source],在頭文件與源文件之間切換。3.選中一個定義〔如變量名,類型名等等〕,在右鍵菜單中選擇[Finddeclaration],編輯器就會翻開該定義的聲明。〔譯者注:可以使用右鍵菜單的[Findimplementation]定位到函數(shù)的實現(xiàn)處,在VS中使用快捷鍵F12實現(xiàn)同樣的操作。這也是一個非常方便的功能?!?。CodeBlocks提供多種方式用于對單個文件或整個目錄進行搜索。通過菜單[Search->Find]或[Search–>FindinFiles]來翻開搜索對話框。Alt+G和Ctrl+Alt+G這兩個快捷鍵用于翻開文件/函數(shù)跳轉對話框,只要輸入文件/函數(shù)的名稱,就可以很方便的跳轉到指定文件或函數(shù)。文件名/函數(shù)名搜索還支持*和?等能配符?!沧g者注:可以使用VisualAssist插件在VS中實現(xiàn)類似的功能。這兩個功能真的很方便實用?!程崾荆菏褂肅trl+PgUp和Ctrl+PgDn可以在前后函數(shù)之間跳轉。在文本編輯器中,使用快捷鍵Ctrl+Tag可以在當前所有翻開的文件之間跳轉。〔譯者注:VS也有類似的功能,而且快捷鍵也是Ctrl+Tag,這是巧合嗎?〕顯示行號。通過菜單[Settings->GeneralSettings],選中[Showlinenumbers]來顯示行號。使用快捷鍵Ctrl+G可以快速的跳轉到指定行。1.10.6符號視圖〔Symbolview〕CodeBlocks管理窗口提供的符號視圖,以樹的形式顯示〔導航〕C/C++源文件中的類、函數(shù)、變量定義。可以選擇符號顯示的區(qū)域是:當前文件、當前工程、整個解決方案?!沧g者注:與VS的類視圖面板實現(xiàn)類似的功能?!程崾荆涸谒阉鬏斎肟蛑休斎敕柕拿Q,符號瀏覽器將會過濾不符條件的符號。符號視圖將符號分為如下分類:Globalfunctions:全局函數(shù);Globaltypedefs:通過typedef定義的別名;Globalvariables:全局變量;Preprocessorsymbols:通過#define宏定義的預處理指示符;結構和類的定義顯示在pre-processorsymbols下面。如果一個分類被選中,屬于該分類的標識符將顯示在視圖的下半局部。雙擊這些標識符,代碼編輯器將定位到定義這些標識符的文件所在處。1.10.7集成外部的幫助文檔CodeBlocks支持添加外部的幫助文檔集成到開發(fā)環(huán)境中。通過菜單[Settings->Environment]來設置。把你選擇的chm格式的文檔以添加到HelpFiles,并將其作為默認的幫助文檔,在編輯器中選擇一個函數(shù),對應的文檔就會出現(xiàn)通過快捷鍵F1?!?.10.8集成外部工具通過菜單[Tools->ConfigurationTools–>Add],把外部工具集成到CodeBlocks開發(fā)環(huán)境中。這些外部的工具允許以參數(shù)的形式訪問CodeBlocks的內(nèi)建(Built-in)變量〔如當前工程所在的文件夾${PROJECT_DIR}〕。利用這個功能,我們給CodeBlocks添加一個菜單項:翻開當前工程所在的文件夾。請看圖:〔譯者注:這是一個非常實用的功能。利用這個功能,我在我的CodeBlocks中,添加了三個我最常用的菜單項:使用Notepad++翻開當前文件;翻開當前工程所在的文件夾;以Dos窗口翻開當前文件夾。爽歪歪~~〕1.11使用CodeBlocks的小提示〔Tips〕這節(jié)我們將展示一些CodeBlocks非常有用的提示。1.11.1修改跟蹤〔TrackingofModifications〕CodeBlocks通過行號旁邊的小堅條顏色來跟蹤源文件的修改。未保存的修改行將被標記為黃色,而已保存的修改行標記為綠色。你可以通過菜單[Search->Gotonextchangedline]或者[Search->Gotopreviouschangedline]在修改內(nèi)容之間導航〔對應的快捷鍵是Ctrl+F3和Ctrl+Shift+F3〕?!沧g者注:VS也提供類型的功能?!晨梢酝ㄟ^菜單[Settings->Editor->Marginsandcaret],取消選中[UseChangebar]來取消該功能。提示:如果文件被關閉,記錄在該文件上的undo/redo信息和修改標識(changebars)將會清空。如果文件處理翻開狀態(tài),可以通過菜單[Edit->Clearchangeshistory]或者右鍵菜單相應選項來顯式地清空這些信息。1.11.2與其他應用程序交互CodeBlocks能夠在運行時與其他應用程序進行交互。windows下通過DDE〔DynamicDataExchange〕實現(xiàn)這種進程間的交互,而在其他操作系統(tǒng)下,基于TCP來實現(xiàn)交互。以下語法的命令可以發(fā)送給CodeBlocks運行實例:[<command>(“<parameter>〞)當前可以使用的命令:Open:命令[Open(“D:\Temp\test.txt〞)],在CodeBlocks實例中〔或者啟動新的CodeBlocks進程,如果需要的話〕翻開一個文件。OpenLine:命令[OpenLine(“D:\Temp\test.txt:10〞)],在CodeBlocks中翻開文件,并定位到指定行數(shù),冒號后面的數(shù)字用于指定行號。〔譯者注:不是很明白原文的意思:ThiscommandopensaleatagivenlinenumberinaCodeBlocksinstance.〕Raise:讓CodeBlocks實例獲得焦點。不就給該命令提供參數(shù)。1.11.3配置環(huán)境變量操作系統(tǒng)的配置信息被定義在環(huán)境變量中。例如環(huán)境變量Path包含一個編譯器的安裝目錄路徑,操作系統(tǒng)在運行期間都可以隨時訪問該環(huán)境變量。如果同一編譯器的另一個版本被安裝,就可能會發(fā)生錯誤,如:調(diào)用的編譯器版本不正確。有時候因為工程的需要,必須在同一機器上安裝同一編譯器的不同版本。為了防止上述錯誤的發(fā)生,可以在工程啟動之前修改環(huán)境變量。顯然,這個方法很容易出錯,很不靈活?;谶@個問題,CodeBlocks提供了一個簡單的解決方法:創(chuàng)立不同版本的、只能在CodeBlocks內(nèi)使用的環(huán)境變量,然后根據(jù)項目的需要選擇適當?shù)陌姹经h(huán)境變量。通過菜單[Settings->Environment],在EnvironmentVaribales面板中點擊Create按鈕創(chuàng)立不同版本的環(huán)境變量,如下列圖:1.11.4切換布局CodeBlocks可以根據(jù)手頭任務的需要選擇不同的配置/視圖,并保存這些配置/視圖。默認情況下這些配置保存在default.conf文件里。以命令行方式啟動Cdoeblocks,并傳遞--personality=ask參數(shù),就可以在列出的個性化配置列表中選擇一個視圖啟動。有時候,你可能希望在應用程序的使用過程中切換布局,如編碼模式與調(diào)試模式下可能需要不同的布局。CodeBlocks提供了一種機制來實現(xiàn)這種需求,通過菜單[View->Layouts->Savecurrent],并輸入布局的命名,保存布局。通過[View->Layouts->Layoutname]來切換布局?!沧g者注:筆者使用的版本,通過[View->Perspectives]來保存\切換布局,如下列圖:〕1.11.5工程切換多個工程同時在CodeBlocks中翻開時,用戶希望快速的在這些工程之間切換。CodeBlocks提供一組快捷鍵來實現(xiàn):Alt+F5:將視圖中前一個工程設為激活(Active)工程?!沧g者注:類似于VS中將某個工程設為啟開工程。〕Alt+F6:將視圖中后一個工程設為激活工程。F11:在編輯器中切換源文件(name.cpp)和頭文件(name.h)。1.11.6擴展編譯器設置在編譯一個工程的過程中,編譯信息將會顯示在消息窗口的BuildLog視圖中。如果你想獲取更詳細的編譯信息,通過菜單[Settings->CompilerandDebugger],在OtherSettings面板中選擇Compilerlogging下拉列表項:“Fullcommandline〞選項意味著將在BuildLog視圖中顯示所有的編譯信息。可以將這些日志信息保存為HTML文件,通過選中〞SavebuildlogtoHTMLfilewhenfinished’。另外,通過選中〞Displaybuildprocessbar〞,CodeBlocks支持在BuildLog視圖中顯示編譯進度。1.11.7編輯器縮放CodeBlocks提供了一個非常高效的編輯器。這個編輯器允許你縮放翻開文本的字體大小。如果你的鼠標有滾輪,你只要按住Ctrl鍵,同時滾支鼠標滾輪,就可以實現(xiàn)文本的縮放。提示:通過菜單[Edit->Specialcommands->Zoom->Reset]來重置縮放。1.11.8自動換行模式在CodeBlcoks中翻開一個文本文件,使用自動換行模式可以將很長的行以多行的形式顯示在一個屏幕內(nèi),有利于編輯。通過菜單[Settings->Editor->OtherOptions],選中Wordwarp來激活自動換行模式?!?.11.9塊選文本CodeBlocks支持在代碼編輯器中塊選文本。按住Alt鍵的同時按住鼠標左鍵在編輯器選擇一塊區(qū)域。如果你想選擇數(shù)組的幾列進行復制和粘貼,這個功能是非常有用的〔譯者注:VS也提示類似的功能,快捷鍵也一樣?!?。如圖:1.11.10代碼折疊CodeBlocks支持代碼折疊,允許將函數(shù)、類的實現(xiàn)折疊起來。提示:通過菜單[Settings->Editor->Folding],可以設置代碼折疊的樣式和層次限制〔depthlimit〕。1.11.11自動完成在CodeBlocks中翻開一個工程時,編譯器的相關目錄〔include目錄〕與工程的源文件/頭文件將被解析,提取有關類型定義、函數(shù)、宏等的信息,CodeBlocks使用這些信息來實現(xiàn)自動完成功能。通過菜單[Settings->Editors->Codecompletion]啟用該功能,通過快捷鍵Ctrl+Space來顯示提示信息〔譯者注:默認的快捷鍵Ctrl+Space不適合中國人的鍵盤習慣,建議改成其他快捷鍵?!?。通過[Settings->Editor->Syntaxhighlighting],你可以添加自定義的關鍵字。1.11.12查找破損文件〔Findbrokenfiles〕如果一個文件已經(jīng)從磁盤中刪除,但它仍然被包含在工程文件(project.cbp)中〔譯者注:工程的文件信息保存在*.cbp文件里?!?,這個文件在工程面板中顯示一個破損符號〔如下列圖〕。應該通過上下文菜單[Removefilefromproject]將它從工程中移除。一個大的工程可能包含許多子文件夾,搜索破損文件會非?;ㄙM時間。CodeBlocks提供ThreadSearch插件來解決這個問題。在ThreadSearch中輸入要查找的表達式,并設置查找的范圍:“Projectfiles〞或者“Workspacefiles〞,ThreadSearch將會分析所有包括在工程或者解決方案中的文件。當ThreadSearch找到一個跋損文件的時候,會發(fā)出一個文件喪失的錯誤。1.11.13包含庫在工程的編譯選項中,你可以通過〞Add〞按鍵添加工程所使用的庫。庫可以以絕對路徑的形式給出,也可以只給知名稱而無需提供lib前綴和文件擴展名。例如:存在這樣的一個庫文件:<path>\libs\lib<name>.a,只要給出<name>,鏈接器就可以找到對應的庫文件。1.11.14對象鏈接順序在編譯過程中,源文件name.c/cpp將會被編譯成目標文件name.o,然后鏈接器把獨立的目標文件鏈接成可執(zhí)行文件name.exe〔對于嵌入式系統(tǒng),將鏈接成name.elf〕。這種情況下,可能需要預先定義對象鏈接的順序。在CodeBlocks中,可以設置相關源文件的優(yōu)先級來實現(xiàn)。在上下文菜單中選擇[Properties],在Build標簽中定義。較低優(yōu)先級使文件較先鏈接。1.11.15自動保存CodeBlcoks允許自動保存當前正在編輯的文件和工程,或者對它們進行備份??梢酝ㄟ^菜單[Settings->Environment->Autosave]來激活該功能。1.11.16文件擴展名設置在CodeBlocks中,可以選擇屢次方式來處理文件不同后綴的文件,可以在菜單[Settings->Environmentsettings->Filesextensionhandling]設置相應的處理方式:“Launchanexternalprogram〞指定外部程序來翻開文件;“Launchtheassociatedapplication〞使用系統(tǒng)默認程序來翻開文件;“OpenitinCode::Blockseditor〞使用Code::Blocks編輯器來翻開文件。如下列圖:1.12通過命令行操作CodeBlocksCodeBlocks能夠通過命令行來運行。在這種情況下,需要通過一些選項來控制工程的構建過程。因為CodeBlocks是scriptable的,所以CodeBlocks工程的構建可以集成到你自己的工作過程中。codeblocks.exe/na/nd--no-splash-screen--built<name>.cbp--target=’Release’<filename>指定CodeBlock工程文件(*.cbp)或解決方案文件(*.workspace)。--file=<filename>[:line]:使用CodeBlocks翻開指定文件。可選的行號指示代碼編輯器跳轉到該行。/h,--help:顯示幫助信息。/na,--no-check-associations:不執(zhí)行文件關聯(lián)檢查?!瞱indowsonly)/nd,--no-dde:不啟動DDE效勞。(windowsonly)/ni,--no-ipc:不啟動IPC效勞。(LinuxandMaconly)/ns,--no-splash-screen:應用程序啟動的時候,不顯示啟動畫面。/d,--debug-log:顯示應用程序的調(diào)試日志--prefix=<str>:設置共享數(shù)據(jù)文件夾的前綴/p,--personality=<str>,--profile=<str>:設置要使用的個性化配置。你可以使用“ask〞參數(shù)來列出可選擇的個性化配置。--rebuild:清理并重新編譯工程或解決方案。--build:編譯工程或解決方案。--target=<str>:設置編譯模式,如:--target=’Release’--no-batch-window-close:編譯完成的時候,不關閉日志窗口。--batch-build-notify:編譯完成的時候顯示提示信息--safe-mode:啟動的時候,所有插件都不可用。><buildlogfile>:重定向標準輸出到日志文件。這是標準DOS/*nixshell的輸出重定向,并非CodeBlocks內(nèi)置選項。1.13快捷鍵在IDE中使用快捷鍵比使用鼠標更為高效。下表給出CodeBolcks默認的快捷鍵?!沧g者注:筆者將CodeBlocks中的快捷鍵設置為與VS大體一致,使用CodeBlocks時非常順手?!矲unctionShortcutKeyUndolastactionCtrl+ZRedolastactionCtrl+Shift+ZCutselectedtextCtrl+XCopyselectedtextCtrl+CPastetextfromclipboardCtrl+VSelectalltextCtrl+ASwapheader/sourceF11CommenthighlightedcodeCtrl+Shift+CUncommenthighlightedcodeCtrl+Shift+XDuplicatelinecaretisonCtrl+DAuto-complete/AbbreviationsCtrl+Space/Ctrl+JShowcalltipCtrl+Shift+SpaceSwaplinecaretisonwithlineaboveitCtrl+TTogglebookmarkCtrl+BGotopreviousbookmarkAlt+PgUpGotonextbookmarkAlt+PgDownTogglecurrentblockfoldingF12ToggleallfoldsShift+F12CodeBlocks代碼編輯器組件提供的快捷鍵,這些快捷鍵不能重新綁定〔rebound〕。FunctionShortcutKeyMagnifytextsize.Ctrl+Keypad"+"Reducetextsize.Ctrl+Keypad"-"Restoretextsizetonormal.Ctrl+Keypad"/"Cyclethroughrecentfiles.Ctrl+TabIndentblock.TabDedentblock.Shift+TabDeletetostartofword.Ctrl+BackSpaceDeletetoendofword.Ctrl+DeleteDeletetostartofline.Ctrl+Shift+BackSpaceDeletetoendofline.Ctrl+Shift+DeleteGotostartofdocument.Ctrl+HomeExtendselectiontostartofdocument.Ctrl+Shift+HomeGotostartofdisplayline.Alt+HomeExtendselectiontostartofdisplayline.Alt+Shift+HomeGotoendofdocument.Ctrl+EndExtendselectiontoendofdocument.Ctrl+Shift+EndGotoendofdisplayline.Alt+EndExtendselectiontoendofdisplayline.Alt+Shift+EndExpandorcontractafoldpoint.Ctrl+Keypad"*"Createordeleteabookmark.Ctrl+F2Gotonextbookmark.F2Selecttonextbookmark.Alt+F2Findselection.Ctrl+F3Findselectionbackwards.Ctrl+Shift+F3Scrollup.Ctrl+UpScrolldown.Ctrl+DownLinecut.Ctrl+LLinecopy.Ctrl+Shift+TLinedelete.Ctrl+Shift+LLinetransposewithprevious.Ctrl+TLineduplicate.Ctrl+DFindmatchingpreprocessorconditional,skippingnestedones.Ctrl+KSelecttomatchingpreprocessorconditional.Ctrl+Shift+KFindmatchingpreprocessorconditionalbackwards,skippingnestedones.Ctrl+JSelecttomatchingpreprocessorconditionalbackwards.Ctrl+Shift+JPreviousparagraph.Shiftextendsselection.Ctrl+[Nextparagraph.Shiftextendsselection.Ctrl+]Previo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鐵路物流行業(yè)十三五規(guī)劃與投資戰(zhàn)略研究報告
- 2025-2030年中國車燈模具行業(yè)市場前景規(guī)模及發(fā)展趨勢分析報告
- 2025-2030年中國蓮藕粉行業(yè)運行態(tài)勢及發(fā)展趨勢分析報告
- 2025-2030年中國花露水市場風險評估規(guī)劃分析報告
- 2025-2030年中國胡麻油市場競爭狀況及發(fā)展趨勢分析報告
- 2025-2030年中國聚碳酸酯板(陽光板)行業(yè)發(fā)展趨勢規(guī)劃研究報告
- 2025-2030年中國縫制機械市場運行現(xiàn)狀及發(fā)展趨勢分析報告
- 2025-2030年中國紙制品市場運行現(xiàn)狀及發(fā)展前景預測報告
- 2025-2030年中國電玩行業(yè)運行狀況及發(fā)展前景分析報告
- 2025-2030年中國電容筆行業(yè)發(fā)展狀況及營銷戰(zhàn)略研究報告
- DB23T 2656-2020樺樹液采集技術規(guī)程
- 2023年蘇州職業(yè)大學單招職業(yè)適應性測試題庫及答案解析
- 中國故事英文版哪吒英文二篇
- 2023年中智集團及下屬單位招聘筆試題庫及答案解析
- GB/T 8888-2003重有色金屬加工產(chǎn)品的包裝、標志、運輸和貯存
- GB/T 32685-2016工業(yè)用精對苯二甲酸(PTA)
- GB/T 21872-2008鑄造自硬呋喃樹脂用磺酸固化劑
- 酒店業(yè)主代表崗位職責標準(8篇)
- 上海市中小學生語文學業(yè)質量綠色指標測試
- 新學期幼兒園保育員培訓
- GA/T 501-2020銀行保管箱
評論
0/150
提交評論