Linux / Unix Command: ID

НОМИ

ld - Истифодаи LD , пайвасткунандаи GNU

SYNOPSIS

ld [ вариантҳо ] objfile ...

ДАСТРАСӢ

ld як қатор файлҳои объективӣ ва феҳристро муттаҳид мекунад, маълумотҳои худро ҷойгир мекунад ва алоқамандро ба нишонаҳои рамзӣ ҷойгир мекунанд. Одатан қадами охирини таҳияи барнома ин аст, ки идоракунии ld .

Бо истифода аз файли фаронсавие, ки дар забони фаронсавӣ ба забони фаронсавии "AT & T" таҳрир карда мешавад, ба таври дақиқ ва пурра назорат бар раванди пайвастшавӣ.

Ин саҳифа забони фармоиширо тасвир намекунад; ба лента ворид шавед дар "info", ё левавии дастӣ: алоқаи GNU барои тафсилоти пурраи забони фармон ва дигар ҷанбаҳои пайвастаи GNU.

Ин версияи ld китобҳои генералии BFD-ро барои коркарди файлҳои объект истифода мебарад. Ин имкон медиҳад, ки ld ба хонандагон, файлҳои объектҳо дар форматҳои гуногуни гуногун хонад, якҷоя шавад ва нависед - масалан, COFF ё "a.out". Формулаҳои гуногун метавонанд якҷоя бо мақсади интихоби ҳар гуна файли функсияҳои додашаванда алоқаманд бошанд.

Ғайр аз он, ки пайвастшавии GNU аз дигар пайвандҳо дар расонидани иттилооти ташхис кӯмак мекунад, кӯмак мекунад. Бисёре аз пайвандҳо фавран баъди пайдо кардани хатогӣ даст мекашанд; ҳар гоҳе имконпазир бошад, ld иҷро мекунад, ба шумо имкон медиҳад, ки хатогиҳои дигарро (ё дар баъзе ҳолатҳо, бо вуҷуди хатогиҳо ба даст овардани файли натиҷа).

LD linker ld ба маънои васеъ кардани доираи васеи ҳолатҳо ва бо имкониятҳои мувофиқ бо дигар пайвандҳо мебошад. Дар натиҷа, шумо барои интихоби рафтори худ бисёр чизҳо доред.

OPTIONS

Пайванде, ки ба вариантҳои фармоишӣ дастгирӣ мекунад, вале дар амалияи воқеӣ чанде аз онҳо дар ҳама гуна мундариҷа истифода мешаванд. Масалан, истифодаи мунтазами ld ин файлҳои стандартии Unix -ро дар системаи стандартии Unix-ро дастгирӣ мекунад . Дар чунин система, як файли "hello.o" алоқаманд аст:

ld -o /lib/crt0.o hello.o -lc

Ин ба лd муроҷиат мекунад , ки файли номбурда дар натиҷаи пайвастшавии файл "/lib/crt0.o" бо "hello.o" ва китобхонаи "libc.a", ки аз ҷустуҷӯҳои стандартии ҷустуҷӯ пайдо мешавад. (Ба муҳокимаи алтернативаи -l нигаред.)

Баъзе аз вариантҳои фармоишӣ ба ld метавонанд дар ҳар нуқта дар хати фармон муайян карда шаванд. Бо вуҷуди ин, вариантҳое, ки ба файлҳо, ба мисли -l ё -T муроҷиат мекунанд , сабабро файлро хонед, ки дар он вариант дар сатри фармон пайдо мешавад, вобаста ба файлҳо ва файлҳои дигар. Таклиф кардани имконоти ғайриқонунии файл бо дигар далели дигар, ё ягон воқеаи дигар вуҷуд надорад (ё ин ки минбаъд ба чап дар сатри фармон) ин хосият. Интихобҳое, ки метавонанд аз якчанд дақиқа муайян карда шаванд, дар тасвирҳои дар поён зикршуда қайд карда мешаванд.

Далелҳои ғайриэътимод нусхаҳои фишурда ё архивҳое ҳастанд, ки бояд якҷоя шаванд. Онҳо метавонанд бо интихоби фармоишӣ пайравӣ кунанд, пеш аз ҳама ё бо омехтагӣ бошанд, ба истиснои далелҳои фишурдаи фосила байни ихтиёрдорӣ ва argument вуҷуд дошта наметавонанд.

Одатан алоқаманд бо аққалан як файл фишор дода шудааст, аммо шумо метавонед шаклҳои дигари файлҳои воридшударо истифода баред, -l , -R ва забони фармоннависи фармон. Агар ягон файлҳои дохилии дуӣ муайян карда нашуда бошад, пайвасткунӣ ягон натиҷа надодааст ва хабарро Не файлҳои вурудот медиҳад .

Агар пайвасткунанда натавонад формати файлии тасвирро шинохта натавонад, он тасаввур мекунад, ки он як сутуни пайвасткунанда аст. Дар скрипте, ки дар ин тарҳ нишон дода шудааст, ин услуби асосии алоқамандро барои пайванд истифода мекунад. Ин хусусият ба linker имкон медиҳад, ки бар зидди файле, ки ҳамчун объект ё архив бошад, алоқаманд аст, аммо дар асл танҳо якчанд нишонаҳои рамзиро муайян мекунад ва ё барои "Боркунӣ" ё "GROUP" истифода бурд. Дар хотир доред, ки муайян кардани коди скрипт бо ин тариқ танҳо ба скриптҳои асосӣ пайваст шудан; Интихоби Options -T- ро барои иваз кардани аломати вертикалии пешфарз истифода баред.

Барои интихоби параметрҳои алоҳида номҳо, номҳои параметрӣ бояд ҳарфҳои алтернативиро бе дахолати фосилавӣ иҷро кунанд ё ба таври ихтиёрӣ баъд аз интихоби параметр талаб карда шаванд.

Барои варақаҳое, ки номҳо якчанд ҳарфҳо мебошанд, як тиреза ё дуюм номи номро дар бар мегирад; Масалан, -тограмма-рамзи ва рамзи-нишона- баробар аст. Эзоҳ - як истисно дар ин қоида вуҷуд дорад. Вариантҳои яквақтаи мактубе, ки бо парвандаи хурдтарини 'o' шурӯъ мекунанд, танҳо пеш аз ду қабати поёнӣ метавонанд пешакӣ дода шаванд. Ин барои паст кардани ихтилофот бо вариант мебошад. Аз ин рӯ, барои намуна, номи файли хурӯҷ номи файлро ба ҷодугар меорад, ва он - парагомро парчами NMAGIC -ро дар бар мегирад.

Далелҳо ба вариантҳои яктарафа бояд аз номи интихоб аз рӯи аломати баробар ҷудо карда шаванд ё аломатҳои алоҳидае, ки баъд аз интихоби хосият талаб карда мешаванд, дода шаванд. Масалан, - f-icon-f- icon-symbol-symbol = foo баробар аст. Номҳои ношоистаи номҳои вариантҳои ҳарфҳои гуногун қабул карда мешаванд.

Эзоҳ: Агар пайвасткунанда ба таври ғайримустақим ба воситаи ронандаи маҷбурӣ (масалан, gcc ) дархост карда мешавад, ҳамаи вариантҳои фармоишгари фаронсавӣ бояд аз ҷониби WW (ё ҳар як саволи барои ронандаи таҳрикдиҳандаи мушаххас мувофиқ бошад)

gcc -Wl, - шурӯъ аз гуруҳи foo.o bar.o -Wl, - баъд аз гурӯҳ

Ин муҳим аст, зеро дар акси ҳол нармафзори нармафзори воҳиди воҳиди воҳиди воҳиди вурудот, ки дар робита ба нодуруст бад мегардад, оварда мешавад.

Дар ин ҷо як ҷадвалбандии хатҳои генерикии хати фармон аз ҷониби GNU пайваст карда шудааст:

- калимаи калидӣ

Ин вариант барои мутобиқати HP / UX дастгирӣ карда мешавад. Далели калимаи калидӣ бояд яке аз асбобҳои ранга , якҷоя ва ё фармоиш бошад . -барҷикунӣ ба функсионалӣ баробар аст -Бостатикӣ , ва ду калимаҳои дигари калидӣ ба ҳамагон мувофиқ мебошанд. Ин хосият метавонад ҳар як маротиба истифода шавад.

- меъморӣ

- меъморӣ - меъморӣ

Дар айни замон озод намудани ld , ин вариант танҳо барои Intel 960 оилаҳои алоҳида муфид аст. Дар конфигураи ld , argument architecture, меъмории мушаххасро дар 960 оила муайян мекунад, баъзе қоидаҳоро таъмин мекунад ва тағирёбии роҳи ҷустуҷӯии архив.

Паёмҳои минбаъдаи лит метавонанд барои дигар оилаҳои меъморӣ низ кор кунанд.

-b формати дохилӣ

--format = формати формат

ld метавонад барои бештар аз як намуди файл объекти тасниф карда шавад. Агар ld- ро ба ин тарҳ танзим карда бошед, шумо метавонед -b- ро интихоб кунед барои муайян кардани форматҳои дуӣ барои файлҳои объекти тасвири, ки ин хосиятро дар сатри фармон. Ҳатто вақте ки ld барои дастгирӣ кардани форматҳои алтернативии алтернативӣ танзим карда мешавад, одатан лозим нест, ки ин муайян созед, зеро ld бояд тарзе, ки ҳамчун формати воҳиди воҳиди формулаи оддии ҳар як мошин интизор шавад. формати вурудшавӣ як сатри матн, номи формати махсус, ки аз ҷониби китобхонаҳои BFD дастгирӣ карда мешавад. (Шумо метавонед форматҳои дастраси дутарафаро бо objdump -i номбар кунед .)

Шумо метавонед ин вариантро истифода баред, агар шумо файлҳоро бо формати яквақта пайваст карда бошед. Шумо инчунин метавонед истифода бурдани форматҳоро (ҳангоми пайваст кардани файлҳои объекти шаклҳои гуногун), аз ҷумла, -бар формати вуруди пеш аз ҳар як гурӯҳҳои файлҳо дар формати махсус истифода баред.

Формати пешфарз аз тағйирёбии муҳити "GNUTARGET" гирифта мешавад.

Шумо инчунин метавонед формати варақаро аз як скрипт, бо истифодаи "Тарҷума";

-c MRI-commandfile

- mr-script = MRI-commandfile

Барои мутобиқат бо пайвандҳо аз ҷониби MRI, Ld парвандаҳои скриптро, ки дар забти алтернативӣ, маҳдудшудаи фармоннависӣ навишта шудаанд, дар ҳуҷҷатҳои MRI Compatible File Files дар ҳуҷҷатҳои GNU ld тасвир карда шудааст. Пешниҳоди файлҳои скрипти MRI бо вариант -c ; Интихоби усули " -T" -ро барои коркарди скриптҳо, ки дар забони тарҷумаи умумӣ истифода мешаванд, истифода баред. Агар MRI-cmdfile вуҷуд надошта бошад, ld онро дар рӯйхатҳое ,

