嵌入式微處理器系統(tǒng)課件_第1頁
嵌入式微處理器系統(tǒng)課件_第2頁
嵌入式微處理器系統(tǒng)課件_第3頁
嵌入式微處理器系統(tǒng)課件_第4頁
嵌入式微處理器系統(tǒng)課件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

嵌入式微處理器系統(tǒng)嵌入式微處理器系統(tǒng)GNU開發(fā)工具與U-Boot環(huán)境實(shí)驗(yàn)一:程式編譯、連結(jié)與函式庫製作main.cfunc1.cfunc2.clib_func1.clib_func2.clib_func3.cmain.ofunc1.ofunc2.oldgcclib_func1.olib_func2.olib_func3.oarlibtest.alibm.aexecutablegccGNU開發(fā)工具與U-Boot環(huán)境實(shí)驗(yàn)一:程式編譯、連結(jié)與函式【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程前置處理(Preprocessing)編譯(Compiling)組譯(Assembling)連結(jié)(Linking)【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)原始程式碼(SourceCode)#include<stdio.h>#defineSTRING"HelloWorld!\n“intmain(void){printf(STRING);return0;}【實(shí)驗(yàn)一】相關(guān)知識(shí)原始程式碼(SourceCode)#i【實(shí)驗(yàn)一】相關(guān)知識(shí)前置處理(Preprocessing)…略…externintfprintf(FILE*__restrict__stream,__constchar*__restrict__format,...);externintprintf(__constchar*__restrict__format,...);externintsprintf(char*__restrict__s,__constchar*__restrict__format,...);…略…intmain(void){printf("HelloWorld!\n");return0;}【實(shí)驗(yàn)一】相關(guān)知識(shí)前置處理(Preprocessing)…【實(shí)驗(yàn)一】相關(guān)知識(shí)編譯(Compiling)…略….LC0:.ascii"HelloWorld!\012\000".text.align2.globalmain.typemain,functionmain:stmfdsp!,{lr}bl__gccmainldrr0,.L3blprintf__FPCcemovr0,#0ldmfdsp!,{pc}…略…【實(shí)驗(yàn)一】相關(guān)知識(shí)編譯(Compiling)…略…【實(shí)驗(yàn)一】相關(guān)知識(shí)組譯(Assembling)Disassemblyofsection.text:00000000<main>:0:e52de004strlr,[sp,-#4]!4:e59f0008ldrr0,[pc,#8]8:ebfffffebl8<main+0x8>8:R_ARM_PC24putsc:e3a00000movr0,#0;0x010:e49df004ldrpc,[sp],#4…略…Disassemblyofsection.rodata:00000000<.rodata>:0:6c6c6548stcvsl5,cr6,[r12],-#2884:6f57206fswivs0x0057206f8:21646c72cmncsr4,r2,rorr12【實(shí)驗(yàn)一】相關(guān)知識(shí)組譯(Assembling)Disass【實(shí)驗(yàn)一】相關(guān)知識(shí)連結(jié)(Linking)…略…Disassemblyofsection.text:000083d0<main>:83d0:e52de004strlr,[sp,-#4]!83d4:e59f0008ldrr0,[pc,#8]83d8:ebffffb3bl82ac<$a+0x18>83dc:e3a00000movr0,#0;0x083e0:e49df004ldrpc,[sp],#4…略…Disassemblyofsection.rodata:000084c8<_IO_stdin_used>:84c8:00020001andeqr0,r2,r184cc:6c6c6548stcvsl5,cr6,[r12],-#28884d0:6f57206fswivs0x0057206f84d4:21646c72cmncsr4,r2,rorr12【實(shí)驗(yàn)一】相關(guān)知識(shí)連結(jié)(Linking)…略…【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作-ooutput_name:指定輸出檔名-E:對(duì)程式碼進(jìn)行前置處理-S:執(zhí)行到編譯動(dòng)作便停止,不做組譯與連結(jié)-c:編譯並組譯程式碼,但不做連結(jié)#gcc-ohellohello.c#gcc-Ehello.c-ohello.i#gcc-Shello.c-ohello.S#gcc-chello.c-ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作#gcc-ohe【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作-Ihdr_path:將指定路徑加入標(biāo)頭檔搜尋路徑中-Llib_path:將指定路徑加入函式庫搜尋路徑中-llib_name:與指定函式庫進(jìn)行連結(jié)#gcc-c-I/home/kenny/include-ohello.ohello.c#gcc-L/home/kenny/lib-ohellohello.o#gcc-L/home/kenny/lib-lm-lpthread-ohellohello.o指定與名為libm和libpthread函式庫做連結(jié)【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作#gcc-c-I【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作-Olevel:設(shè)定編譯最佳化程度

<最佳化層級(jí)>

