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

正文內(nèi)容

c語(yǔ)言-gcc基礎(chǔ)培訓(xùn)-資料下載頁(yè)

2025-01-10 11:37本頁(yè)面
  

【正文】 file ? option d – Delete a file from the archive ? option p – Print a list of files in the archive ? option q – Append files to the archive ? option r – Insert new files in the archive by replacing if a file already exists in the archive ? option t – Displaying contents of an archive ? option x – Extracting files from an archive 65 ranlib Utility The “ranlib” mand is used to create index entries inside an archive file. 示例: $ranlib staticlibname 等價(jià)于 $ar –s staticlibname 66 nm Utility used to list symbols used in an object file. 示例: $ nm s $ nm s 另外: –a option with the nm mand also shows the debug symbols. 67 objdump Utility ?f – Displaying Header Information ?h – Displaying Section Headers ?d – Disassembling a File ?a – Displaying Information about Library Files 68 size Utility The size utility displays sizes of each section in an object file. 示例: [root@boota] size text data bss dec hex filename 1015 232 24 1271 4f7 69 ldd Utility The ldd utility is very useful in finding out the dependencies of an executable on shared libraries. 示例: [root@boota] ldd = /lib/i686/ (0x4002c000) /lib/ =/lib/ (0x40000000) [root@boota] 70 建立自己的 GCC 編譯環(huán)境 ? 一個(gè)系統(tǒng)上如何同時(shí)存在并使用多個(gè)版本的 GCC編譯器? ? 建立目標(biāo)目錄: – 在 gcc源代碼同一級(jí)目錄下(與源目錄 ${srcdir}是同級(jí)目錄) – % mkdir gccbuild – % cd gccbuild ? 配置環(huán)境: – % ../threads=posix disablechecking enablelonglong host=i386redhatlinux withsystemzlib enablelanguages=c,c++,java – 將 GCC安裝在 /usr/local/,支持 C/C++和 JAVA語(yǔ)言 71 ? 編譯安裝: – % makeamp。amp。make install ? 其它配置: – GCC ,包括命令文件(如 gcc、 g++)、庫(kù)文件等都在 ${destdir}目錄下分別存放,如命令文件放在 bin目錄下、庫(kù)文件在 lib下、頭文件在 include下等。由于命令文件和庫(kù)文件所在的目錄還沒(méi)有包含在相應(yīng)的搜索路徑內(nèi),所以必須要作適當(dāng)?shù)脑O(shè)置之后編譯器才能順利地找到并使用它們。 – 用符號(hào)連接的方式實(shí)現(xiàn),這樣做的好處是我仍然可以使用系統(tǒng)上原來(lái)的舊版本的 GCC編譯器。 – % ln s ${destdir}/bin/gcc gcc34 – 庫(kù)路徑的設(shè)置: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:{destdir}/lib – setenv LD_LIBRARY_PATH /usr/local/:$LD_LIBRARY_PATH 72 GCC的編譯環(huán)境 ?工具: – gcc c編譯器,它在鏈接時(shí)使用 c庫(kù) – cc1 實(shí)際的 c編譯器 – cc1plus 實(shí)際的 c++編譯器 – collect2 使用 collect2產(chǎn)生特定的全局初始化代碼,后臺(tái)處理是傳遞參數(shù)給 ld完成實(shí)際的鏈接工作。 – 初始化和結(jié)束代碼 – libgcc 平臺(tái)相關(guān)的庫(kù) 73 ? binutils相關(guān)工具: – as: gnu匯編工具 – gprof : 性能分析工具 – ld : gnu鏈接器,鏈接器可以讀寫(xiě)各種目標(biāo)文件中的信息,通過(guò) BFD( binary file descriptor)提供的工具實(shí)現(xiàn), BFD定義了類似 , elf, coff等目標(biāo)文件的格式 – make: – objcopy: 目標(biāo)文件從二進(jìn)制格式翻譯或復(fù)制到另一種 – objdump: 顯示目標(biāo)文件的各種信息 – strings: 顯示文件的字符串 – strip : 去除符合表 – readelf : 分析 elf并顯示信息 74 ?gcc預(yù)定義宏 – __BASE_FILE__ 完整的源文件名路徑 – __cplusplus 測(cè)試 c++程序 – __DATE__ 日期 – __FILE__ 源文件名 – __func__ 替代 __FUNCTION__, __FUNCTION__以被 GNU不推薦使用 – __TIME__ 日期 – __LINE__ 行數(shù) – __VERSION__ gcc版本 75 ? 常用優(yōu)化選項(xiàng) – gcc默認(rèn)提供了 5級(jí)優(yōu)化選項(xiàng)的集合 : – O0:無(wú)優(yōu)化 (默認(rèn) ) – O和 O1:使用能減少目標(biāo)文件大小以及執(zhí)行時(shí)間并且不會(huì)使編譯時(shí)間明顯增加的優(yōu)化 .在編譯大型程序的時(shí)候會(huì)顯著增加編譯時(shí)內(nèi)存的使用 . – O2:包含 O1的優(yōu)化并增加了不需要在目標(biāo)文件大小和執(zhí)行速度上進(jìn)行折衷的優(yōu)化 .編譯器不執(zhí)行循環(huán)展開(kāi)以及函數(shù)內(nèi)聯(lián) .此選項(xiàng)將增加編譯時(shí)間和目標(biāo)文件的執(zhí)行性能 . – Os:專門優(yōu)化目標(biāo)文件大小 ,執(zhí)行所有的不增加目標(biāo)文件大小的 O2優(yōu)化選項(xiàng) .并且執(zhí)行專門減小目標(biāo)文件大小的優(yōu)化選項(xiàng) . – O3:打開(kāi)所有 O2的優(yōu)化選項(xiàng)并且增加 finlinefunctions, funswitchloops,fpredictivemoning, fgcseafterreload and ftreevectorize優(yōu)化選項(xiàng) . 76 ?GCC 的編譯錯(cuò)誤類型 – C語(yǔ)法錯(cuò)誤 ? 錯(cuò)誤資訊 ∶ 文件 n行有語(yǔ)法錯(cuò)誤 (syntex errror) –頭文件錯(cuò)誤 ? 錯(cuò)誤資訊 ∶ 找不到頭文件 (Can not find include file ) –檔案庫(kù)錯(cuò)誤 ? 錯(cuò)誤資訊 ∶ 連接程序找不到所需的函數(shù)庫(kù) –未定義符號(hào) ? 錯(cuò)誤資訊 ∶ 有未定義的符號(hào) (Undefined symbol)。 77 推薦讀物 ?《 GCC 中文手冊(cè)》 ?《學(xué)習(xí)使用 GCC》 ?《 Using the GNU Compiler Collection》
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1