-d

-дуқ

-dp

Ин се имконият баробаранд; шаклҳои мухталиф барои мутобиқат бо дигар пайвандҳо дастгирӣ карда мешаванд. Онҳо ба рамзҳои умумӣ ҷой дода мешаванд, ҳатто агар файле, ки решакан карда шавад, бо (- бо) муайян карда мешавад. Фармони ниҳоии "FORCE_COMMON_ALLOCATION" ҳамон таъсир дорад.

- вироиш

Нишондиҳанда ҳамчун рамзи равшан барои оғози иҷрои барномаи худ истифода мешавад, на нуқтаи дохилии муқаррарӣ. Агар ягон вурудоти рамзи ворид нашуда бошад , пайвасткунанда кӯшиш мекунад, ки ба рақам дохил шавед ва онро ҳамчун суроғаи вурудшавӣ истифода баред (рақами дар зеристгоҳи 10 маънидод карда мешавад, шумо метавонед 0x-ро дар асоси 16, барои пойгоҳи 8).

- омехта-динамикӣ

Ҳангоми сохтани раванди ба таври динамикӣ алоқаманд, ҳамаи рамзҳоро ба мизи диаграммаҳои динӣ илова кунед. Мизи символии динамикӣ маҷмӯи рамзҳоест, ки аз объектҳои динамикӣ дар вақти корӣ намоён мебошанд.

Агар шумо ин параметрро истифода набаред, мизҳои динамикии динамикӣ одатан танҳо нишонаҳое ҳастанд, ки аз тарафи баъзе чизҳои динам, ки дар пайванд зикр ёфтаанд, дар бар мегирад.

Агар шумо "dlopen" -ро истифода баред, ки объекти динамикиро, ки бояд ба рамзҳои муайянкардаи барнома муайян карда шавад, на ба як ҷузъи дигари динамикӣ, пас шумо бояд ба ин вариант ҳангоми пайвастшавӣ ба барнома истифода набаред.

Шумо инчунин метавонед варақаи варақаро барои назорат кардани нишонаҳои нишонаҳои рамзи динамикӣ илова кунед, агар формати маҳсулотро дастгирӣ кунед. Ба тавсифи --version-вироиш дар @ ref {VERSION}.

Пайвастани объектҳои бузурги эндӣ. Ин ба формати пешфарзӣ таъсир мерасонад.

-Лл

Пайвастани объектҳои камераҳои офтобӣ. Ин ба формати пешфарзӣ таъсир мерасонад.

- номи асотирӣ

Ҳангоми эҷоди объекти ELF, майдони дохилии DT_AUXILIARY ба ном нишон дода шудааст. Ин ҳамоҳангкунандаи динамикиро нишон медиҳад, ки мизҳои нишонаии шарти мубодила бояд ҳамчун филтри ёрирасон дар сутуни нишонии номаш истифода шавад .

Агар шумо баъд аз барнома ин филтрро пайваст карда бошед, пас, вақте ки шумо барномаи худро идора мекунед, пайвасткунандаи ҷустуҷӯӣ майдони DT_AUXILIARYро хоҳад дид. Агар пайвандаккунандаи диндор ҳама гуна рамзҳоро аз объекти филтр ҳал кунад, пеш аз он, ки оё дар номи шарикии муштарак муайян шудааст, муайян карда мешавад. Агар ягон вуҷуд дошта бошад, он ба ҷои муайянкунии объекти филтр истифода бурда мешавад. Номи параметрӣ набояд вуҷуд дошта бошад. Ҳамин тариқ, номгӯи объектҳои муштарак метавонанд барои таъмини алтернативии баъзе вазифаҳое, ки барои бартарафсозӣ ё иҷрои мушаххаси мошин пешбинӣ шудаанд, истифода бурда шаванд.

Ин вариант бештар аз як маротиба муайян карда мешавад. Қуттиҳои DT_AUXILIARY дар тартиб, ки онҳо дар хати фармон пайдо мешаванд.

ном

- номи филтр

Ҳангоми эҷоди объекти мубоҳисавии ELF, майдони дохилии DT_FILTERро ба ном муайян кунед. Ин ба алоқаи динамикӣ, ки мизи символии объекти муттаҳидшуда мебошад, бояд ҳамчун филтр дар сутуни нишонии номии шарикӣ истифода шавад.

Агар шумо баъд аз барнома ин филтрро пайваст карда бошед, пас, вақте ки шумо барномаи худро идора мекунед, пайвасткунандаи ҷустуҷӯӣ майдони DT_FILTERро хоҳад дид. Пайвандҳои динамикӣ бо нишонаҳои нишонаҳои объекти филтр ҳамчун рамзҳо ҳал карда мешаванд, вале он дар ҳақиқат ба мафҳумҳое, Ҳамин тавр объекти филтр барои интихоби зергурӯҳҳои рамзҳои додашудаи номаш истифода мешавад .

Баъзе алоқамандони калонтарини F- ро дар як силсилаи таҳрирӣ барои муайян кардани формати файлии файлҳо барои файлҳои объектҳои дохилшавӣ ва берунӣ истифода бурданд. Пайванди GNU механизмҳои дигарро барои ин мақсад истифода мебарад: , - формат , - рефлекситизатсия , фармонномаи "TARGET" дар сутунҳои пайвасткунанда ва тағйирёбии муҳити "GNUTARGET". Пайванди GNU-ро интихоб кунед, вақте ки эҷоди объекти мубодилаи ELF нест.

ном

Вақте, ки эҷоди объекти иҷрошаванда ё мубодилаи ELF, NAME ҳангоми нусхаи функсия ё мубодилаи паҳнкунӣ, бо роҳи муайян кардани DT_FINI ба суроғаи функсия, занг занед. Бо нобаёнӣ, пайвасткунанда "_fini" -ро ҳамчун функсия даъват мекунад.

-g

Равшан нест. Дастрасӣ ба дастгоҳҳои дигар.

- арзиши G

--gpsize = арзиш

Андозаи ҳадди аксарро ба воситаи бақайдгирии GP ба андозаи беҳтарин танзим кунед. Ин танҳо барои форматҳои файлии файл, ба монанди MIPS ECOFF мебошад, ки ҷузъҳои калон ва хурдро ба қисмҳои гуногун дастгирӣ мекунад. Ин барои дигар форматҳои файлии объектҳо нодуруст аст.

- ном

- ном

Ҳангоми эҷоди объекти ELF, майдони дохилии DT_SONAME ба ном нишон дода шудааст. Вақте ки иҷрогар бо объекти муштараке, ки дар майдони DT_SONAME дорад, он гоҳ вақте ки иҷрошаванда иҷро карда мешавад, пайвасткунандаи ҷудогона кӯшиш мекунад, ки объекти мубодилаиеро, ки аз ҷониби DT_SONAME майдонҳост, истифода барад, номи файлеро, ки ба пайвасткунанда дода шудааст.

-i

Пайванди иловагӣ (ҳамон тавре, ки вариант-ро) иҷро кунед.

-маълумот

Ҳангоми эҷоди объекти иҷрошаванда ё эҷодии ELF, NAME ҳангоми зеркашӣ ё shared shared, бо роҳи DT_INIT ба суроғаи функсия насб кунед. Бо нобаёнӣ пайвасткунандаи "_init" ҳамчун функсияи зангҳо истифода мешавад.

-маҳрамияти

- классикӣ = архив

Иловаи файлҳои архивӣ ба рӯйхати файлҳо барои пайвастшавӣ. Ин хосият метавонад ҳар як маротиба истифода шавад. ld ба рӯйхати роҳҳои худ барои рӯйдодҳои "libarchive.a" барои ҳар як архив муайян карда мешавад.

Дар системаҳое, ки китобхонаҳои муштаракро дастгирӣ мекунанд, ld ҳамчунин метавонад ба китобхонаҳо бо васеъҳои ғайр аз ".a" ҷустуҷӯ намояд. Махсусан, дар системаҳои ELF ва SunOS, лид дар як китоб бо китоби китобхона бо дарозии ". Бо анҷуман, ".so" extension, китобхонаи муштаракро нишон медиҳад.

Пайвастшавӣ танҳо дар як ҷойгоҳе, ки дар хати фармон муайян карда мешавад, ҷустуҷӯ хоҳад кард. Агар архив рамзи муайянеро дошта бошад, ки дар баъзе ҷузъе, ки пеш аз архив дар хати фармон пайдо шуда буд, пайвастшуда файлҳои мувофиқро аз архив ҷойгир мекунад. Бо вуҷуди ин, рамзи номуайян дар объекте, ки дертар дар хати фармон пайдо мешавад, пайвасткунанда ба ҷустуҷӯи архив боз хоҳад гашт.