-O或-O0:不做最佳化

-O1:第一層級(jí)最佳化

-O2:第二層級(jí)最佳化(較多)

-O3:第三層級(jí)最佳化(更多)

-Os:最佳化CodeSize#gcc-O2-c-ohello.ohello.c【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作#gcc-O2-【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作-ooutput_name:指定輸出檔名-Llib_path:將指定路徑加入函式庫搜尋路徑中-llib_name:與指定函式庫進(jìn)行連結(jié)-eaddr:設(shè)定連結(jié)啟始位址#ld-ohellocrt0.ohello.o#ld-L/home/kenny/lib-ohellocrt0.ohello.o#ld-L/home/kenny/lib-lc-lm-ohellocrt0.ohello.o#ld-L/home/kenny/lib-lc-lm-e0x10000-ohellocrt0.ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作#ld-ohell【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作-s:移除所有符號(hào)-S:移除除錯(cuò)符號(hào)-r:輸出可重定位(relocatable)的檔案-Mapmap_file:產(chǎn)生連結(jié)後的符號(hào)位址對(duì)應(yīng)檔#ld-L/home/kenny/lib-lc-lm-s-ohellocrt0.ohello.o#ld-L/home/kenny/lib-lc-lm-S-ohellocrt0.ohello.o#ld-r-oromfs.oromfs.img#ld-L/home/kenny/lib-lc-lm-ohellocrt0.ohello.o-Maphello.map【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作#ld-L/hom【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作-T:指定LinkScript-Ttextaddr:指定text段位址-Tdataaddr:指定data段位址-Tbssaddr:指定bss段位址#ld-lc-lm-Thello.ld-ohellocrt0.ohello.o#ld-lc-lm-Ttext0x1000-ohellocrt0.ohello.o#ld-lc-lm-Ttext0x0-Tdata0x1000-ohellocrt0.ohello.o#ld-lc-Ttext0x0-Tdata0x1000-Tbss0x3000-ohellocrt0.ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作#ld-lc-lm【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用靜態(tài)函式庫與靜態(tài)連結(jié)hello.olibc.aStaticLinkinghello.exeCodeofprintf()libm.aCodeofsin()【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用hello.oRAM【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用動(dòng)態(tài)函式庫與動(dòng)態(tài)連結(jié)hello.olibc.soDynamicLinkingCodeofprintf()libm.soCodeofsin()hello.exeExecuteCodeof

hello.exeLoadRAM【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用hell【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用製作靜態(tài)函式庫–使用archive

