管理
該窗口包含“項(xiàng)目”界面,在下文中將其稱為項(xiàng)目視圖。此視圖顯示在特定時(shí)間在CodeBlocks中打開的所有項(xiàng)目。 “管理”窗口的“符號(hào)”選項(xiàng)卡顯示符號(hào),變量等。
編輯
在上圖中,打開了一個(gè)名為hello.c的源,并在編輯器中突出顯示語法。
打開文件列表
顯示編輯器中打開的所有文件的列表,在此示例中為:hello.c。
CodeSnippets
可以通過菜單'View'/'CodeSnippets'顯示。在這里,您可以管理文本模塊,文件鏈接和網(wǎng)址鏈接。
日志和其他人
。該窗口用于輸出搜索結(jié)果,編譯器的日志消息等。
狀態(tài)欄概述了以下設(shè)置:
編輯器中打開文件的絕對(duì)路徑。
編輯器使用主機(jī)操作系統(tǒng)的默認(rèn)字符編碼。默認(rèn)顯示此設(shè)置。
編輯器中當(dāng)前光標(biāo)位置的行號(hào)和列號(hào)。
配置的鍵盤模式,用于插入文本(插入或覆蓋)。
文件的當(dāng)前狀態(tài)。修改后的文件將標(biāo)記為Modified,否則此條目為空。
文件的權(quán)限。具有只讀設(shè)置的文件將在狀態(tài)欄中顯示只讀。在“打開文件列表”窗口中,這些文件將以鎖定為圖標(biāo)覆蓋圖進(jìn)行強(qiáng)調(diào)。
注意:
在活動(dòng)編輯器中,用戶可以選擇上下文菜單屬性。在“常規(guī)”選項(xiàng)卡的出現(xiàn)對(duì)話框中,可以選擇“文件是只讀”選項(xiàng)。此選項(xiàng)將導(dǎo)致對(duì)CodeBlocks中相應(yīng)文件的只讀訪問,但不修改文件系統(tǒng)上文件的原始讀寫屬性。
如果使用命令行選項(xiàng)--personality = 啟動(dòng)CodeBlocks,則狀態(tài)欄將顯示當(dāng)前使用的配置文件,否則將顯示默認(rèn)值。 CodeBlocks的設(shè)置存儲(chǔ)在相應(yīng)的配置文件 .conf中。
CodeBlocks提供了非常靈活和全面的項(xiàng)目管理。以下文本僅涉及項(xiàng)目管理的一些功能。
CodeBlocks根據(jù)文件擴(kuò)展名按類別管理項(xiàng)目文件。這些是預(yù)設(shè)類別:
來源
包括擴(kuò)展名為* .c; * .cpp;的源文件。
ASM來源
包括擴(kuò)展名為* .s; * .S; * .ss; * .asm的源文件。
頭
其中包括擴(kuò)展名為* .h;的文件。
資源
包含擴(kuò)展名為* .res; *。xrc;的wxWidgets窗口的布局描述文件。這些文件類型顯示在Manangement窗口的“Resources”選項(xiàng)卡中。
可以通過上下文菜單“項(xiàng)目樹”/“編輯文件類型和類別”來調(diào)整文件類型和類別的設(shè)置。您還可以在此處為自己的文件擴(kuò)展名定義自定義類別。例如,如果要在名為L(zhǎng)inkerscript的類別中列出具有* .ld擴(kuò)展名的鏈接描述文件,則只需創(chuàng)建新類別。
注意:
如果在上下文菜單中取消激活“項(xiàng)目樹”/“按文件類型分類”,則將關(guān)閉類別顯示,并且文件將在文件系統(tǒng)中存儲(chǔ)時(shí)列出。
在項(xiàng)目中,有必要提供不同的項(xiàng)目變體。 變體稱為構(gòu)建目標(biāo)。 它們的編譯器選項(xiàng),調(diào)試信息和/或文件選擇各不相同。 構(gòu)建目標(biāo)也可以外包給單獨(dú)的項(xiàng)目。 為此,請(qǐng)單擊“項(xiàng)目”/“屬性”,從“構(gòu)建目標(biāo)”選項(xiàng)卡中選擇變體,然后單擊“從目標(biāo)創(chuàng)建項(xiàng)目”按鈕(參見圖1.2)。
可以通過所謂的虛擬目標(biāo)在CodeBlocks中進(jìn)一步構(gòu)建項(xiàng)目。 一個(gè)經(jīng)常使用的項(xiàng)目結(jié)構(gòu)包括兩個(gè)構(gòu)建目標(biāo),一個(gè)包含調(diào)試信息的“調(diào)試”目標(biāo)和一個(gè)沒有此信息的“發(fā)布”目標(biāo)。 通過“項(xiàng)目”/“屬性”/“構(gòu)建目標(biāo)”添加虛擬目標(biāo),可以組合各個(gè)構(gòu)建目標(biāo)。 例如,虛擬目標(biāo)“全部”可以同時(shí)創(chuàng)建目標(biāo)調(diào)試和釋放。 虛擬目標(biāo)顯示在Build Targets下編譯器的符號(hào)欄中。
CodeBlocks可以在編譯項(xiàng)目之前或之后執(zhí)行其他操作。這些操作稱為預(yù)建或后建步驟。典型的Postbuilt步驟是:
從完成的對(duì)象創(chuàng)建Intel Hexformat
通過objcopy操作對(duì)象
通過objdump生成轉(zhuǎn)儲(chǔ)文件
例
從Windows下的對(duì)象創(chuàng)建反匯編。管道到文件需要使用/ c選項(xiàng)調(diào)用cmd。
cmd / c objdump -D name.elf> name.dis
歸檔項(xiàng)目可以是Postbuilt Step的另一個(gè)示例。為此,創(chuàng)建一個(gè)Build Target'Archive'并在Postbuilt Step中包含以下指令:
zip -j9 $(PROJECT_NAME)_ $(TODAY).zip src h obj $(PROJECT_NAME).cbp
使用此命令,活動(dòng)項(xiàng)目及其源,標(biāo)頭和對(duì)象將打包為zip文件。這樣,將提取內(nèi)置變量$(PROJECT_NAME)和$(TODAY),項(xiàng)目名稱和當(dāng)前日期(參見第3.2節(jié))。執(zhí)行目標(biāo)“存檔”后,打包文件將存儲(chǔ)在項(xiàng)目目錄中。
在share / codeblocks / scripts目錄中,您將找到腳本的一些示例。您可以通過菜單“設(shè)置”/“腳本”添加腳本,然后在菜單中注冊(cè)。如果你執(zhí)行例如菜單中的腳本make_dist然后屬于項(xiàng)目的所有文件將在存檔 .tar.gz中壓縮。
工作區(qū)和項(xiàng)目依賴項(xiàng)
在CodeBlocks中,可以打開多個(gè)項(xiàng)目。通過“文件”/“保存工作區(qū)”保存打開的項(xiàng)目,您可以在 .workspace下的單個(gè)工作區(qū)中收集它們。如果在下次啟動(dòng)von CodeBlocks期間打開 .workspace,則所有項(xiàng)目將再次顯示。
復(fù)雜的軟件系統(tǒng)由在不同CodeBlocks項(xiàng)目中管理的組件組成。此外,隨著這種軟件系統(tǒng)的產(chǎn)生,這些項(xiàng)目之間經(jīng)常存在依賴關(guān)系。
例
項(xiàng)目A包含基本功能,這些功能以庫的形式提供給其他項(xiàng)目。現(xiàn)在,如果修改了此項(xiàng)目的源,則必須重建庫。為了保持使用函數(shù)的項(xiàng)目B和實(shí)現(xiàn)函數(shù)的項(xiàng)目A之間的一致性,項(xiàng)目B必須依賴于項(xiàng)目A.關(guān)于項(xiàng)目依賴性的必要信息存儲(chǔ)在相關(guān)工作空間中,以便可以創(chuàng)建每個(gè)項(xiàng)目分別。依賴項(xiàng)的使用使得還可以控制項(xiàng)目的生成順序?梢酝ㄟ^選擇菜單“項(xiàng)目”/“屬性”然后單擊“項(xiàng)目的依賴項(xiàng)”按鈕來設(shè)置項(xiàng)目的依賴項(xiàng)。
在“項(xiàng)目視圖”的“管理”窗口中,匯編程序文件顯示在“ASM源”類別中。 用戶可以更改類別中的文件列表(請(qǐng)參閱第1.1節(jié))。 右鍵單擊列出的Assembler文件之一將打開上下文菜單。 選擇“屬性”以打開新窗口。 現(xiàn)在選擇“Build”選項(xiàng)卡并激活兩個(gè)字段“Compile file”和“Link file”。 然后選擇“高級(jí)”選項(xiàng)卡并執(zhí)行以下步驟:
將“編譯器變量”設(shè)置為CC
在'For this compiler'下選擇編譯器
選擇“使用自定義命令構(gòu)建此文件”
在窗口中,輸入:
$ compiler $ options $包含 -c $ file -o $ object