Нигаред ба - ( варианти барои роҳе, ки ба linker барои ҷустуҷӯи архивҳо якчанд маротиба зада шавад.

Шумо метавонед ҳамон як архивро дар хати фармон бисанҷад.

Ин навъи ҷустуҷӯ барои пайвандҳои Unix мебошад. Бо вуҷуди ин, агар шумо истифода LA onAIX, қайд кунед, ки он аз рафтори AIX linker фарқ мекунад.

-Лустуҷӯ

- классикӣ - роҳи ҷустуҷӯ

Рӯйхати роҳро ба рӯйхати роҳҳое, ки ld дар китобхонаҳои бой ва сабти ld ҷустуҷӯ мекунад, ҷустуҷӯ кунед. Шумо метавонед ин вариантро ҳар як маротиба истифода баред. Рӯйхатҳо бо тартибе, ки онҳо дар хати фармон муайян карда мешаванд, ҷустуҷӯ карда мешаванд. Рӯйхатҳое, ки дар сатри фармон муайян карда шудаанд, пеш аз рӯйхати намоишҳо ҷустуҷӯ карда мешаванд. Параметрҳои All -L ба ҳамаи вариантҳо, новобаста аз тартиби, ки дар он вариантҳо пайдо мешаванд, истифода мешаванд.

Агар searcher бо "=" оғоз меёбад, пас "=" ба тарзи пешфарзии sysroot иваз карда мешавад.

Маҷмӯи воҳиди роҳҳои ҷустуҷӯӣ (бе LL-ро нишон дода шудааст ) вобаста аст, ки кадом усули пешгиркунии лабораторӣ истифода мешавад ва дар баъзе ҳолатҳо инчунин чӣ гуна тарҳрезӣ шудааст.

Роҳҳо метавонанд дар скрипти пайваст бо фармони "SEARCH_DIR" муайян карда шаванд. Нишондиҳандаҳо ба ин роҳ муайян карда шудаанд, ки дар он ҷое, ки скрипти linker дар сатри фармон пайдо мешавад.

-маҳсулот

Пайвастшавӣ ба муодилаи emulation . Шумо метавонед эффектҳои дастрасро бо вариантҳои вирусӣ ё ввл .

Агар параметри фармоиш истифода нашавад, мутаносиб аз тағйирёбии муҳити атроф "LDEMULATION" гирифта мешавад, агар он муайян карда шавад.

Дар акси ҳол, нафратангези пешфарз аз он вобаста аст, ки пайвасткунанда ба таркибаш вобаста аст.

- харита-харита

Харитаи иртиботро ба протседураи стандартиро чоп кунед. Харитаи алоқа иттилоотро дар бораи пайвастшавӣ таъмин мекунад, аз он ҷумла:

*

Дар куҷо файлҳои рамзикунонӣ ва рамзҳо ба хотираи ҳамоҳангшавандаро дарбаранд

*

Чӣ рамзҳои умумӣ ҷудо карда мешаванд.

*

Ҳамаи аъзоёни архив дар робита бо суроға, бо ишора ба нишонае, ки ба аъзоёни архив дода шуда буданд, дохил карда шуданд.

НОҲИЯИ БОХТАР

Агар имконпазир бошад, саҳифаро бо тақсимоти қисмҳо ҷудо кунед ва маҳсулотро ҳамчун "NMAGIC" қайд кунед.

- амомикӣ

Барои матни хондан ва навиштани матн ва қисматҳои маълумотро насб кунед. Ҳамчунин, саҳифа-бахшиши сегментро ҳамоҳанг накунед ва пайвастанро бо китобхонаҳои умумӣ хомӯш кунед. Агар формати маҳсулот рақамҳои ҷолиби Unix -ро пуштибонӣ кунад, баровардани "OMAGIC" -ро қайд кунед.

- не-omagic

Ин вариант аксарияти таъсири Н- ро интихоб мекунад. Он қисмати матнро танҳо хонда мекунад ва сегменти маълумотро ба саҳифа табдил медиҳад. Эзоҳ - ин параметр ба пайвастан ба китобхонаҳои муштарак мусоидат намекунад. Барои истифода бурдани интерфейс .

-мавҷудият

--output = хуруҷ

Истифодаи маҳсулотро ҳамчун номи барномае, ки аз ҷониби ld истеҳсол шудааст; Агар ин хосият нишон дода нашуда бошад, номе a.out номида шудааст. Фармони ниҳоии "OUTPUT" ҳамчунин метавонад номи файли хуршедиро муайян кунад.

-Оё дараҷа

Агар сатҳи сатҳҳои рақамӣ бузургтар аз сифр нишон дода шавад, маҳсулотро беҳтар мекунад. Ин метавонад ба таври назаррас зиёдтар бошад ва бинобар ин бояд танҳо барои дуюми ниҳоӣ имконпазир бошад.

-q

- бозгаштан

Қисматҳо ва мундариҷаҳои релефро тарк кунед. Таҳлили пайвандҳои пайванд ва визуализатсия метавонад ин иттилоотро бо мақсади амалисозии дурусти иҷроиш иҷро кунад. Ин ба иҷрои амалиётҳои калонтар оварда мерасонад.

Ин вариант танҳо дар платформаҳои ELF дастгирӣ карда мешавад.

-r

- тафсон

Муайян кардани баромади ҷудошуда - яъне, эҷод кардани файли баромад, ки метавонад дар навбати худ ба лента хизмат кунад . Ин маъмулан пайвастани қисман ном дорад. Ҳамчун таъсири тарафҳо, дар муҳитҳое, ки рақамҳои сенсории Unix -ро пуштибонӣ мекунанд, ин хосият инчунин рақами ҷоддаи баромадро ба "OMAGIC" муқаррар мекунад. Агар ин параметр муайян нашуда бошад, файли мутлақ таҳия карда мешавад. Ҳангоми пайваст кардани барномаҳои C ++, ин параметр ба нишасткунандагон ишора мекунад; ки ин корро истифода баред.

Вақте, ки файли воридшаванда ҳамон шакли форматро дар бар мегирад, алоқаи қисм танҳо танҳо вақте ки файлҳои воридшавӣ ягон ҷойро дар бар намегирад. Формулаҳои гуногун метавонанд маҳдудиятҳои дигар дошта бошанд; Масалан, баъзе форматҳои "a.out" -ҳои бо якҷоя бо файлҳои воридшударо дар дигар форматҳо дастгирӣ намекунанд.

Ин хосият ба монанди ҳамон -i .

номи файл

- рамзҳо - рамзҳо = файл

Номҳои симо ва суроғаҳои онҳо аз феҳристро хонед, вале онро иваз накунед ё онро дар баровардани он дохил кунед. Ин имкон медиҳад, ки файли чопии шумо ба нишонаҳои мӯъҷизавии хотира, ки дар барномаҳои дигар муайян карда шудааст, рамзгузорӣ карда шавад. Шумо метавонед ин вариантро як маротиба зиёдтар истифода баред.

Барои мутобиқат бо дигар пайвастҳои ELF, агар -R параграф бо номи феҳрист пайравӣ карда шавад, на номи номи файл, ҳамчун варианти интихобшуда.

Ҳамин тавр

Маълумоти ҳамаи нишонаҳо аз файли баромад.

--strip-debug

Маълумоти раками debugger маълумотро (аммо на ҳамаи рамзҳо) аз файли баромад.

-t

- фаромӯш накунед

Номи файлҳои воридотӣ ҳамчун равандҳои ldро чоп кунед.

-Тарифӣ

--script = scriptfile

Истифодабарӣ scriptfile ҳамчун варақаи пайвасткунанда истифода баред. Ин скрипт сутуни аломати Ld-ро тағйир медиҳад (ба ҷои он ба он илова кардан). Барои ҳамин, commandfile бояд ҳамаи чизҳои заруриро барои тасвир кардани файли. Агар паролро дар феҳристи ҷорӣ вуҷуд надошта бошад, "ld" онро дар интихоби филтрҳо, ки бо пешнамоишҳои пеш аз LL муқаррар шудааст, ҷустуҷӯ мекунад. Интихоби фармоишӣ-Тн-ҳо ҷамъ меорад.

-ки аломати

- муайян карда шудааст

Рамзи қувва, ки дар рамзи баромад ҳамчун нишони нодуруст ворид карда мешавад. Ин метавонад, масалан, пайваст кардани модулҳои иловагии китобхонаҳои стандартӣ дошта бошад. - метавонад бо далелҳои гуногуни варианти такрорӣ ба рамзҳои иловагии муайян такрор карда шаванд. Ин параметр ба фармони "EXTERN" фармонхати скрипт баробар аст.

- Андоз

Барои ҳама чизҳои ғайр аз барномаҳои C ++, ин хосият ба -r : ба он баромадан мумкин аст. Масалан, файли чопие, ки дар навбати худ метавонад ба лента дохил шавад . Ҳангоми пайваст кардани барномаҳои C ++ -Ur муроҷиат ба сохтмончиён, аз қабили - r . Он кор намекунад, ки дар файлҳо, ки бо онҳо Уру ; вақте ки мизбони сохтор сохта шудааст, онро ба он илова кардан мумкин нест. Истифодаи -Ur танҳо барои пайванди охирини қисм, ва -r барои дигарон.

--unique [= БОБИЛ ]

Барои ҳар як саҳифа дар қисмати қисмате, ки параграфи SECTION-ро ишғол мекунад , қисматҳои алоҳидаи чопкунӣ эҷод мекунад, ё агар хати ибтидоии параграфи SECC-ро ихтисор карда шавад , барои ҳар як қисмҳои ибтидоӣ. Қисми ятимӣ яке аз аломатҳо дар сутуни пайвасткунанда зикр нашудааст. Шумо метавонед ин параметрро якчанд маротиба дар сатри фармон истифода баред; Он як воҳиди оддии қисмҳои воридшударо бо ҳамон ном монеъ месозад, супоришҳоеро, ки қисмати баровардани чопи бардурӯғро дар сутуни пайвасткунанда пешгирӣ мекунад.

-п

- тақвият

Нишонии рақами нусхаи ld . Интихоби В- ро инчунин модулҳои дастгирикунанда номбар мекунанд.

-x

- ҳарду - ҳама

Ҳамаи нишонаҳои маҳаллӣ нест карда шаванд.

-X

- ҳоҷатхонаҳо

Ҳамаи нишонаҳои маҳаллии муваққатиро нест кунед. Барои аксарияти мақсадҳо, ҳамаи ин нишонаҳои маҳаллӣ, ки номҳо бо L оғоз мекунанд.

-ки аломати

- нишона-нишона = аломати

Номи ҳар як файлеро, ки дар он нишона ишора шудааст , чоп кунед. Ин хосият мумкин аст ҳар як маротиба. Дар бисёре системаҳо, бояд ба унвони зерсохтор эҳтиёҷ дошта бошад.

Ин вариант ҳангоми рамзи ягонаи мушаххас дар робитаатон муфид аст, аммо намедонед, ки дар он маълумот аз куҷо пайдо мешавад.

-Дар роҳ

Роҳ ба сӯи ҷустуҷӯи роҳии пешфарз. Ин хосият барои мутобиқати Solaris вуҷуд дорад.

калимаи асосӣ

Калидҳои эътирофшуда калимаҳои "initive", "intercept", "loadfltr", "nodefaultlib", "nodelete", "nodelop", "nodump", "now", "origin", "combreloc", "nocombreloc" ва "nocopyreloc" ". Калидҳои дигари калидӣ барои мутобиқат ба Solaris рад карда шудаанд. "initfirst" ин объекти аввалинро дар лаҳзае, ки пеш аз ҳама чизҳои дигар ба кор бурда мешавад, қайд мекунад. "interlace" ин ашёро нишон медиҳад, ки мизи симии он пеш аз ҳама рамзҳояшро дар бар мегирад, аммо иҷрокунандаи аввалӣ. "loadfltr" ин объектро қайд мекунад, ки филтрҳо фавран дар вақти коркард коркард карда мешаванд. "nodefaultlib" ин ашёро қайд мекунад, ки ҷустуҷӯи вобастагии ин объект нодуруст хоҳад монд ҳама гуна роҳҳои ҷустуҷӯии китобхона. "nodelete" ишора мекунад, ки иншоот бояд дар вақти корношоям карда нашавад. "nodlopen" ин объектро ба "dlopen" номнавис намекунад. "nodump" ишора мекунад, ки ин объект бо "dldump" партофта намешавад. "акнун" объекти тасодуфии ноутбукро қайд мекунад. "пайдоиш" нишон медиҳад, ки объект метавонад дар $ ORIGIN дошта бошад. "defs" рамзҳои номаҳдудро рад мекунад. "muldefs" механизмҳои гуногунро мефаҳмонад. "combreloc" қисмҳои гуногунро ҷудо мекунад ва ба онҳо имконият медиҳад, ки рамзи параметрии рамзи параметриро фароҳам оранд.

"nocombreloc" қисмҳои гуногуни тасодуфиро муттаҳид мекунад. "nocopyreloc" истеҳсоли нусхаҳои нусхабардориро манъ мекунад.

- ( архив -)

- архив -гурўҳ - гурӯҳ-гурӯҳ

Архивҳо бояд рӯйхати файлҳои архив бошанд . Онҳо метавонанд номҳои файлиро, ё вариантҳоро дошта бошанд.

То он даме, ки навиштаи номаълуми нав таҳия нашудаанд, архивҳои зикршуда такроран ҷустуҷӯ карда мешаванд. Одатан, архив танҳо як маротиба бо тартиб, ки дар хати фармон нишон дода шудааст, ҷустуҷӯ карда мешавад. Агар рамзе, ки дар он архив аст, барои ҳалли нишонаҳои номаълуме, ки бо объекти дар феҳристие, ки баъдтар дар сатри фармонҳо пайдо мешавад, ишора карда натавонед, ки ин маълумотро ҳал кунед. Бо гурӯҳҳои тақвимӣ, ҳамаи онҳо такроран то даме, ки ҳамаи нишонаҳои эҳтимолии ҳалли худро меёбанд.

Бо истифода аз ин хосият хароҷоти назарраси арзишӣ дорад. Беҳтар он аст, ки танҳо он вақте ки дар бораи ду ё зиёда архивҳо нишонаҳои ногуворро истифода баред, истифода кунед.

- фармоишӣ-номаълум-воҳиди архив

- на-қабули-воҳиди-архив

Пайвандро барои қабул кардани файлҳои воридшаванда хабар медиҳад, ки меъморӣ наметавонад эътироф кунад. Умедворем, ки корбар кореро, ки онҳо мекунанд, медонанд ва ба таври дилхоҳ мехоҳанд, ки дар ин файлҳои воридшавӣ номаълум бошанд. Ин рафтори оддии пайвасткунанда, пеш аз озод шудан 2.14 буд. Нишондиҳандаи аслӣ аз решаи 2.14 пеш аз он аст, ки ин гуна файлҳои воридшударо рад кунад ва аз ин рӯ, барои ворид кардани рафтори кӯҳна ба вариантҳои номаълуми номнависшуда илова карда шуд.

- калимаи калидӣ

Ин хосият барои мутобиқати Sunos беэътибор дониста мешавад.

-Белинамика

-ди

-call_shared

Пайвастани китобхонаҳои динӣ. Ин танҳо дар платформаҳое мебошад, ки дар он китобхонаҳои муштарак дастгирӣ карда мешаванд. Ин хосият одатан дар чунин платформаҳо муқаррар шудааст. Вариантҳои гуногуни ин интихоб барои мутобиқат бо системаҳои мухталиф мебошанд. Шумо метавонед ин вариантро якчанд маротиба дар сатри фармон истифода баред: он ба ҷустуҷӯи китобхонаи ҷустуҷӯӣ, ки ба он пайравӣ мекунад, таъсир мерасонад.

-Лутфан

Параграфи "DF_1_GROUP" дар "DT_FLAGS_1" дар қисмати динамикӣ гузошта мешавад. Ин боиси пайвастани рейсҳо барои ҷустуҷӯи ҷустуҷӯ дар ин объект ва вобастагӣ ба он, ки танҳо дар дохили гурӯҳ анҷом дода мешавад. - номаълум аст. Ин вариант танҳо дар платформаҳои ELF, ки китобхонаҳои муштаракро дастгирӣ мекунад, муфид аст.

-Бостатик

-dn

-non_shared

- статистикаи

Ба китобхонаҳои умумӣ алоқа надоред. Ин танҳо дар платформаҳое мебошад, ки дар он китобхонаҳои муштарак дастгирӣ карда мешаванд. Вариантҳои гуногуни ин интихоб барои мутобиқат бо системаҳои мухталиф мебошанд. Шумо метавонед ин вариантро якчанд маротиба дар сатри фармон истифода баред: он ба ҷустуҷӯи китобхонаи ҷустуҷӯӣ, ки ба он пайравӣ мекунад, таъсир мерасонад.

-Бемимболӣ

Ҳангоми таъсиси китобхонаи муштарак, ба нишондодҳои глобалӣ ба таъриф дар доираи китобхонаи муштарак, агар лозим бошад, пайваст кунед. Одатан, барнома барои муқоиса бо китобхонаи муштарак барои муайян кардани таъриф дар доираи китобхонаи муштарак имконпазир аст. Ин вариант танҳо дар ELFplatforms муфид аст, ки китобхонаҳои муштаракро дастгирӣ мекунад.

- қисматҳо

- не-тафтиш-бахшҳо

Пас аз он, ки пайвастшавӣ ба мушоҳидаҳо ҷудо карда шавад, муроҷиат кардан лозим нест. Одатан, пайвасткунанда ин чекро анҷом хоҳад дод ва агар он дарк карда шавад, ки паёмҳои хатои мувофиқи он фароҳам меорад. Пайванде, ки дар бораи он медонад, ва барои қисмҳои болотар аз имтиёзҳо кӯмак мекунад. Нишондиҳандаи пешфарз метавонад бо истифодаи гузариши хаттии фармонҳо - қисмҳо-қисматҳо барқарор карда шавад .

- среф

Натиҷаи ҷадвалҳои ҷудошуда. Агар файли харитаи хати пайвандӣ бунёд карда шавад, ҷадвал ба ҷадвал ба файли харита чоп карда мешавад. Дар акси ҳол, он дар истеҳсоли стандартӣ чоп карда мешавад.

Намунаи ҷадвал ба таври содда осон аст, то он вақте, Рақамҳо чоп карда мешаванд, бо ном. Барои ҳар як рамз, рӯйхати номи файлҳо дода мешавад. Агар рамз муайян карда шавад, аввалин файли дар он ҷойгиршуда ҷойгир аст. Файлҳои боқимонда ба нишонаҳо ишора мекунанд.

- не-муайян-умумӣ

Ин параметр ба таъиноти нишонаҳо ба рамзҳои умумӣ монеъ мегардад. Фармони ниҳоии "INHIBIT_COMMON_ALLOCATION" ҳамон таъсир дорад.

Имконияти варианти умумӣ имкон медиҳад, ки тасвири рамзҳоро ба рамзҳои умумӣ аз интихоби навъи файли нусхабардорӣ фароҳам орад; Дар акси ҳол, қувваҳои навъи эфирии ғайримутамарказе, ки нишонаҳоеро ба нишонаҳои умумӣ мегузоранд. Истифодаи нусхабардории умумӣ имкон медиҳад, ки рамзҳои умумиро, ки аз китобхонаи муштарак ба ҳисоб гирифта шудаанд, танҳо дар барномаи асосӣ ҷойгир кунед. Ин фазои такрори такрорӣ дар китобхонаи муштаракро бартараф мекунад ва дар ҳама мавридҳо ихтилофро дар ҳалли такрори нодуруст пешгирӣ мекунад, вақте ки модулҳои зиёди динамикӣ бо роҳҳои махсуси ҷустуҷӯ барои ҳалли рамзии рентгенӣ мавҷуданд.

- нишонаҳои рамзи = тасвир

Нишонаи глобалӣ дар файли хурӯҷӣ эҷод кунед, ки суроғаи мутлақеро, ки аз тарафи изҳорот дода мешавад . Шумо метавонед ин параметрро чанд маротиба дар вақти зарурӣ муайян кунед. Намуди маҳдуди арифметикӣ дар ин матн дастгирӣ карда мешавад: шумо метавонед доимии доимӣ ё номи рамзи мавҷударо истифода баред, ё "+" ва "-" -ро истифода баред, барои илова кардан ё ҷудо кардани доимии доимӣ ё нишонаҳо. Агар шумо ба ифодаҳои иловагӣ ниёз дошта бошед, аз истифодаи аломати фармони фаръӣ истифода баред. Эзоҳ: дар фазои аломати муқоисашаванда , нишонаҳои баробар (`` = '') ва ифодаи он вуҷуд надорад .

- димоған [= style ]

- не-демонтаж

Ин имкониятҳоро назорат мекунанд, ки оё номҳои рамзиро дар паёмҳои хато ва дигар маҳсулот муайян кунанд. Ҳангоми пайвастшавӣ ба пайвасткунанда муроҷиат кардан лозим аст, ки номҳои рамзиро дар шакли мобайнӣ хонда истодааст: он дар зер оварда шудааст, агар онҳо бо формати файл объекти истифода бурда шаванд ва C ++ номҳои миқёси манглифро ба номи хонандаи хонанда монанд кунанд. Гурӯҳҳои гуногуни компютерҳо гуногунанд. Далели ихтиёрии воҳиди параметрӣ метавонад барои интихоби сабки мувофиқ барои таҳиягари худ истифода шавад. Пайвастшавӣ бо нобаён, агар тағйирёбандаи муҳити COLLECT_NO_DEMANGLE муқаррар карда шавад. Ин параметрҳоро метавон истифода бурд, ки пешфарз.

- файли фармоишгар

Номи пайвасткунандаи динамикиро таъин кунед. Ин танҳо ҳангоми эҷод кардани иҷрошавандаҳои ELF динамикии алоқаманд аст. Пайвастаи динамикии баръакс одатан дуруст аст; Агар ин корро накунед, ин корро накунед.

- нусхабардорӣ

Ин параметр танҳо ҳангоми пайваст кардани рамзи PIC-и дохилии МИП, ки аз ҷониби параметрҳои нусхабардорӣ-сабткунӣ ба муҳаррири GNU ва дубора сохта шудааст, муфид аст. Он пайвасткунакро барои эҷоди мизе, ки дар вақти корӣ истифода бурдани ягон маълумоте, ки стандартизатсияро ба нишондиҳандаҳои ибтидоӣ оғоз мекунад, меорад. Барои маълумоти муфассал рамзи озмоишӣ / ld-empic.

- огоҳиҳо

Ҳамаи огоҳиҳо ҳамчун хатогиҳо муносибат кунед .

- пурсидашуда-суғурта

Боварӣ ҳосил кунед, ки файли натиҷавӣ дар охири .exe.

Агар файлҳои файли пурра ба таври бомуваффақият сохташуда вируси " exe " ё " .dll " -ро дошта бошанд, ин параметр ба пайвасткунакро барои нусхабардории файли хурӯҷ ба яке аз ҳамон ном бо ".exe" илова мекунад. Ин вариант ҳангоми истифодаи нусхабардории Unix-и Unix -ро дар менеҷери Microsoft Windows фоиданок аст, зеро баъзе нусхаҳои Windows намефаҳманд, агар дар ".exe" илова карда нашавад.

--no-gc-бахшҳо

- қисмҳо

Ҷамъоварӣ кардани партовҳои қисмҳои истифоданашуда. Он ба мақсадҳое, ки ин параметрро дастгирӣ намекунад, рад карда мешаванд. Ин хосият бо r- мувофиқ нест ва он бо пайвастагии динамикӣ истифода намешавад. Нишондиҳандаи аслӣ (ҳангоми иҷро накардани ин ҷамъоварии партовҳо ) метавонад аз ҷониби муайянкуни --no-gc-бахшҳо дар хати фармон барқарор карда шавад.

--Ёрӣ

Хулосаи чопи вариантҳои фармоишӣ оид ба баромади стандарт ва баромадан.

- Кӯмаки кӯмак

Ҳисоботи мухтасари ҳамаи вариантҳои мушаххаси мушаххас дар протсеси стандартӣ ва баромад.

Муфассалтар

Харитаи алоқа ба Mapfile файлро чоп кунед. Дар бораи тавсифи Мм- ро ба боло нигаред.

- не-дар хотир

Одатан, барои суръатбахшии истифодаи хотира бо роҳи ҷустуҷӯ кардани ҷадвалҳои рамзии файлҳои хотира дар хотира аҳамиятноктар аст. Ин вариант ld-ро ба ҷои беҳтарин барои истифода бурдани хотира, бо ҷавоби нишонаҳои рамзии зарурӣ изҳор мекунад. Ин метавонад талаффуз карда шавад, агар ld ҳангоми пайвастшавӣ иҷрошавандаи калонро аз фазои хотира сар кунад.

- не-undefined

Садо Ояндасоз

Одатан, вақте ки ташкили китобхонаи ғайритиҷоратӣ, рамзҳои номуайян иҷозат дода намешавад ва аз ҷониби боркунаки функсионалӣ ҳал карда мешавад. Ин интихоботҳо чунин рамзҳои номаҳдудро рад мекунанд.

- таснифоти бисёрҳамдигарӣ

-з muldefs

Одатан, вақте ки рамз якчанд маротиба муайян карда мешавад, пайвасткунанда хатоҳои фавқулодаро хабар хоҳад дод. Ин вариантҳо тавсифоти гуногунро пешниҳод мекунанд ва муайянкунии аввалин истифода мешавад.

- ба куҷо-шлеб-номаълум

Ҳатто рамзҳои номуайянро дар объектҳои умумӣ иҷозат диҳед, ҳатто агар не - undefined setup. Натиҷаи натоиҷи он, ки рамзҳои номуайян дар объектҳои муқаррарӣ ҳанӯз хатогӣ мекунанд, аммо рамзҳои номуайян дар объектҳои муштарак рад карда мешаванд. Амалияи нусхабардории инкоркунӣ ба назар мерасад, ки пайвастшавӣ ба рамзҳои номуайянро хомӯш мекунад. Бо вуҷуди ин, каме як система (BeOS) вуҷуд дорад, ки дар он нишонаҳои номуайян дар китобхонаҳои муштарак мавҷуданд, зеро он критерҳо дар вақти пурборкунӣ барои интихоби кадом вазифа барои сохтори ҷорӣ мувофиқат мекунанд. IE вазифаи memset-ро ба таври динамикӣ интихоб мекунад. Эҳтимол, барои он ки HPPA китобҳои муштаракро барои рамзҳои номуайян надошта бошад, маъмул аст.

- нусхабардории -no-undefined-версияи

Одатан, вақте ки рамзи версияи undefined дорад, пайвасткунанда онро ба даст намеорад. Ин параметр рамзҳоро бо версияи undefined рад мекунад ва ба ҷои хатогии фаврӣ ҷойгир карда мешавад.

- на-огоҳӣ-ихтиёрӣ

Агар шумо кӯшиш кунед, ки якҷоя файлҳои воридшавӣ, ки барои баъзе сабабҳо номувофиқ набошанд, шояд, чунки онҳо барои коркардаҳои гуногун ё эҷодиёти гуногун тартиб дода шудаанд. Ин вариант нишон медиҳад, ки он бояд ба таври бесифат ба чунин хатогиҳои имконпазир иҷозат диҳад. Ин вариант бояд танҳо бо ғамхорӣ истифода шавад, дар мавридҳое, ки шумо баъзе амалҳои махсусро гирифтаед, ки хатогиҳои алоқаманд нодурустанд.

- не-пурра-архив

Интихоби интихоби варианти архив барои файлҳои минбаъдаи архив.

НОҲИЯИ МУЪМИНОБОД

Ҳангоми баромадан аз он, файли иҷрошавандаи файлро нигоҳ доред. Одатан, пайвасткунанда файлро баровард намекунад, агар он дар рафти пайвастшавӣ хатоҳои хато пайдо кунад; он бе хатогии файли баромадан аз он вақте, ки ягон хатое ба бор намеояд.

-ностдлиб

Рақамҳои феҳристро ҷустуҷӯ кунед, ки дар сатри фармон муайян карда мешавад. Рӯйхати китобҳо, ки дар эзоҳҳои пайвасткунанда (ки дар дохили сатри фармонанд, ки дар хати фармон нишон дода шудаанд) нодуруст мебошанд.

- формати формат

ld метавонад барои бештар аз як намуди файл объекти тасниф карда шавад. Агар ld- ро ба ин тарҳ насб кунед, шумо метавонед параметри интихобшударо барои муайян кардани формати дуӣ барои файли объекти баромадан истифода баред. Ҳатто вақте ки ld барои дастгирии форматҳои алтернативии алтернативӣ танзим карда мешавад, одатан лозим нест, ки ин муайян созед, зеро ld бояд тарзе, ки ҳамчун формати формати пешфарзӣ тарҳрезии оддии ҳар як мошина истеҳсол карда шавад. формати формат - ранги матн, номи форматест, ки аз ҷониби китобхонаҳои BFD дастгирӣ карда мешавад. (Шумо метавонед форматҳои дутарафаро бо objdump -i номнавис кунед .) Фармони фармонии "OUTPUT_FORMAT" низ метавонад формати чопшударо муайян кунад, аммо ин интихобот инъикос мекунад.

-кмагич

Ин хосият барои мутобиқати Linux рад карда шудааст.

-Ки

Ин хосият барои мувофиқати SVR4 рад карда шудааст.

--Ором бошед

Интихоби таъсири манфии мошин. Ин хосият танҳо дар якчанд мақсадҳо дастгирӣ карда мешавад.

Дар баъзе платформаҳо, усули интихобкардашудаи беҳбудёфтаи глобалӣ, ки ҳангоми пайвастан ба ҳалли мушкилоти ҳалли мушкилот, ба монанди суроғи суроғаҳои суроға ва тақвият додани дастурҳои нав дар файли объекти эҷодшуда имконпазир мегардад.

Дар баъзе платформаҳо ин пайвастшавӣ беҳбудии глобалӣ метавонад аз натиҷаҳои решаканнашуда фаромӯш накунад. Ин омил барои омехтаи Matsushita MN10200 ва MN10300 оилаи коргарон мебошад.

Дар платформаҳое, ки ин дастгирӣ нестанд, - таҳрир қабул карда мешавад, вале беэътибор.

- нишондод-рамзҳо-файл файли

Танҳо нишонаҳоеро, ки дар файли файли рӯйхат зикр шудаанд, нигоҳ медоранд, ки ҳамаи дигарон партофта мешаванд. номи файли оддии файли ягона, бо як номии ҳар сатр. Ин вариант махсусан дар муҳитҳо (масалан, VxWorks) муфид аст, ки дар он миқдори калони нишонаҳои умумиҷаҳонӣ тадриҷан ҷамъоварӣ карда мешавад.

- нишонаҳои рамзии файл на рамзҳои undefined, ё нишонаҳое, ки барои ҷойгузинҳо заруранд, партофта нестанд.

Шумо танҳо метавонед танҳо як рамзи-рамзи як файлро дар хатти фармон муайян кунед. Он баҳо медиҳад -s ва -S .

-рпат dir

Иловаи феҳрист ба роҳи ҷустуҷӯии китобхона дар вақти корӣ. Ин ҳангоми пайвастшавӣ бо ELFexportable бо объекти муштарак истифода мешавад. Далелҳои All -Rathathed ба ҳам пайвастанд ва ба пайвастшавӣ ба кор, ки онҳоро барои истифодаи объектҳои муштарак дар вақти корӣ истифода мебаранд. Интихоби -ттитат низ ҳангоми ҷойгир кардани объектҳои муштарак, ки аз тарафи объектҳои муштарак, ки ба таври ройгон ба пайвастшавӣ заруранд, истифода мешаванд; ба тавсифи параметри алоқа нигаред . Агар дар вақти пайвастшавӣ ба системаи ELF истифода нашавад, мундариҷаи тағйирёбии муҳити "LD_RUN_PATH" истифода мешавад, агар он муайян карда шавад.

Интихоби -rpath низ метавонад дар SunOS истифода шавад. Бо нобаёнӣ, дар SunOS, пайвасткунанда платформаи ҷустуҷӯро аз тамоми намудҳои L-ро дарбар мегирад. Агар вариантро истифода баред, роҳи ҷустуҷӯи корро танҳо бо истифода аз усули вариант, беэътиборкунии интихобҳои L-ро ташкил хоҳад кард. Ин метавонад ҳангоми истифодаи gcc фоиданок бошад, ки вариантҳои бисёр-L-ро илова мекунад, ки онҳо дар файлҳои файлии дарNFS ҷойгир шуда метавонанд.

Барои мутобиқат бо дигар пайвастҳои ELF, агар -R параграф бо номи феҳрист пайравӣ карда шавад, на номи номи файл, ҳамчун варианти интихобшуда.

-теппа-пайванд DIR

Ҳангоми истифодаи ELF ё Sunos, як китобхонаи муштарак метавонад дигар талаб кунад. Ин дар ҳолест, ки вақте "link ld -shared" як китобхонаи муштарак ҳамчун яке аз файлҳои воридшударо дарбар мегирад.

Вақте, ки пайвасткунанда чунин як вобастагӣ дорад, вақте ки кор кардани пайванди ғайритиҷоратӣ, ғайримутаносиб нест, онро автоматӣ муайян мекунад, ки китобхонаи лозимиро талаб кунад ва дар он пайвастан ба он пайваст шавад, агар он ба таври равшан шарҳ нагардад. Дар чунин ҳолат, вариантҳои виртуалӣ пайвастшавӣ аввалин феҳристҳоро ҷустуҷӯ мекунад. Интихоби параметрӣ метавонад пайдарпаии номҳои феҳристро бо нишон додани рӯйхати номҳои ҷудошуда, ё бо вуруди чандин маротиба нишон диҳад.

Ин вариант бояд бо эҳтиёт истифода шавад, зеро он роҳи роҳро, ки метавонанд ба китобхонаи муштарак таҳия карда шаванд, бартараф карда шаванд. Дар чунин маврид ғайриимкон аст, ки роҳи ғайриқонунии роҳи ҷустуҷӯро аз як амали ҷустуҷӯӣ иҷро кардан мумкин аст.

Пайвандҳо барои дарёфти китобхонаҳои зарурии муштарак аз роҳҳои ҷустуҷӯи зерин истифода мебарад.

1.

Ҳар як вокунишҳо, ки аз ҷониби вариантҳои алоқамандии рамзгузорӣ муайян карда шудаанд .

2.

Интихоби параметрҳои виртуалӣ . Фарқияти байни -rpath ва link-link- ин аст, ки нутқҳое, ки аз тарафи вариантҳо -татарат ба иҷро ва истифода мешаванд, дохил мешаванд, ҳол он ки варианти пайвастшавӣ танҳо дар вақти пайвастшавӣ самаранок аст. Ин танҳо барои пайвасткунандаи ватани аст.

3.

Дар системаи ELF, агар параметрҳо ва вариантҳои "ретсепт" истифода нашаванд, мундариҷаи тағйирёбии муҳити "LD_RUN_PATH" -ро ҷустуҷӯ кунед. Ин танҳо барои пайвасткунандаи ватани аст.

4.

Дар SunOS, агар вариантро истифода нашуд, ҷустуҷӯи ягон вебсайтҳое , ки бо истифода аз L- ро интихоб мекунанд, ҷустуҷӯ кунед.

5.

Барои пайвасткунандаи ватани, мундариҷаи тағйироти муҳити "LD_LIBRARY_PATH".

6.

Барои пайвастшави ба забони англисии ELF, дафтарҳо дар "DT_RUNPATH" ё "DT_RPATH" -и китобхонаи муштарак барои китобҳои муштарак заруранд. Агар "DT_RUNPATH" -ро дар вурудоти "DT_RPATH" сарфи назар карда бошанд.

7.

Нишонҳои аслӣ, одатан / lib ва / usr / lib .

8).