使用方法:ar[options]archive_filesrc_files建立Archive查看Archive內(nèi)容取出Archive中的檔案連結(jié)靜態(tài)函式庫#ar-rlibabc.aa.ob.oc.o#ar-tvlibabc.a#ar-xlibabc.aa.o#gcc-static-labchello.o-ohello【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用#ar-r【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用製作動(dòng)態(tài)函式庫–利用gcc安裝動(dòng)態(tài)函式庫將函式庫拷貝至搜尋路徑中,或者將函式庫所在路徑加入/etc/ld.so.conf檔中執(zhí)行l(wèi)dconfig以更新系統(tǒng)搜尋路徑與函式庫資料庫連結(jié)動(dòng)態(tài)函式庫#gcc-shareda.ob.oc.o-olibabc.so#gcc-labchello.o-ohello【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用#gcc-【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用查看程式相依函式庫–利用ldd【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)其它常用工具as–組譯器nm–列出目標(biāo)檔中的符號(hào)符號(hào)類型:R:唯讀符號(hào)N:除錯(cuò)用符號(hào)D:已初始化變數(shù)符號(hào)T:Text段符號(hào)U:未定義符號(hào)S:未初始化變數(shù)符號(hào)#as-ohello.ohello.S#nmhello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)其它常用工具#as-ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)其它常用工具objdump–查看目標(biāo)檔資訊-D:反組譯並顯示所有區(qū)段內(nèi)容-d:反組譯並顯示可執(zhí)行區(qū)段內(nèi)容-r:顯示重定位入口-h:顯示各區(qū)段之資訊#objdump-Drhello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)其它常用工具#objdump-Drh【實(shí)驗(yàn)一】相關(guān)知識(shí)其它常用工具objcopy–拷貝與轉(zhuǎn)換目標(biāo)檔格式-Obfdname:指定輸出格式--only-section=name:轉(zhuǎn)換時(shí)保留指定區(qū)段--remove-section=name:轉(zhuǎn)換時(shí)移除指定區(qū)段--gap-fill=value:將區(qū)段間的空隙以指定值填滿#objcopy--gap-fill=0xff-Obinaryhello.elfhello.bin【實(shí)驗(yàn)一】相關(guān)知識(shí)其它常用工具#objcopy--gap【實(shí)驗(yàn)一】實(shí)驗(yàn)內(nèi)容根據(jù)實(shí)驗(yàn)一之編譯流程圖,將範(fàn)例中的程式碼編譯並連結(jié)成可執(zhí)行檔【註】連結(jié)動(dòng)作以gcc代替ld來簡化參數(shù)設(shè)定【實(shí)驗(yàn)一】實(shí)驗(yàn)內(nèi)容根據(jù)實(shí)驗(yàn)一之編譯流程圖,將範(fàn)例中的程式碼編【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟進(jìn)入Topic1之實(shí)驗(yàn)一資料夾【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟進(jìn)入Topic1之實(shí)驗(yàn)一資料夾【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟分別編譯資料夾下的C程式(僅編譯不連結(jié))【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟分別編譯資料夾下的C程式(僅編譯不連結(jié))【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟進(jìn)入lib資料夾並分別編譯資料夾下的C程式【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟進(jìn)入lib資料夾並分別編譯資料夾下的C程式【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟將lib資料夾下的Object檔製作成靜態(tài)函式庫【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟將lib資料夾下的Object檔製作成靜態(tài)【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟回到上一層資料夾並連結(jié)所有Object檔與函式庫【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟回到上一層資料夾並連結(jié)所有Object檔與【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟執(zhí)行test程式【實(shí)驗(yàn)一】實(shí)驗(yàn)步驟執(zhí)行test程式嵌入式微處理器系統(tǒng)嵌入式微處理器系統(tǒng)GNU開發(fā)工具與U-Boot環(huán)境實(shí)驗(yàn)一:程式編譯、連結(jié)與函式庫製作main.cfunc1.cfunc2.clib_func1.clib_func2.clib_func3.cmain.ofunc1.ofunc2.oldgcclib_func1.olib_func2.olib_func3.oarlibtest.alibm.aexecutablegccGNU開發(fā)工具與U-Boot環(huán)境實(shí)驗(yàn)一:程式編譯、連結(jié)與函式【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程前置處理(Preprocessing)編譯(Compiling)組譯(Assembling)連結(jié)(Linking)【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)原始程式碼(SourceCode)#include<stdio.h>#defineSTRING"HelloWorld!\n“intmain(void){printf(STRING);return0;}【實(shí)驗(yàn)一】相關(guān)知識(shí)原始程式碼(SourceCode)#i【實(shí)驗(yàn)一】相關(guān)知識(shí)前置處理(Preprocessing)…略…externintfprintf(FILE*__restrict__stream,__constchar*__restrict__format,...);externintprintf(__constchar*__restrict__format,...);externintsprintf(char*__restrict__s,__constchar*__restrict__format,...);…略…intmain(void){printf("HelloWorld!\n");return0;}【實(shí)驗(yàn)一】相關(guān)知識(shí)前置處理(Preprocessing)…【實(shí)驗(yàn)一】相關(guān)知識(shí)編譯(Compiling)…略….LC0:.ascii"HelloWorld!\012\000".text.align2.globalmain.typemain,functionmain:stmfdsp!,{lr}bl__gccmainldrr0,.L3blprintf__FPCcemovr0,#0ldmfdsp!,{pc}…略…【實(shí)驗(yàn)一】相關(guān)知識(shí)編譯(Compiling)…略…【實(shí)驗(yàn)一】相關(guān)知識(shí)組譯(Assembling)Disassemblyofsection.text:00000000<main>:0:e52de004strlr,[sp,-#4]!4:e59f0008ldrr0,[pc,#8]8:ebfffffebl8<main+0x8>8:R_ARM_PC24putsc:e3a00000movr0,#0;0x010:e49df004ldrpc,[sp],#4…略…Disassemblyofsection.rodata:00000000<.rodata>:0:6c6c6548stcvsl5,cr6,[r12],-#2884:6f57206fswivs0x0057206f8:21646c72cmncsr4,r2,rorr12【實(shí)驗(yàn)一】相關(guān)知識(shí)組譯(Assembling)Disass【實(shí)驗(yàn)一】相關(guān)知識(shí)連結(jié)(Linking)…略…Disassemblyofsection.text:000083d0<main>:83d0:e52de004strlr,[sp,-#4]!83d4:e59f0008ldrr0,[pc,#8]83d8:ebffffb3bl82ac<$a+0x18>83dc:e3a00000movr0,#0;0x083e0:e49df004ldrpc,[sp],#4…略…Disassemblyofsection.rodata:000084c8<_IO_stdin_used>:84c8:00020001andeqr0,r2,r184cc:6c6c6548stcvsl5,cr6,[r12],-#28884d0:6f57206fswivs0x0057206f84d4:21646c72cmncsr4,r2,rorr12【實(shí)驗(yàn)一】相關(guān)知識(shí)連結(jié)(Linking)…略…【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作-ooutput_name:指定輸出檔名-E:對(duì)程式碼進(jìn)行前置處理-S:執(zhí)行到編譯動(dòng)作便停止,不做組譯與連結(jié)-c:編譯並組譯程式碼,但不做連結(jié)#gcc-ohellohello.c#gcc-Ehello.c-ohello.i#gcc-Shello.c-ohello.S#gcc-chello.c-ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作#gcc-ohe【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作-Ihdr_path:將指定路徑加入標(biāo)頭檔搜尋路徑中-Llib_path:將指定路徑加入函式庫搜尋路徑中-llib_name:與指定函式庫進(jìn)行連結(jié)#gcc-c-I/home/kenny/include-ohello.ohello.c#gcc-L/home/kenny/lib-ohellohello.o#gcc-L/home/kenny/lib-lm-lpthread-ohellohello.o指定與名為libm和libpthread函式庫做連結(jié)【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作#gcc-c-I【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作-Olevel:設(shè)定編譯最佳化程度

