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

正文內(nèi)容

linux命令學(xué)習(xí)手冊(cè)-objcopy命令(已修改)

2025-06-11 18:15 本頁面
 

【正文】 objcopy [選項(xiàng)]... 輸入文件 [輸出文件][功能]將目標(biāo)文件的一部分或者全部?jī)?nèi)容拷貝到另外一個(gè)目標(biāo)文件中,或者實(shí)現(xiàn)目標(biāo)文件的格式轉(zhuǎn)換。[描述]objcopy工具使用BFD庫讀寫目標(biāo)文件,它可以將一個(gè)目標(biāo)文件的內(nèi)容拷貝到另外一個(gè)目標(biāo)文件當(dāng)中。objcopy通過它的選項(xiàng)來控制其不同的動(dòng)作,它可以將目標(biāo)文件拷貝成和原來的文件不一樣的格式。需要注意的是objcopy能夠在兩種格式之間拷貝一個(gè)完全鏈接的文件,在兩種格式之間拷貝一個(gè)可重定位的目標(biāo)文件可能不會(huì)正常地工作。objcopy在做轉(zhuǎn)換的時(shí)候會(huì)創(chuàng)建臨時(shí)文件,然后將這些臨時(shí)文件刪除。objcopy使用BFD來做它所有的轉(zhuǎn)換工作;它訪問BFD中描述的所有格式,可以不必指定就識(shí)別大多數(shù)的格式。通過指定輸出目標(biāo)為srec(例如 O srec),objcopy可以用來生成Srecord文件。通過指定輸入目標(biāo)為而進(jìn)制文件(例如O binary),objcopy可以生成原始格式的二進(jìn)制文件。當(dāng)objcopy生成一個(gè)原始格式的二進(jìn)制文件的時(shí)候,它會(huì)生成輸入的目標(biāo)文件的基本內(nèi)存拷貝,然后所有的標(biāo)號(hào)和可重定位信息都會(huì)被去掉。內(nèi)存拷貝開始于最低段的加載地址,拷貝到輸出文件。當(dāng)生成一個(gè)Srecord或者原始的二進(jìn)制文件的時(shí)候,可以使用S這個(gè)很有用的選項(xiàng)選項(xiàng)來移除一些包含調(diào)試信息的節(jié)。有時(shí)R可以用來移除一些二進(jìn)制文件不需要的節(jié)。注意:objcopy工具不能用來改變文件的大端和小端屬性。命令參數(shù):infile/outfile源文件/目標(biāo)文件,如果不指定目標(biāo)文件那么objcopy將會(huì)創(chuàng)建一個(gè)臨時(shí)文件,并且將其命名為源文件。命令項(xiàng):I bfdnameinputtarget=bfdname指定輸入文件的bfdname,可取值elf32little,elf32big等。O bfdnameoutputtarget=bfdname指定輸出文件的bfdnameF bfdnametarget=bfdname指定輸入、輸出文件的bfdname,目標(biāo)文件格式,只用于在目標(biāo)和源之間傳輸數(shù)據(jù),不轉(zhuǎn)換。j sectionnameonlysection=sectionname只將由sectionname指定的section拷貝到輸出文件,可以多次指定,并且注意如果使用不當(dāng)會(huì)導(dǎo)致輸出文件不可用。R sectionnameremovesection=sectionname從輸出文件中去除掉由sectionname指定的section,可以多次指定,并且注意如果使用不當(dāng)會(huì)導(dǎo)致輸出文件不可用。Sstripall不從源文件拷貝符號(hào)信息和relocation信息。gstripdebug不從源文件拷貝調(diào)試符號(hào)信息和相關(guān)的段。對(duì)使用g編譯生成的可執(zhí)行文件執(zhí)行之后,生成的結(jié)果幾乎和不用g進(jìn)行編譯生成可執(zhí)行文件一樣。stripunneeded去掉所重定位處理不需要的符號(hào)。K symbolnamekeepsymbol=symbolnamestrip的時(shí)候,保留由symbolname指定的符號(hào)信息??梢灾付ǘ啻?。N symbolnamestripsymbol=symbolname不拷貝由symbolname指定的符號(hào)信息,可以多次指定。G symbolnamekeepglobalsymbol=symbolname只保留symbolname為全局的,讓其他的都是文件局部的變量這樣外部不可見,這個(gè)選項(xiàng)可以多次指定。L symbolnamelocalizesymbol=symbolname將變量symbolname變成文件局部的變量??梢远啻沃付?。W symbolnameweakensymbol=symbolname弱化變量。globalizesymbol=symbolname讓變量symbolname變成全局范圍,這樣它可以在定義它的文件外部可見??梢远啻沃付āwildcard允許對(duì)其他命令行項(xiàng)中的symbolnames使用正則表達(dá)式。問號(hào)(?),星號(hào)(*),反斜線(\),和中括號(hào)([])操作可以用在標(biāo)號(hào)名稱的任何位置。如果標(biāo)號(hào)的第一個(gè)字符是感嘆號(hào)(!),那么表示相反的含義,例如:w W !foo W fo*表示objcopy將要弱化所有以fo開頭的標(biāo)號(hào),但是除了標(biāo)號(hào)foo。xdiscardall不從源文件中拷貝非全局變量。Xdiscardlocals不拷貝編譯生成的局部變量(一般以L或者..開頭)。b bytebyte=byte只保留輸入文件的每個(gè)第byte個(gè)字節(jié)(不會(huì)影響頭部數(shù)據(jù))。byte的范圍可以是0到interleave1。這里,interleave通過i選項(xiàng)指定,默認(rèn)為4。將文件創(chuàng)建成程序rom的時(shí)候,這個(gè)命令很有用。它經(jīng)常用于srec輸出目標(biāo)。i interleaveinterleave=interleave每隔interleave字節(jié)拷貝1 byte。通過b選項(xiàng)指定選擇哪個(gè)字節(jié),默認(rèn)為4。如果不指定b那么objcopy會(huì)忽略這個(gè)選項(xiàng)。gapfill val在section之間的空隙中填充val,setstart val設(shè)定新文件的起始地址為val,并不是所有格式的目標(biāo)文件都支持設(shè)置起始地址。changestart incradjuststart incr通過增加incr量來調(diào)整起始地址,并不是所有格式的目標(biāo)文件都支持設(shè)置起始地址。changeaddress incradjustvma incr通過增加incr量調(diào)整所有sections的VMA(virtual memory address)和LMA(linear memory address),以及起始地址。changesectionaddress section{=,+,}valadjustsectionvma section{=,+,}val調(diào)整指定section的VMA/LMA地址。setsectionflags section=flag指定指定section的flag,flag的取值可以alloc,contents, load, noload, readonly, code, data, rom, share, debug。我們可以設(shè)置一個(gè)沒有內(nèi)容的節(jié)的flag,但是清除一個(gè)有內(nèi)容的節(jié)的flag是沒有意義的應(yīng)當(dāng)把相應(yīng)的節(jié)移除。并不是所有的flags對(duì)于所有的目標(biāo)文件都有意義。addsection sectionname=filename在拷貝文件的時(shí)候,添加一個(gè)名為sectionname的section,該section的內(nèi)容為filename的內(nèi)容,大小為文件大小。這個(gè)選項(xiàng)只在那些可以支持任意名稱section的文件好用。renamesection oldname=newname[,flags]更改section的名將一個(gè)section的名字從oldname更改為newname,同時(shí)也可以指定更改其flags。這個(gè)在執(zhí)行l(wèi)inker腳本進(jìn)行重命名的時(shí)候,并且輸出文件還是一個(gè)目標(biāo)文件并不成為可執(zhí)行的連接文件,這個(gè)時(shí)候很有優(yōu)勢(shì)。這個(gè)項(xiàng)在輸入文件是binary的時(shí)候很有用,例如,這時(shí)候,你可以使用如下命令:objcopy I binary O output_format B architecture \renamesection .data=.rodata,alloc,load,readonly,data,contents \input_binary_file output_object_fileaddgnudebuglink=pathtofile,這個(gè)節(jié)包含一個(gè)特定路徑的文件引用,并且把它添加到輸出文件中。onlykeepdebug對(duì)文件進(jìn)行strip,移走所有不會(huì)被stripdebug移走的section,并且保持調(diào)試相關(guān)的section原封不動(dòng)。這個(gè)項(xiàng)應(yīng)該和addgnudebuglink選項(xiàng)一起使用,創(chuàng)建一個(gè)兩部分的可執(zhí)行文件。一個(gè)是已經(jīng)被stripped的占用RAM空間以及發(fā)布的大小很小的二進(jìn)制文件,另一個(gè)是調(diào)試信息文件,這個(gè)信息只有在調(diào)試的時(shí)候會(huì)用到。建立這樣的兩個(gè)文件的步驟如下:,fooobjcopy onlykeepdebug foo 創(chuàng)建一個(gè)包含調(diào)試信息的文件objcopy stripdebug foo創(chuàng)建一個(gè)去掉調(diào)試信息的(strip的)可執(zhí)行文件objcopy addgnudebuglink= foo,為strip的文件添加調(diào)試信息鏈接。注意這里擇.dbg擴(kuò)展名是任意的,onlykeepdebug的步驟也是可選的,你也可以這樣做:,foofoo拷貝為objcopy stripdebug fooobjcopy addgnudebuglink= foo可見,使用addgnudebuglink添加調(diào)試信息的可以是完全的可執(zhí)行文件,不用非得用onlykeepdebug創(chuàng)建。注意 這個(gè)只能用于完全鏈接的文件,對(duì)于一個(gè)目標(biāo)文件來說這個(gè)功能沒有意義
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1