Барои пайваст кардани ватани худ дар системаи ELF, агар файл /etc/ld.so.conf вуҷуд дошта бошад, рӯйхати феҳристҳо, ки дар он файл пайдо шудаанд.

Агар китобхонаи зарурии муштарак пайдо нашавад, пайвасткунанда огоҳӣ медиҳад ва бо пайвастшавӣ идома меёбад.

-татар

-Бародар

Сохтани китобхонаи муштарак. Ин айни ҳол танҳо дар системаҳои ELF, XCOFF ва SunOS дастгирӣ карда мешавад. Дар SunOS, пайвасткунанда автоматӣ хоҳад сохт, агар ин хосият истифода нашавад ва аломатҳои номаълум дар робита вуҷуд дорад.

- умуман

Ин вариантро нишон медиҳад, ки рамзҳои умумиро аз рӯи андозаи он, вақте ки онҳо дар қисмҳои баромади мувофиқ ҷойгир мекунанд, нависед. Аввалан ҳамаи рамзҳои лавҳа, пас ҳамаи ду пост, пас аз он ки чор пунта ва сипас ҳама чизи дигар меояд. Ин барои пешгирии камбудиҳо байни рамзҳо бо сабаби маҳдудиятҳои ҳамгироӣ мебошад.

- андозаи андоза аз рӯи файл