<最佳化層級(jí)>

-O或-O0:不做最佳化

-O1:第一層級(jí)最佳化

-O2:第二層級(jí)最佳化(較多)

-O3:第三層級(jí)最佳化(更多)

-Os:最佳化CodeSize#gcc-O2-c-ohello.ohello.c【實(shí)驗(yàn)一】相關(guān)知識(shí)GCC常用參數(shù)與操作#gcc-O2-【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作-ooutput_name:指定輸出檔名-Llib_path:將指定路徑加入函式庫搜尋路徑中-llib_name:與指定函式庫進(jìn)行連結(jié)-eaddr:設(shè)定連結(jié)啟始位址#ld-ohellocrt0.ohello.o#ld-L/home/kenny/lib-ohellocrt0.ohello.o#ld-L/home/kenny/lib-lc-lm-ohellocrt0.ohello.o#ld-L/home/kenny/lib-lc-lm-e0x10000-ohellocrt0.ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作#ld-ohell【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作-s:移除所有符號(hào)-S:移除除錯(cuò)符號(hào)-r:輸出可重定位(relocatable)的檔案-Mapmap_file:產(chǎn)生連結(jié)後的符號(hào)位址對(duì)應(yīng)檔#ld-L/home/kenny/lib-lc-lm-s-ohellocrt0.ohello.o#ld-L/home/kenny/lib-lc-lm-S-ohellocrt0.ohello.o#ld-r-oromfs.oromfs.img#ld-L/home/kenny/lib-lc-lm-ohellocrt0.ohello.o-Maphello.map【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作#ld-L/hom【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作-T:指定LinkScript-Ttextaddr:指定text段位址-Tdataaddr:指定data段位址-Tbssaddr:指定bss段位址#ld-lc-lm-Thello.ld-ohellocrt0.ohello.o#ld-lc-lm-Ttext0x1000-ohellocrt0.ohello.o#ld-lc-lm-Ttext0x0-Tdata0x1000-ohellocrt0.ohello.o#ld-lc-Ttext0x0-Tdata0x1000-Tbss0x3000-ohellocrt0.ohello.o【實(shí)驗(yàn)一】相關(guān)知識(shí)LD常用參數(shù)與操作#ld-lc-lm【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程GCC常用參數(shù)與操作LD常用參數(shù)與操作靜態(tài)與動(dòng)態(tài)函式庫的製作與使用其它常用工具【實(shí)驗(yàn)一】相關(guān)知識(shí)執(zhí)行檔製作流程【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用靜態(tài)函式庫與靜態(tài)連結(jié)hello.olibc.aStaticLinkinghello.exeCodeofprintf()libm.aCodeofsin()【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用hello.oRAM【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用動(dòng)態(tài)函式庫與動(dòng)態(tài)連結(jié)hello.olibc.soDynamicLinkingCodeofprintf()libm.soCodeofsin()hello.exeExecuteCodeof

hello.exeLoadRAM【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用hell【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用製作靜態(tài)函式庫–使用archive

使用方法:ar[options]archive_filesrc_files建立Archive查看Archive內(nèi)容取出Archive中的檔案連結(jié)靜態(tài)函式庫#ar-rlibabc.aa.ob.oc.o#ar-tvlibabc.a#ar-xlibabc.aa.o#gcc-static-labchello.o-ohello【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用#ar-r【實(shí)驗(yàn)一】相關(guān)知識(shí)靜態(tài)與動(dòng)態(tài)函式庫的製作與使用製作動(dòng)態(tài)函式庫–利用gcc安裝動(dòng)態(tài)函式庫將函式庫拷貝至搜尋路徑中,或者將函式庫所在路徑加入/etc/ld.so.conf檔

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論