freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

gccgtutorial(參考版)

2024-10-16 15:51本頁(yè)面
  

【正文】 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 46 用 gdb 調(diào)試 GCC 程序 在 shell終端輸入“ gdb”:,前提是在編譯時(shí)必須加入 g kill 終止正在調(diào)試的程序 list 列出產(chǎn)生執(zhí)行文件的源代碼的一部分 next 執(zhí)行一行源代碼但不進(jìn)入函數(shù)內(nèi)部 step 執(zhí)行一行源代碼而且進(jìn)入函數(shù)內(nèi)部 run 執(zhí)行當(dāng)前被調(diào)試的程序 quit 終止 gdb watch 使你能監(jiān)視一個(gè)變量的值而不管它何時(shí)被改變 print 顯示表達(dá)式的值 break 26在代碼 26行設(shè)置斷點(diǎn) , 這將使程序執(zhí)行到這里時(shí)被掛起 make 使你能不退出 gdb 就可以重新產(chǎn)生可執(zhí)行文件 shell 使你能不離開(kāi) gdb 就執(zhí)行 UNIX shell 命令 。(無(wú)相同的) $(+D) $(+F) 分別表示所有依賴文件的目錄部分和文件部分。 $(D) $(F) 分別表示依賴文件的目錄部分和文件部分。對(duì)于上面的那個(gè)例子,$(*D)返回 dir,而 $(*F)返回 foo $(%D) $(%F) 分別表示了函數(shù)包文件成員的目錄部分和文件部分。 $(F) 表示 $的文件部分,如果 $值是 dir/,那么 $(F)就是 , $(F)相當(dāng)于函數(shù) $(notdir $)。例如:如果目標(biāo)是 ,因?yàn)?.c是 make所能識(shí)別的后綴名,所以, $*的值就是foo。這個(gè)變量對(duì)于構(gòu)造有關(guān)聯(lián)的文件名是比較有較。 $* 這個(gè)變量表示目標(biāo)模式中 %及其之前的部分。 $+ 這個(gè)變量很像 $^,也是所有依賴目標(biāo)的集合。以空格分隔。以空格分隔。注意,其是一個(gè)一個(gè)取出來(lái)的。 $ 依賴目標(biāo)中的第一個(gè)目標(biāo)名字。例如,如果一個(gè)目標(biāo)是 (),那么,$%就是 , $就是 。在模式規(guī)則中,如果有多個(gè)目標(biāo),那么, $就是匹配于目標(biāo)中模式定義的集合。 exec: cd /home/hchen。 這個(gè)模式要做的事把依賴關(guān)系: : 轉(zhuǎn)成: : 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 42 Makefile的書寫規(guī)則 ? Makefile文件中的命令必須以 \t( TABLE鍵)開(kāi)頭; ? make的命令默認(rèn)是被“ /bin/sh”——UNIX的標(biāo)準(zhǔn)Shell解釋執(zhí)行的。 $.$$$$ $。 \ sed 39。 rm f $。 (2) 如果要加入其他的目標(biāo) .o文件,只要修改 objects變量就可以了; (3) “ .PHONY”表示, clean是個(gè)偽目標(biāo)文件; (4) 自動(dòng)生成依賴性:可以利用 c/c++編譯使用的 M(對(duì)于 cc)或者 MM選項(xiàng)(對(duì)于 gcc) objects = \ edit : $(objects) cc o edit $(objects) $(objects) : : : .PHONY : clean clean : rm edit $(objects) files = $(filter %.o,$(files)): %.o: %.c $(CC) c $(CFLAGS) $ o $ $(filter %.elc,$(files)): %.elc: %.el emacs f batchbytepile $ 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 38 Makefile里有什么? Makefile里主要包含了五個(gè)東西: 顯式規(guī)則: 要生成的文件,文件的依賴文件,生成的命令 隱晦規(guī)則: 自動(dòng)推導(dǎo)目標(biāo)文件和依賴文件名的關(guān)系 變量定義: 運(yùn)行 make時(shí), 變量都會(huì)被擴(kuò)展到相應(yīng)的引用位置上 文件指示 : (1)在一個(gè) Makefile中引用另一個(gè) Makefile,與 c語(yǔ)言中的 include一樣,使用 “ include ”這種方式(如果是 “ include ”,則表示忽略 ); (2)根據(jù)某些情況指定 Makefile中的有效部分,就像 C語(yǔ)言中的預(yù)編譯 if一樣; (3)定義一個(gè)多行的命令 注釋: Makefile中的命令,必須要以 [Tab]鍵開(kāi)始 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 39 Makefile的文件名 Makefile的一般命名規(guī)則為: 常規(guī)命名順序: GNUmakefile 〉 makefile 〉 Makefile 特定名稱: make –f make –file Makefile最常用,一方面因?yàn)轱@目,另一方面符合大多數(shù)人的習(xí)慣 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 40 make的工作方式 ? 讀入所有的 Makefile; ? 讀入被 include的其它 Makefile; ? 初始化文件中的變量; ? 推導(dǎo)隱晦規(guī)則,并分析所有規(guī)則; ? 為所有的目標(biāo)文件創(chuàng)建依賴關(guān)系鏈; ? 根據(jù)依賴關(guān)系,決定哪些目標(biāo)要重新生成; ? 執(zhí)行生成命令 。設(shè)置系統(tǒng)缺省配置 2. 處理配置參數(shù) 建立目標(biāo)系統(tǒng)后端文件與邏輯文件名之間的鏈接,使編譯系統(tǒng)能正確地在目標(biāo)平臺(tái)上生成 在模板文件 的信息,生成目標(biāo)平臺(tái)上的 Makefile文件 生成 ,記錄本次安裝的配置信息 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 36 edit : \ cc o edit \ : cc c : cc c : cc c : cc c : cc c : cc c : cc c : cc c clean : rm edit \ Makefile的簡(jiǎn)單例子 通常的格式為 target : requisitive mand 從 8個(gè) c源文件和 3個(gè)頭文件 編譯連接為目標(biāo)文件 edit 一般來(lái)說(shuō),默認(rèn)的操作都放 最開(kāi)頭( edit),也就是說(shuō) ,輸入“ make”默認(rèn)為“ make edit”;而正常把“ clean”放在 最前面。選項(xiàng)將被打開(kāi) O2 多優(yōu)化一些 .除了涉及空間和速度交換的優(yōu)化選項(xiàng) ,執(zhí)行幾乎所有的優(yōu)化工作 .例如不進(jìn)行循環(huán)展開(kāi) (loop unrolling)和函數(shù)內(nèi)嵌 (inlining).和 O選項(xiàng)比較 ,這個(gè)選項(xiàng)既增加了編譯時(shí)間 ,也提高了生成代碼的 運(yùn)行效果 . O3 優(yōu)化的更多 .除了打開(kāi) O2所做的一切 ,它還打開(kāi)了 finlinefunctions選項(xiàng) O0 不優(yōu)化 如果指定了多個(gè) O選項(xiàng) ,不管帶不帶數(shù)字 ,最后一個(gè)選項(xiàng)才是生效的選項(xiàng) . 機(jī)群系統(tǒng)并行程序調(diào)試環(huán)境 DENNET 32 C源文件 C頭文件 (預(yù)處理文件 ) 預(yù)處理后的 C源文件 ++源文件 ObjectiveC源文件 匯編語(yǔ)言文件 目標(biāo)文件 連接的輸出文件
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1