Мисли ин - ба қисмҳо ҷудо кардан, аммо қисмати баромади нав барои ҳар як файли воридотӣ, вақте ки ба андозаи расидан ба вуҷуд меояд. андозаи андоза ба андозаи 1 дода намешавад.

-сусан-ронанда [ count ]

Кӯшиш кунед, ки қисмҳои иловагӣ дар файли хурӯҷӣ бунёд кунад, то ки ягон қисмате, ки танҳо дар файли зиёда аз ҳисобҳо ҷойгир бошад. Ин ҳангоми эҷоди файлҳои зиёди рангин барои кашидани якчанд ядроии воқеӣ бо формати файлҳои COFF; чунки COFFcannot беш аз 65535 кӯчонидан дар як бахши якро нишон медиҳад. Аҳамият диҳед, ки ин кор бо форматҳои файлҳои фазавӣ кор намекунад, ки қисмҳои эҳтиётии худро дастгирӣ намекунад. Пайвастшавӣ ба қисмҳои алоҳидаи дохилӣ барои тақсимкунии тақсимкунӣ тақсим карда намешавад, аз ин рӯ, агар қисмати қисмати дохилӣ зиёда аз ҳисобҳо зиёдтар бошад , як қисмате, ки дар он ҷойҳо ҷойгир карда мешаванд, бисёр ҷойҳо ҷойгир карда мешаванд. шумори дақиқаҳо ба арзиши 32768.

- пурсид

Омӯзиш ва омори оморӣ дар бораи фаъолияти пайвастшаванда, ба монанди вақти иҷроиш ва истифодаи хотира.

- шакли форматӣ

Барои баъзе мақсадҳо, истеҳсоли ld аз якчанд роҳҳо аз истеҳсоли баъзе аломатҳои мавҷуда фарқ мекунад. Ин калима иваз кардани лента барои иваз кардани формати анъанавиро талаб мекунад.

Масалан, дар SunOS, ld ворид намудани такрори такрорӣ дар сутуни нишонаҳои рамзӣ. Ин метавонад андозаи файли хуруфиро бо зиёда аз 30 фоиз иттилоот бо роҳи пурборкунӣ пур кунад. Мутаассифона, барномаи "Sunbus" dbx барномаи хонданро хонда наметавонад ("gdb" ҳеҷ мушкилие надорад). Шабакаи формати форматӣ ба ld нависандаҳоро такрор намекунад.

- соати дарсдиҳӣ - org

Қисми дар файли хурӯҷ ҷойгиршавандаро дар суроғаи мутлақи додашудаи org . Шумо метавонед ин вариантро чанд маротиба дар вақти муайян кардани сатҳҳои гуногун дар сатри фармон истифода баред. org бояд як рақами якқабата яклухт бошад; Барои мутобиқат бо дигар пайвандҳо, шумо метавонед 0.6 пешгӯиҳоеро, ки одатан бо арзишҳои хатибӣ алоқаманданд, иштибоҳ кунед. Эзоҳ: дар феҳристи номҳо , аломати баробарӣ (`` = ''), ва org вуҷуд надорад .

-санҳо

-Тадата org

-саҳҳани матнӣ

Org-ро ҳамчун нишонии ибтидоӣ барои --- мутаносибан - "bss", "маълумот" ё қисмати "матн" -и версияи файли. org бояд як рақами якқабата яклухт бошад; Барои мутобиқат бо дигар пайвандҳо, шумо метавонед 0.6 пешгӯиҳоеро, ки одатан бо арзишҳои хатибӣ алоқаманданд, иштибоҳ кунед.

НОҲИЯИ БОХТАР

НОҲИЯИ ДАНҒАРА

Рақами версияи ройгонро нишон диҳед ва моддаҳои изоляторро дастгирӣ кунед. Намоиши миқдори файлҳои воридотӣ ва кушода намешаванд. Намоиши сутунҳои тасвирӣ аз тарафи пайвандкунанда истифода мешавад.

--version-script = версия-scriptfile

Номи варақаи варақ ба варақаро муайян кунед. Ин одатан ҳангоми эҷоди китобхонаҳои муштарак барои муайян кардани маълумоти иловагӣ дар бораи варақаи виртуалӣ барои китобхонаи таъсис дода мешавад. Ин вариант танҳо дар платформаҳои ELF, ки китобхонаҳои муштаракро дастгирӣ мекунад, муфид аст.

- умумӣ

Ҳангоме ки нишонаҳои умумӣ бо рамзи умумӣ ё бо тасвири рамзӣ ҳамроҳ карда мешаванд, огоҳӣ диҳед. Пайвастҳои Unix ба ин таҷрибаи каме осеб мерасонанд, вале пайвандҳо дар баъзе системаҳои дигари оператсионӣ кор намекунанд. Ин имконият ба шумо имкон медиҳад, ки мушкилоти эҳтимолиро аз якҷоя кардани нишонаҳои глобалӣ дарёфт кунед. Мутаассифона, баъзе китобхонаҳои C истифода мешаванд, ки ин амалро истифода баранд, то шумо метавонед дар баъзе китобхонаҳо, инчунин дар барномаҳои худ шумо баъзе огоҳиҳоро дар бораи рамзҳо гиред.

Дар се намунаи генҳои глобалӣ мавҷуданд, ки дар инҷо бо намунаҳои C нишон дода шудаанд:

int i = 1;

Муайянкунӣ, ки дар қисмати иттилооти ибтидоии файл баромад мекунад.

extern int i;

Тафсилоти номаълуме, ки фосила ҷудо намекунад. Дар ин ҷо бояд муайян ё рамзи умумӣ барои тағйирёбанда бошад.

int;

Рамзи умумӣ. Агар танҳо як (як ё якчанд) рамзҳои умумӣ барои тағйирёбанда вуҷуд дошта бошанд, он дар майдони иттилоотии беиҷозати файл баромад карда мешавад. Пайвастшавӣ рамзҳои якхеларо якхела ба як аломати яккаҳол монанд мекунад. Агар онҳо аз андозаи гуногун фарқ кунанд, он ба андозаи калонтарин табдил меёбад. Пайвастшавӣ рамзи умумиро ба эъломия табдил медиҳад, агар таърифи ҳамон тағйирёбанда вуҷуд дошта бошад.

Варианти умумӣ метавонад панҷ намуди огоҳиро пешкаш кунад. Ҳар як огоҳӣ аз як ҷуфти сатр иборат аст: аввалин рамзеро тасвир мекунад, ки дучор меояд, ва дуюм рамзи қаблӣ бо номи ҳамон тасвир шудааст. Як ё ду ду нишона рамзи умумӣ хоҳад буд.

1.

Ба рамзи умумӣ ба ҷустуҷӯи аломот, зеро аллакай як мафҳум барои нишона вуҷуд дорад.

(
): огоҳӣ: умумияти бо таърифи (
): огоҳӣ

2.

Ба рамзи умумӣ ба ҷустуҷӯ такя кардан, зеро таърифи дертар барои нишонаҳо пайдо мешавад. Ин ҳамон як ҳодисаи қаблӣ аст, ба истиснои нишонаҳо бо тартиби дигар.

(
): огоҳӣ: таърифи " 'ба таври умумӣ (
): огоҳӣ: умумӣ аст

3.

Рамзи умумӣ бо рамзи умумӣ дар якҷоягӣ ҳамроҳ карда мешавад.

(
): огоҳӣ: якчанд маъмули "" (
): огоҳӣ:

4.

Бо як аломати умумӣ пештар як рамзи умумиро ҳамроҳ кунед.

(
): огоҳӣ: умумияти аз тарафи калонтар
(
): огоҳӣ:

5.

Рамзҳои умумӣ бо рамзи умумимиллии қаблӣ муттаҳид карда мешаванд. Ин ҳамон як ҳодисаи қаблӣ аст, ба истиснои нишонаҳо бо тартиби дигар.

(
): огоҳӣ: умумӣ аз ба таври пинҳон хурд (
): огоҳӣ: каме умумӣ аст

- сохтмончиён

Огоҳӣ, агар сохторҳои умумиҷаҳонӣ истифода шаванд. Ин фақат барои якчанд шаклҳои файлии файл мебошад. Барои форматҳо ба монанди COFF ё ELF, пайвасткунанда метавонад истифодакунандаи сохторҳои умумиҷаҳонӣ пайдо кунад.

- муҷаҳҳаз-бисёр-gp

Огоҳӣ, агар дар як файли барориши арзиши нишондиҳандаи глобалӣ талаб карда шавад . Ин танҳо барои коркарди муайян, ба мисли Алфа аст. Махсусан, баъзе коркунон доимии пурқувватро дар фасли махсус мегузоранд. Рӯйхати махсус (нишонгари глобалӣ) ба миёнаҳои фасли мазкур нуқта гузошта мешавад, то ин ки доимӣ тавассути самти суроғаи нисбӣ ба таври самаранок бор карда шавад. Азбаски фарқият дар ҳолати нисоршавӣ аз рӯи заминаи сабтшуда ва нисбатан хурд аст (масалан, 16 адад), ин андозаи ҳадди аксар аз ҳавзаи доимиро маҳдуд мекунад. Ҳамин тавр, дар барномаҳои васеъ, аксар вақт барои истифодаи ҳама чизҳои имконпазири ҳалли арзишҳои нишони глобалӣ зарур аст. Ин вариант дар вақти ҳабс шуданаш бояд огоҳӣ дода шавад.

- як маротиба

Танҳо як рамзи ҳар як нишонаи номуайян фақат як маротиба дар як модул ба он ишора мекунад.

- шарҳ

Агар огоҳӣ дошта бошед, суроғаи қисмҳои истеҳсолот аз рӯи мувофиқати тағйирёбанда огоҳ карда мешавад. Одатан, мувофиқа бо фасли қисм муайян карда мешавад. Суроға танҳо агар исбот карда нашудааст, тағйир дода мешавад; яъне, агар фармонҳои "SECTIONS" суроғаи ибтидоӣ барои фасли муайян намебошанд.

- архив

Барои ҳар як архиве, ки дар сатри фармон барпо шудааст, баъди интихоби варианти архив , ба ҳар як файли объекти дар бойгонии ҷустуҷӯ алоқаманд, аз ҷустуҷӯ кардани архив барои файлҳои объекти зарурӣ. Ин одатан барои кушодани феҳристи архив ба китобхонаи муштарак истифода мешавад, ки ҳар як объектро дар китобхонаи муштарак дар бар мегирад. Ин вариант бештар аз як маротиба истифода бурда мешавад.

Ҳангоми истифода бурдани ин хосият аз Gcc: дуюм, gcc дар бораи ин хосият намедонад, шумо бояд истифода баред, -мегӯяд-архив . Дуюм, фаромӯш накунед, ки истифода аз -lib-tag-архив баъди рӯйхати архивҳо, чунки gcc рӯйхати архивҳои худро ба пайванди худ илова хоҳад кард ва шумо наметавонед ин байрақ ба онҳо низ таъсир расонад.

- нишони рамзи

Истифодаи фишор барои рамзро истифода баред. Ҳар як нуқтаи номаълум ба нишона ба "__ wrap_symbol" ҳал карда мешавад. Маълумоти номаълуми "__real_symbol" ба рамз ҳал карда мешавад.

Ин метавонад барои таъмин намудани печондани вазифаи система истифода шавад. Функсияи wrapper бояд "__wrap_symbol" номида шавад. Агар он хоҳиши занг задани функсияро дошта бошад, вай бояд "__ real_symbol" меномояд.

Ин мисоли оддӣ аст:

void * __wrap_malloc (int c) {printf ("malloc called% ld \ n", c); баргардонидани __real_malloc (c); }}

Агар шумо бо истифода аз ин рамз бо истифода аз ин рамзи Morroc , пас ҳамаи зангҳоро ба "malloc" функсияи "__wrap_malloc" меноманд. Занг ба "__real_malloc" дар "__wrap_malloc" функсияи воқеии "malloc" номида мешавад.

Шумо мехоҳед, ки функсияи "__real_malloc" -ро пешкаш кунед, то ин ки пайвастшави бе варианти хос ба даст оянд. Агар шумо ин корро кунед, муайян кардани "__ real_malloc" дар як файл ҳамчун "__wrap_malloc"; Агар шумо ин корро анҷом диҳед, инҷо метавонед пеш аз пайвастшавӣ онро ба "malloc" иваз кунад.

- наврасон-навбатдорон

- навъҳои нав - навбатӣ

Ин linker аломатҳои динамикаи навро дар ELF эҷод мекунад. Аммо системаҳои калонтарини системаҳои ELF наметавонанд онҳоро бифаҳманд. Агар шумо ишора кунед, --enable-new-dtags , аломатҳои динамикӣ лозим хоҳад шуд. Агар шумо ишора кунед - нусхабардорӣ-навтаринҳо , аломатҳои динамикаи нав бунёд карда мешаванд. Бо нобаёнӣ аломатҳои динамикаи нав бунёд карда намешаванд. Аҳамият диҳед, ки ин параметрҳо танҳо системаҳои системавии системавӣ мавҷуданд.

Пайвастшавӣ I386 PE-ро интихоб мекунад, ки боиси баромадан ба китобхонаи динамикии пайвастшуда (DLL) ба ҷои кории оддӣ мегардад. Вақте ки шумо ин параметрро истифода мебаред, "output. Илова бар ин, пайвасткунанда пурра файлҳои "* .def" -ро дар бар мегирад, ки мумкин аст дар хатти фармони пайванде, монанди файл объекти муайян карда шавад (дар асл, бояд пеш аз он, ки архивҳо аз рамзҳои содиршударо, аз он ҷумла, мисли як файл объекти муқаррарӣ).

Илова ба вариантҳои умумӣ барои ҳамаи мақсадҳо, пайвастани i386 PE, вариантҳои иловагии фармонро, ки ба мақсадҳои I386 PE хос аст, дастгирӣ мекунад. Интихобҳое, ки арзишҳо метавонанд аз арзишҳои онҳо аз ҷониби фосила ё аломати баробар тақсим карда шаванд.

- нишондод-албом

Агар дода шуда бошад, рамзҳои иловагии stdcall (@ nn ) бо асбобҳои содиротӣ ва ҳамчунин бо рамзи хориҷшуда дода мешаванд.

- файли файли

Файлро ҳамчун номи файл истифода баред, ки дар он ҳамаи суроғаҳое, ки барои тавлиди DLLs бо dlltool заруранд, нигоҳ дошта шавад .

- ҳаҷм

Сохтани DLL ба ҷои иҷрошавандаи мунтазам. Шумо инчунин метавонед истифода баред -shared ё "LIBRARY" -ро дар файли ".def" муайян кунед.

-enable-stdcall-fixup

- драйзер-stdcall-fixup

Агар пайвастшавӣ рамзеро дарёфт кунад, ки он метавонад ҳалли худро наёбад, вай кӯшиш мекунад, ки «аломати мушаххас» -ро бо роҳи ҷустуҷӯи нишони дигари муайяншуда, ки танҳо дар шакли номи рамз (cdecl - stdcall) фарқ мекунад ва ин рамзро бо пайвастшавӣ ҳал мекунад ба бозӣ. Масалан, рамзи нодурусти "_foo" метавонад ба функсияи "_foo @ 12" алоқаманд бошад, ё нишонаи "_bar @ 16" метавонад ба функсияи "_bar" алоқаманд бошад. Вақте, ки пайвасткунӣ ин корро мекунад, он огоҳӣ медиҳад, зеро он одатан ба пайвастан муваффақ нашудааст, аммо баъзан китобҳои воридотӣ аз dll-ҳои сеюм метавонанд ба ин хосият истифода шаванд. Агар шумо ишора кунед, --enable-stdcall-fixup , ин хосият пурра фаъол аст ва огоҳӣ чоп карда намешавад. Агар шумо муайян кунед - драйзер-stdcall-fixup , ин хусусият инъикос шудааст ва чунин норасоиҳо хато мешаванд.

- омехта-ҳамаи рамзҳо

Агар дода мешавад, ҳамаи нишонаҳои глобалӣ дар объектҳо барои сохтани DLL истифода мешаванд, DLL содир карда мешаванд. Аҳамият диҳед, ки ин варианти дигар аст, агар ягон рамзҳои ягон экспортиро содир карда нашавад. Вақте ки рамзҳо тавассути DEF файлҳо ба таври равшан содир карда шудаанд ё ба таври ғайримустақим тавассути хати функсионалӣ содир карда мешаванд, пешфарз ин аст, ки ягон чизи дигарро содир накунед, агар ин параметр дода нашавад. Дар хотир доред, ки рамзҳои "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12" ва "impure_ptr" автоматӣ карда намешавад. Ҳамчунин, рамзҳое, ки аз дигар DLLҳо ворид карда намешаванд, рамзгузорӣ намешаванд ва рамзҳои тасвири дохилии DLL, ки бо оғози "_head_" оғоз мекунанд ё бо "_iname" тамом мешаванд. Илова бар ин, на рамзҳои "libgcc", "libstd ++", "libmingw32", ё "crtX.o" хоҳанд истод. Нишонҳое, ки номҳо бо "__rtti_" ё "__builtin_" оғоз мекунанд, ба C ++ DLLs кӯмак мекунанд. Дар ниҳоят, рӯйхати васеи нишонаҳои cygwin-хусусӣ, ки ба онҳо экспорт карда нашудаанд (албатта, ин дар мавриди сохтани мақсадҳои DLL барои ҳадафҳои cygwin) дахл дорад.

Ин cygwin-excludes: "_cygwin_dll_entry @ 12", "_cygwin_crt0_common @ 8", "_ cygwin_noncygwin_dll_entry @ 12", "_fmode", "_impure_ptr", "cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2", "cygwin_premain3 "ва" муҳити ".

- омӯхтани аломати рамз , нишона , ...

Рӯйхати рамзҳоеро, ки бояд автоматӣ карда шаванд, муайян мекунад. Нишонҳои рамзӣ метавонанд бо вуруд ва рангҳо ҷудо карда шаванд.

- бозгашти libs lib , lib , ...

Рӯйхати китобхонаҳои архив муайян мекунад, ки аз он рамзҳо бояд автоматӣ содир карда шаванд. Номҳои китобхона бо вуруд ва рангҳо ҷудо карда мешаванд. Муайян кардани "- ҳамаи рамзҳо" ҳамаи рамзҳоро дар ҳамаи китобхонаҳои архив аз содироти автоматӣ истисно мекунанд. Нишонҳое, ки дар файли .def ба таври возеҳ нишон дода шудаанд, новобаста аз ин интихоб.

-фаъолият

Ҳифз кардани файл муайян кунед. Қисматҳо дар файл ҳамеша дар саҳифаҳои файлҳо, ки шумораи онҳоро ин рақам доранд, оғоз хоҳанд кард. Ин нуқсонҳо ба 512.

- захираи чиптаҳо

- захираи чек , иҷро

Ҳаҷми захираи хотиррасониро барои захираи (ва ихтиёрӣ анҷом додан) муайян намоед. Нишондиҳанда 1мм reserved, 4K содир шуд.

- арзиши асоси

Арзишро ҳамчун суроғаи базаи барномаи шумо ё dll истифода кунед. Ин маконест, ки дар хотираи камтарин ҷойгир аст, ки ҳангоми барномаи шумо ё DLL истифода мешавад. Барои кам кардани эҳтиёҷот барои кӯчонидани ва такмил додани иҷрои дуклҳои худ, ҳар як суроғаи ягона дошта бошад ва ягон дигар длпҳо бо ҳам ихтилоф надошта бошад. Мутаассифона 0x400000 барои иҷрошавандаҳо ва 0x10000000 барои dlls аст.

Дар бораи мо

Агар дода шуда бошад, пас аз он ки онҳо содир мешаванд, аломатҳои стдекс (@ nn ) аз рамзҳо ҷудо карда мешаванд.

- арзиши ммм-image-версия

Рақами асосии "версияи версия" -ро дар бар мегирад. Далелҳо ба 1.

- арзиши ммм-os-os-вергул

Шумораи зиёди "версияи os" -ро дарбар мегирад. Далелҳо ба 4.

- арзиши вермом-subsystem-версия

Тақвияти рақами асосии "вертикали субсистема" мебошад. Далелҳо ба 4.

- аҳамияти -minor-image-версияи

Рақами ками версияи версияро '' вертикализатсия мекунад ''. Далелҳо ба 0.

- аҳамияти -minor-os-версияи

Шумораи ками варианти версияи "вертикали os" аст. Далелҳо ба 0.

- арзиши нусхабардорӣ-subsystem-версияи

Нишон додани шумораи ками версияи «subsystem» ''. Далелҳо ба 0.

- файли файли

Пайвастшавӣ файли файли форматеро, ки дар он DLL мувофиқат мекунад, ба DLL мувофиқат мекунад. Ин DEF файли (ки бояд "* .def" номида шавад) метавонад барои эҷоди китобхонаи воридотӣ бо "dlltool" истифода шавад ё ҳамчун рамзи ба таври автоматӣ ё рамзӣ содиршуда истифода шавад.

- файли implib

Пайвастшави файли файли формаеро, ки дорои лампаи воридшавандаест, ки ба DLL мувофиқат мекунад, эҷод мекунад. Ин воридоти lib (ки бояд "* .dll.a" ё "* .a" мумкин аст, ки барои мизоҷон аз DLL-ҳои истеҳсолшуда истифода шаванд; ин рафтор қодир ба қадами эҷоди китобхонаи алтернативии "dlltool" аст.

- ба таври автоматӣ - почтаи электронӣ

Истифодаи пойгоҳи тасвириро барои DLL худкорона интихоб кунед, агар ягон калимаи "-image-base" муайян карда шавад. Бо истифода аз ҳосили аз dllname барои эҷоди базаҳои беназири симо барои ҳар як DLL, сангҳои хотиравӣ ва ҷойгиркунии хотираи хотимавӣ, ки метавонанд барномаро боздоранд, канорагирӣ карда мешаванд.

- суроғаи автоматӣ - пойгоҳи додаҳо

Автоматизатсияи автоматӣ ба таври автоматӣ нест. Агар мавҷудияти почтаи тасодуфии тасодуфии истифодабаранда вуҷуд надошта бошад ("--image-base"), пас параметри пешфарзро истифода баред.

- сатҳи ҷустуҷӯ-параграф -

Ҳангоми пайвастани динамикӣ ба dll бе китобхонаи воридотӣ, ҷустуҷӯ барои " .dll" дар афзалият ба "lib .dll". Ин амал имконият медиҳад, ки байни ДЛЛҳо, ки барои гуногунии зерхатҳо сохта шудаанд, дохил шаванд: native, cygwin, uwin, pw ва ғайра. Масалан, cygwin DLLs одатан "--dll-search-prefix = cyg" -ро истифода мебаранд.

- воридшаванда - автоматӣ

Пайвастшавӣ бо "_symbol" ба "__imp__symbol" барои воридоти DATA аз DLLs ва ҳангоми сохтани китобхонаҳои воридотӣ бо онҳое, ки DATAexports бунёд мекунанд. Ин умуман «кори оддӣ» хоҳад буд, аммо баъзан шумо ин паёмро мебинед:

"varize" 'наметавонад ба таври худкор ворид карда шавад. Лутфан, ҳуҷҷатҳои лентаи "--ableable auto-import" -ро тафтиш кунед. "

Ин падидаи номатлубе, ки дар баъзе мавридҳо (sub) ифодаи суроға ба охир расидан ба маблағи ду устувор ба вуқӯъ мепайвандад (Ҷадвҳои Win32 танҳо иҷозат медиҳад). Масалан, ки ин метавонад рӯй диҳад, ба соҳаҳои аъзои тағйирёбии сохтор, ки аз DLL ворид карда мешаванд, инчунин нишондиҳандаи доимӣ ба як тағйирёбии асбест, ки аз DLL ворид карда шудаанд, дохил мешаванд. Ҳар як тағйироти гуногунсоҳа (воҳидҳо, сохторҳо, дарозмуддат ва ғайра) метавонанд хатогиеро, ки хатогӣ доранд, пайдо кунанд. Бо вуҷуди ин, новобаста аз намуди дақиқии маълумоте, ки тағйирёбии содиршуда содир карда мешавад, ld ҳамеша ҳамеша онро ошкор мекунад, огоҳӣ медиҳад ва баромадан хоҳад буд.

Якчанд роҳҳо барои ҳалли мушкилиҳо, новобаста аз намуди маълумот оид ба тағирёбии содирот вуҷуд доранд:

Яке аз роҳҳо барои истифода кардани фармоишӣ-корношоямӣ-pseudo-reloc. Ин вазифаи ислоҳ кардани рамзҳо дар рамзи муштарии шумо барои муҳити кор аст, пас ин усули кор танҳо вақте ки шароитҳои муҳандисӣ ин функсияро дастгирӣ мекунанд.

Як ҳалли дуввум аст, ки яке аз «доимӣ» -ро тағир диҳед, ки он тағйирёбанда аст, яъне, номаълум ва номунтазам дар вақти эффективӣ. Барои ҷадвалҳо, ду имконият вуҷуд дорад: a) indexee (суроғаи асбоб) як тағиротро муайян мекунад, ё ин ки нишондиҳандаи доимӣ 'index' -ро тағйир медиҳад. Ҳамин тариқ:

намуди extern_array []; extern_array [1] -> {навъи ноаён * t = extern_array; t [1]

ё

намуди extern_array []; extern_array [1] -> {int ба = t; extern_array [t]}

Барои сохторҳо (ва дигар намудҳои гуногуни маълумотии бисёрҳуҷайра), ягона имкониятест, ки сохтори худи сохтор (ё дарозмуддат, ё ...) тағйир меёбад:

extern_struct extern_struct extern_struct; extern_struct.field -> {тарки доимӣ s * t = & extern_struct; t-> майдони}

ё

extern_ll extern_ll дароз берун; extern_ll -> {дарозии дарозмуддат * local_ll = & extern_ll; * local_ll}

Як усули сеюми мубориза бо ин мушкилот ин аст, ки 'auto-import' барои рамзи истисноӣ ва "__declspec (dllimport)" қайд кунед. Бо вуҷуди ин, дар амал, ки истифодаи мундариҷаи #defines-ро талаб мекунад, ки оё шумо сохтани DLL, сохтани коди мизоҷе, ки ба DLL пайваст карда мешавад, ё танҳо бино / пайваст шудан ба китобхонаи статистикиро талаб мекунад. Дар интихоби усулҳои гуногуни ҳалли «суроғаи мустақим бо мушкилоти доимӣ» шумо бояд истифодаи оддии ҷаҳони воқеиро баррасӣ кунед:

Original:

--foo.h extern int arr []; - foo.c # калимаи "foo.h" void асосӣ (int argc, char ** argv) {printf ("% d \ n", arr [1]); }}

Ҳалли 1:

--foo.h extern int arr []; - foo.c # калимаи "foo.h" void асосии (int argc, char ** argv) {/ * Ин мувафақият барои win32 ва cygwin; "optimize" * / нопурра int * parr = arr; printf ("% d \ n", parr [1]); }}

Ҳалли 2:

- foo.h / * Эзоҳ: Автоматикунӣ ҳосил мешавад (на __declspec (dllexport)) * / #if (муайян карда шудааст (_WIN32) || муайяншуда (__ CYGWIN__)) && \! (муайян карда шудааст (FOO_BUILD_DLL) || муайян шудааст (FOO_STATIC )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr []; - foo.c # калимаи "foo.h" void асосӣ (int argc, char ** argv) {printf ("% d \ n", arr [1]); }}

Тарзи чорум барои пешгирӣ кардани ин проблема аз ҳисоби коғази коди шумо барои истифодаи интерфейси функсионалӣ, ба ҷои интерфейси маълумот барои тағйирёбии хавф ( масалан, set_foo () ва get_foo () functionor functions).

- воридшаванда-автоматизатсия

Пайвастшавӣ бо "_symbol" ба "__imp__symbol" барои DATAimports аз DLL кӯшиш кунед.

- барҳамхӯрӣ-псевдо-ресмонс

Агар рамзи шумо ифодаи ифодаи қисмате, ки дар қуттии имову ишора қарор дошта бошад, ин аст, ки DATAimports аз DLL бо фарқияти ғайримутамаркӣ, ин кнопкаи вируси "порталҳои пнеудо" -ро офаридааст, ки мумкин аст бо муҳити даврӣ барои ислоҳ кардани нишонаҳо истифода шаванд ба чунин маълумот дар рамзи муштарии шумо.

- боздоштан-runtime-pseudo-reloc

Барои ҷойивазкунии ғайримутамаркази DATA аз DLL-ро баровардани ҷойҳои ҷойгузини Pseudo эҷод накунед. Ин пешфарз аст.

- барҳамхӯрӣ-экспертизаи иловагӣ

Маълумоти иловагии мубоҳаро нишон диҳед, ки ба рангкунии рангҳои худкор ворид карда мешавад.

- фарогирӣ

Қисмати ҳамзамонро ҷойгир мекунад. Қисматҳои хотира ҳамеша дар нишониҳое, ки бисёрии ин рақам доранд, оғоз меёбад. Наметавонад ба 0x1000.

- захираи асъор

- захираи асбобӣ , иҷро

Ҳаҷми захираи хотиррасониро барои захираи (ва ихтиёрӣ анҷом додан) муайян кунед, ки барои ин барнома якҷоя истифода бурда мешавад. Нигоҳ доштани 2Mb ҳифз шудааст, 4K содир кард.

- Система, ки

- Система, ки асосан

- Система, ки асосан . ноболиғ

Дар зергоҳе, ки дар барномаи шумо амал мекунад, муайян карда мешавад. Арзиши ҳуқуқӣ, ки дар он "ватани", "windows", "консол" ва "posix" мебошанд. Шумо метавонед варианти воҳиди зерсистемаро низ интихоб кунед.

Муҳим: Кушодани мард ( % мард ) -ро истифода баред, ки чӣ гуна фармон дар компютери шумо истифода бурда мешавад.