Linux / Unix විධානය: Id

නාමය

ld - LD , GNU linker භාවිතා කරමින්

සිනෝපස්

ld [ විකල්ප ] objfile ...

විස්තර

ld වස්තුවක් සහ සංරක්ෂිත ලිපිගොනු එකතුවේ, ඒවායේ දත්ත නැවත ස්ථානගත කිරීම හා සංකේතාත්මක යොමු සටහන් බැඳී ඇත. සාමාන්යයෙන් වැඩසටහනක් සකස් කිරීමේ අවසන් පියවර වන්නේ ld ක්රියාත්මක කිරීමයි.

AT & T හි ලින්ක් කර්තෘ කොම්සිටි භාෂා syntax හි superset හි ලින්ක් ලින්ක් කමාන්ඩ් භාෂා ලියවිලි පිළිගනී, සබැඳීමේ ක්රියාවලිය නිරවුල් හා සම්පූර්ණ පාලනය සැපයීම සඳහා.

මෙම මනුෂ්ය පිටුව මඟින් විධානීය භාෂාව විස්තර කරන්නේ නැත; "info" හි ld පිවිසුම බලන්න, හෝ ld: manuals: GNU linker, command command භාෂාව සහ අනෙකුත් ග්රන්ථයන් පිළිබඳ සම්පූර්ණ විස්තර සඳහා.

Ld මෙම අනුවාදය වස්තු ගොනු මත ක්රියා කිරීම සඳහා පොදු අරමුණු BFD පුස්තකාල භාවිතා කරයි. මෙමඟින් විවිධ ආකෘති ගොනුවක කියවීමට, ඒකාබද්ධ කිරීමට සහ ලිවීමට ld මඟින් ඉඩ දෙයි. නිදසුනක් ලෙස, COFF හෝ "a.out" යනුවෙන් හැඳින්වේ. විවිධ ආකෘති එක් එක් වර්ගයේ වස්තුවක ගොනු නිෂ්පාදනය කිරීම සඳහා එකට සම්බන්ධ කළ හැක.

එහි නම්යශීලීත්වය හැරුණු විට, GNU සම්බන්ධකය දෝෂ හඳුනාගැනීමේ තොරතුරු සැපයීමේදී අනෙකුත් සම්බන්ධකයන්ට වඩා ප්රයෝජනවත් වේ. බොහෝ සබැඳි දෝෂයක් ඇතිවීමෙන් වහාම ක්රියාත්මක වීම අත්හැර දමයි; හැකි සෑම අවස්ථාවකදීම, ld අඛණ්ඩව ක්රියාත්මක වන අතර අනෙකුත් දෝෂ හඳුනාගැනීමට (හෝ සමහර අවස්ථාවලදී, දෝෂය තිබියදී ප්රතිදාන ගොනුවක් ලබා ගැනීමට) ඉඩ ලබා දේ.

GNU linker ld යනු පුළුල් පරාසයක තත්ත්වයන් ආවරණය කිරීම සඳහා සහ වෙනත් සම්බන්ධකයන් සමග හැකි තරම් අනුකූල විය යුතුය. එහි ප්රතිපලයක් ලෙස, එහි හැසිරීම පාලනය කිරීමට ඔබට බොහෝ විකල්ප තිබේ.

විකල්ප

සබැඳියා විසින් විධාන රේඛා විකල්පයන් රාශියක් අනුගමනය කරයි, නමුත් සත්ය වශයෙන්ම ඒවායින් කිහිපයක්ම කිසියම් විශේෂිත සන්දර්භයකින් භාවිතා වේ. නිදසුනක් ලෙස, ldd නිරන්තරයෙන් භාවිතා කිරීම සම්මත Unix වස්තු ෆයිල්ස් ගොනු සම්මතයක් ලෙස අනුකලනය කර Unix පද්ධතියට සහය දක්වයි. එවැනි පද්ධතියක, "hello.o" ගොනුව සම්බන්ධ කිරීම සඳහා:

ld -o <ප්රතිදානය> /lib/crt0.o hello.o -lc

මෙය "llbc.a" සහ "libc.a" පුස්තකාලය සමඟ "/lib/crt0.o" ගොනුව සම්බන්ධ කිරීමෙහි ප්රතිපලයක් ලෙස නිපදවන ගොනුවක් නිපදවීමට ld කියනවා, සාමාන්ය සෙවුම් නාමාවලි වෙතින් එන පුස්තකාලය. (පහත -l විකල්පය පිළිබඳ සාකච්ඡාව බලන්න.)

Ld සඳහා වන විධාන රේඛා විකල්පයන් විධාන රේඛාවේ ඕනෑම තැනක නිශ්චිතව දැක්විය හැක. කෙසේ වෙතත්, -l හෝ -T වැනි ගොනු වලට යොමුවන අභිප්රේතයන්, ගොනුව විධාන රේඛාවේ පේළියෙහි දැක්වෙන ස්ථානයේ කියවෙනු ඇත , වස්තුවේ ගොනු හා අනෙකුත් ගොනු අභිප්රායන්ට සාපේක්ෂව. වෙනත් පරාමිතිය සහිත නොවන ගොනු අභිප්රේත නැවත නැවත කිරීමෙන් කිසිදු බලපෑමක් නැත, නැතහොත් පූර්ව සිදුවීම් ඉක්මවා (එම විධාන රේඛාවේ වමේ සිට වමට). පහත දැක්වෙන විස්තරවලින් අර්ථකථනය කළ හැකි විකල්ප වරක් එක් වරකට වඩා වැඩි ය.

විකල්ප නොවන පරාමිති වන්නේ එකට බැඳිය යුතු වස්තු ගොනු හෝ සංරක්ෂිතයයි. විධාන රේඛා විකල්පයන් සමඟ ඒවාට අනුගමනය කළ හැකිය, පූර්ව, හෝ විධාන රේඛා විකල්පයන් සමඟ මිශ්ර වී තිබිය යුතු අතර, වස්තුව ගොනු පරාමිතිය විකල්පයක් සහ එහි පරාමිතිය අතරට තැබිය නොහැකිය.

සාමාන්යයෙන්, linker එකක හෝ එක් ගොනුවක් සමඟ අවම වශයෙන් ආයාචනය කර ඇත, නමුත් ඔබට -l , -R සහ විධානාවලි භාෂා ආචය භාවිතා කරමින් ද්විමය ආදාන ගොනු වෙනත් ආකාරයන් නියම කළ හැකිය. කිසිවක් ද්විමය ආදාන ගොනු කිසිවක් නොකෙරේ නම්, ලින්ක් එකේ ප්රතිදානය නිෂ්පාදනය නොකරයි, සහ ආදාන ගොනු කිසිවක් නැත .

වස්තු ගොනුවක ආකෘතිය හඳුනාගත නොහැකි නම්, එය සබැඳි විධානාවලියක් යැයි උපකල්පනය කරයි. මෙම ආකාරයෙන් දක්වා ඇති ස්ක්රිප්ට් එකක් සබැඳිය සඳහා භාවිතා කරන ප්රධාන සබැඳි විධානාවලි කේතය (පෙරනිමි සබැඳි කේත රචනය හෝ -T ) මඟින් නිශ්චිතව දක්වා ඇත. මෙම ලක්ෂණයට වස්තුවක් හෝ සංරක්ෂිතයක් ලෙස පෙනී සිටින ගොනුවකට සම්බන්ධ වීමට සබැඳියෙකුට ඉඩ දෙයි, නමුත් ඇත්ත වශයෙන්ම සමහර සංකේතාත්මක අගයන් අර්ථ දැක්වේ, හෝ වෙනත් වස්තු පැටවීම සඳහා "INPUT" හෝ "GROUP" භාවිතා කරයි. මෙලෙස අක්ෂර වින්යාසය නිශ්චිත ලෙස හුවා දක්වයි. පෙරනිමි සබැඳි වින්යාසය සම්පූර්ණයෙන්ම වෙනස් කිරීම සඳහා -T විකල්පය භාවිතා කරන්න.

අභිරුචි පරාමිති විකල්පයන් සඳහා විකල්ප විකරණයන් සඳහා විකල්ප තීරුව අනුගමනය නොකළ යුතුය, හෝ අවශ්ය වන විකල්පය අනුගමනය වහාම වෙනම විවාදයන් ලෙස ලබාදිය යුතුය.

අභිලේඛන ඇති අක්ෂර කිහිපයක් සඳහා එක් ඩෑෂ් එකක් හෝ දෙකක හෝ විකල්ප නමට පෙරට යා හැක. උදාහරණයක් ලෙස, -trace-symbol සහ -trace-symbol සමාන වේ. සටහන - මෙම රීතියට එක් එක් කරුණක් ඇත. කුඩා අකුරින් ආරම්භ වන බහු අකුරු විකල්ප දෙකකට සීමා කළ හැක්කේ dash දෙකකින් පමණි. මෙය -o විකල්පය සමඟ ව්යාකූලතාව අඩු කිරීමයි. උදාහරණයක් ලෙස - සුමුදු ලෙස ප්රතිස්ථාපන ගොනුව නම් මැජික් සඳහා - - සෙම පරිකරණයේ ප්රතිදානය මත NMAGIC ධජය සකසයි.

බහු අකුරු අභිරුචි වලට විස්තාරක සමාන ලකුණක් මගින් විකල්ප නමෙන් වෙන් කළ යුතුය, හෝ ඒවා අවශ්ය වන විකල්පය අනුගමනය කිරීමෙන් අනතුරුව වෙනම විවාදයන් ලෙස ලබා දිය යුතුය. උදාහරණයක් ලෙස, - trace-symbol foo සහ --trace-symbol = foo සමාන වේ. බහු අකුරු විකල්පයන්ගේ සුවිශේෂී කෙටි යෙදුම් පිළිගනු ලැබේ.

සටහන - ලින්කර් වක්ර අයුරින් අමතනු ලැබේ නම්, පරිවර්තක ධාවකය (නිද. Gcc ) හරහා නම්, සියලු සබැඳි විධාන රේඛා විකල්පයන් -Wl මගින් (හෝ කිසියම් පරිවර්තකයක් සඳහා සුදුසු ය)

gcc -Wl, - startgroup foo.o bar.o -Wl, - endgroup

එසේත් නැත්නම්, පරිවර්තක වින්යාසයේ යෙදුම ස්පර්ශක විකල්පයන් නිශ්ශබ්දව ඉවත් කළ හැකි නිසා, නරක සම්බන්ධතාවයක් ඇති වේ.

GNU ලින්ක්සර් විසින් පිළිගත් සාමාන්ය විධාන රේඛා ස්විචයන් මේසය:

අත්යවශ්ය ය

මෙම විකල්පය HP / UX අනුකූලතාව සඳහා සහාය වේ. ප්රධාන වචන තර්කය අක්ෂර සංරක්ෂිත , බෙදාගන්නා හෝ පෙරනිමියෙන් එකක් විය යුතුය. -ararchive යනු ක්රියාකාරීව සමාන වූවකි- බිස්ටිකල් වන අතර අනෙකුත් ප්රධාන වචන දෙක ක්රියාකාරීව සමාන වේ. මෙම විකල්පය ඕනෑම වාර ගණනක් භාවිතා කළ හැකිය.

- ගෘහනිර්මාණ ශිල්පය

--architecture = ගෘහනිර්මාණ

Ld හි වත්මන් නිකුතුවේ දී මෙම විකල්පය ප්රයෝජනවත් වන්නේ ඉන්ටෙල් 960 ගෘහ නිර්මාණ නිර්මිතිය සඳහා පමණි. Ld වින්යාසය තුළ, ගෘහ නිර්මාණ ශිල්පය තර්කයක් වන 960 පවුල තුළ ඇති විශේෂිත ගෘහ නිර්මාණ ශිල්පය, සමහර ආරක්ෂණ ක්රමෝපායන් සහ සංරක්ෂිත පුස්තකාල සෙවුම් මාර්ගය වෙනස් කිරීම සිදු කරයි.

Ld හි අනාගත නිකුතුව අනෙකුත් ගෘහනිර්මාණ පවුල් සඳහා සමාන ක්රියාකාරීත්වය සඳහා සහයෝගය දැක්විය හැකිය.

-b ආදාන-ආකෘතිය

--format = ආදාන-ආකෘතිය

ld විස්තාර ගොනුවක් එක් වර්ගයකට වඩා වැඩි ගණනක් සඳහා වින්යාසගත කළ හැක. ඔබගේ ld මෙම ආකාරයෙන් වින්යාස කර ඇත්නම්, විධාන රේඛාවේදී මෙම විකල්පය අනුගමනය කරන ආදාන වස්තු ගොනුව සඳහා ද්වීමය ආකෘතිය නියම කිරීම සඳහා -b විකල්පය භාවිතා කළ හැකිය. Ld වෙනත් වස්තු ආකෘති වලට සහාය දෙන විට පවා එය ඔබට නිශ්චිතවම නියම කර නොතිබිය යුතුය. මන්ද, සෑම පරිගණකයකම සුපුරුදු ආකෘතිය ලෙස ප්රකෘති ආදාන හැඩතලයක් ලෙස බලාපොරොත්තු විය යුතුය. ආදාන-ආකෘතිය යනු පෙළේ පෙළකි, BFD පුස්තකාල විසින් සපයන ලද විශේෂ ආකෘතියක් වේ. (ඔබට objdump -i සමඟ පවතින ද්වීමය ආකෘති ලැයිස්තුගත කළ හැක)

ඔබ අසාමාන්ය ද්වි-ආකෘතිය සමඟ ගොනු සම්බන්ධ කරන විට ඔබට මෙම විකල්පය භාවිතා කිරීමට අවශ්ය විය හැකිය. ඔබ විසින් ආකෘති ගොනු එක් එක් ආකෘතියකට පෙර -b ආදාන-ආකෘතියට ඇතුල් කිරීම මඟින් ආකෘති විශේෂ ආකාරයෙන් මාරු කිරීම (විවිධ ආකෘති ගොනු ගොනුවකට සම්බන්ධ කිරීමේදී) භාවිතා කළ හැකිය.

පෙරනිමි ආකෘතිය පාරදෘශ්ය විචල්යයෙන් "GNUTARGET" වලින් ලබාගත හැකිය.

"TARGET" විධානය භාවිතයෙන් ඔබට ආදාන ආකෘතිය විධානාවලිය නිර්ණය කළ හැකිය;

-c MRI-commandfile

--mri-script = MRI-commandfile

MRI විසින් නිපදවන ලින්ක් කරන්නන් සමඟ අනුකූලතා සඳහා, ld ලියකියවිලි වල MRI සංයුක්ත ලියකියවිලි අංශයේ විස්තර කර ඇති විකල්ප, සීමා වූ විධාන භාෂාවක් තුල ලියා ඇති script files. MRI විධානාවලි ගොනු -c ; සාමාන්ය- ld scripting භාෂාව තුල ලින්ක්සර් විධානාවලිය ලිවීම සඳහා -T විකල්පය භාවිතා කරන්න. MRI-cmdfile නොමැති නම්, -L විකල්ප මගින් නියම කරන ලද බහලුම් තුල එය දිස්වේ.

-d

-dc

-dp

මෙම විකල්ප තුන සමාන වේ. වෙනත් සම්බන්ධකයන් සමඟ ගැලපෙන පරිදි විවිධාකාර ආකෘතීන් සහාය වේ. නැවත සංකේතාත්මක ප්රතිදාන ගොනුවක් ( -r ) මඟින් නිශ්චිතව දක්වනු ලැබේ. විධානාවලි විධානාවලි "FORCE_COMMON_ALLOCATION" යනුවෙන් එකම බලපෑමක් ඇත.

ප්රවේශය

- entry = ඇතුල්වීම

පෙරනිමි ප්රවේශ ස්ථානයට වඩා ඔබේ වැඩසටහන ක්රියාත්මක කිරීම සඳහා පැහැදිලි සංකේත ලෙස ප්රවේශය භාවිතා කරන්න. ප්රවේශයක් නම් සංකේතයක් නොමැති නම්, සම්බන්ධකයකු අංකයක් ලෙස ඇතුල් කිරීම හා ලිපිනය ඇතුළත් ලිපිනය ලෙස භාවිතා කරනු ඇත (අංකය 10 පදනම් කරගෙන අර්ථ නිරූපණය කරනු ඇත, ඔබට පදනම් 16 සඳහා ප්රමුඛ 0x හෝ 0 පාදම 8).

-ඊ

--export-dynamic

ගතිකව සම්බන්ධිත කාර්යබහුලතාවයක් නිර්මාණය කරන විට, ගතික සංකේත වගුව වෙත සියලුම සංකේත එකතු කරන්න. ගතික සංකේත වගුව යනු ධාවන වේලාව තුළ ගතික වස්තූන් මඟින් දැකිය හැකි සංකේත මාලාවයි.

ඔබ මෙම විකල්පය භාවිතා නොකරන්නේ නම්, ගතික සංකේත වගුව සාමාන්යයෙන් මෙම සබැඳියෙහි සඳහන් වන කිසියම් ගතික වස්තුවක සඳහන් වන සංකේත පමණක් අඩංගු වේ.

ඔබ විසින් "ඩොල්න්" භාවිතා කරන්නේ නම්, කිසියම් ගතික වස්තුවකට වඩා වෙනස් වන ගතික වස්තුවක් වෙත ආපසු යෑමට අවශ්ය වන ගතික වස්තුවක් පැටවීම සඳහා නම්, එවිට ඔබට එම වැඩසටහනම සම්බන්ධ කිරීම සඳහා මෙම විකල්පය භාවිතා කළ හැකිය.

නිමැවුම් ආකෘතිය එය අනුබල දෙයි නම්, ගතික සංකේත වගුව වෙත එකතු කළ යුතු සංකේත මොනවාද යන්න පාලනය කිරීමට අනුවාද විධානාවලිය භාවිතා කළ හැකිය. @ Ref {VERSION} හි --version-script හි විස්තරය බලන්න.

-ඊ

විශාල-අන්තවාදී වස්තු සම්බන්ධ කරන්න. මෙය පෙරනිමි නිමැවුම් ආකෘතියට බලපායි.

-එම්

කුඩා-අන්තවාදී වස්තු සම්බන්ධ කරන්න. මෙය පෙරනිමි නිමැවුම් ආකෘතියට බලපායි.

-එම්

- දිලීර නාමය

ELF හවුල් වස්තුවක් නිර්මාණය කරන විට, අභ්යන්තර DT_AUXILIARY ක්ෂේත්රයේ නිශ්චිත නමට සකසන්න. මෙම හවුල් වස්තුවෙහි සංකේතාංකක සලකුණු හවුල් ලිපින නාමයේ සංකේතාංකක වගුව මත සහායක පෙරහන් ලෙස භාවිතා කළ යුතු වේ.

පසුව ඔබ මෙම පෙරහුරුවෙහි වස්තුවට එරෙහිව ක්රියාකාරී වැඩසටහනක් සම්බන්ධ කර ගන්නේ නම්, ඔබ වැඩසටහන ක්රියාත්මක කරන විට, ගතික සබැඳියා DT_AUXILIARY ක්ෂේත්රය දකිනු ඇත. ගතික ලින්ක්කරු විසින් පෙරහන් වස්තුවෙන් කිසියම් සංකේත නිරාකරණය කරන්නේ නම්, පළමුවෙන් හවුල් වූ වස්තුවක නමක් තිබේදැයි විමසනු ඇත. එකක් තිබේ නම්, එය පෙරහන වස්තුවේ නිර්වචනය වෙනුවට භාවිතා කරනු ලැබේ. හවුල් වස්තු නාමය අවශ්ය නොවේ. එම නිසා, හවුල් කාර්යය නාමයක් සමහර කාර්යයන් විකල්ප ක්රියාවට නැංවීම සඳහා භාවිතා කළ හැකිය, සමහර විට දෝෂහරණය සඳහා හෝ පරිගණකයේ නිශ්චිත කාර්ය සාධනය සඳහා.

මෙම විකල්පය එක් වරකට වඩා වැඩි ගණනක් නියම කළ හැකිය. DT_AUXILIARY ප්රවේශයන් ඒවා විධාන රේඛාවේ දැක්වෙන පිළිවෙලට සාදනු ඇත.

-F නම

- ෆිල්ටර් නම

ELF හවුල් වස්තුවක් නිර්මාණය කරන විට, අභ්යන්තර DT_FILTER ක්ෂේත්රය නියම කරන ලද නමට සකසන්න. මෙමඟින් ගුප්ත සබැඳිය සඳහන් වන්නේ හවුල් නිර්මාණය කරන ලද වස්තුවේ සංකේත මේසයේ පොදු වස්තුවක සංකේත වගුවෙහි පෙරණයක් ලෙස භාවිතා කළ යුතු බවයි.

පසුව ඔබ මෙම පෙරහුරුවෙහි වස්තුවට එරෙහිව වැඩසටහනක් සම්බන්ධ කර ගන්නේ නම්, ඔබ වැඩසටහන ක්රියාත්මක කරන විට, ගතික සබැඳියා DT_FILTER ක්ෂේත්රය දකිනු ඇත. ඩිජිටල් ඈදුම්කාරකය සාමාන්යයෙන් මෙන් පෙරහන් වස්තුවේ සංකේතාත්මක වගුව අනුව සංකේත නිරාකරණය කරනු ඇත, නමුත් එය සැබැවින්ම හවුල් වස්තුවේ නමේ ඇති හීදී ඇති නිර්වචන වෙත සබැඳෙයි. එබැවින් වස්තුව නාමයෙන් සපයන ලද සංකේත වල උපකල්පිතයක් තෝරා ගැනීමට පෙරහන වස්තුව භාවිතා කළ හැකිය.

සමහර පැරණි ඈඳුනකරුවන් ආදාන සහ ප්රතිදානය වස්තු ගොනු සඳහා වස්තු-ගොනු ආකෘතිය නියම කිරීම සඳහා compiled toolchain පුරාවට -F විකල්පය භාවිතා කරන ලදි. GNU සබැඳි මෙම කාර්යය සඳහා වෙනත් යාන්ත්රණ භාවිතා කරයි: -B , -format , -format විකල්ප, linker script හි "TARGET" විධානය සහ "GNUTARGET" පරිසර විචල්යය. GNF සබැඳුම ELF හවුල් වස්තුවක් නිර්මාණය නොවන විට -F විකල්පය නොසලකා හරිනු ඇත.

- ෆීනයි නම

ELF ක්රියාත්මක කළ හැකි හෝ හවුල් වස්තුවක් නිර්මාණය කරන විට, කාර්යයයේ ලිපිනය වෙත DT_FINI සැකසීම මඟින් විධායකයා හෝ හවුල් වස්තුව බාගැනෙන විට NAME අමතන්න. පෙරනිමියෙන්, ලින්ක් එකේ ඇමතුම සඳහා "_fini" භාවිතා කරයි.

-g

නොසලකා හරිනවා. වෙනත් මෙවලම් සමග අනුකූල වීම සඳහා සපයනු ලැබේ.

-G අගය

--gpsize = අගය

GP හි විශාල ප්රමාණයේ ප්රමාණය භාවිතා කිරීම සඳහා වස්තු වල උපරිම ප්රමාණයේ නියම කළ යුතු වේ . මෙය විශාල වශයෙන් හා කුඩා වස්තූන් විවිධ කොටස්වලට අනුබල ලබා දෙන MIPS ECOFF වැනි වෛරස් ගොනු ආකෘති සඳහා අර්ථවත් වේ. වෙනත් වස්තුවේ ගොනු ආකෘති සඳහා මෙය නොසලකා හරියි.

-හ් නම

- නම = නම

ELF හවුල් වස්තුවක් නිර්මාණය කරන විට, අභ්යන්තර DT_SONAME ක්ෂේත්රය නියම කරන ලද නමට සකසන්න. එක් කාර්යයක් DT_SONAME ක්ෂේත්රයක් සහිත හවුල් අංගයක් සමඟ සම්බන්ධ වන විට, විධායකයා ක්රියාත්මක වන විට ඩිජිටල් ඈදුම්කාරකය DT_SONAME ක්ෂේත්රය විසින් නිශ්චිතව බෙදාගත් පොදු වස්තුවක් සබැඳිය භාවිතා කරන අතර, linker වෙත ලබාදෙන ගොනු නාමයට වඩා භාවිතා කරනු ඇත.

-මම

වර්ධක සම්බන්ධතාවක් (විකල්පයක් -r ) ලෙස ක්රියාත්මක කරන්න.

- නමක්

ELF ක්රියාත්මක කළ හැකි හෝ පොදු වස්තුවක් නිර්මාණය කරන විට, කාර්යයයේ ලිපිනය වෙත DT_INIT සැකසීම මඟින් ක්රියාත්මක වන හෝ හවුල් වස්තුව බෑමේදී, NAME අමතන්න. පෙරනිමියෙන්, සබැඳිය ඇමතිය යුතු ක්රියා ලෙස "_init" භාවිතා කරයි.

- සංරක්ෂිතයි

--library = සංරක්ෂිතය

සබැඳි ගොනු ලැයිස්තුවට සංරක්ෂක ගොනු සංරක්ෂණය එකතු කරන්න. මෙම විකල්පය ඕනෑම වාර ගණනක් භාවිතා කළ හැකිය. ld , "libarchive.a" හි සඳහන් සෑම සංරක්ෂණ ලේඛනයක් සඳහාම එහි path-list සෙවිය හැක.

හවුල් පුස්තකාල සඳහා අනුග්රහ දක්වන පද්ධති මත, ld විසින් ".a" හැර අනෙකුත් දිගු පුස්තකාල සඳහා ගවේෂණය කල හැකිය. විශේෂයෙන්, ELF සහ SunOS පද්ධති මත, ld ".a" දිගුවේ දිගු සෙවීම සඳහා ".so" පුස්තකාලයක් සඳහා බහලුමක් සෙවිය හැක. සම්මුතිය අනුව, ".so" දිගුව හවුල් සේවා පුස්තකාලයක් මඟින් දැක්වේ.

ලින්ක් එක වරක් එක් වරක් පමණක් සොයනු ඇත, විධාන රේඛාවේ නිශ්චිතව දක්වා ඇති ස්ථානයේ. සංරක්ෂිතය විධාන රේඛාවට පෙර ප්රදර්ශනය වූ යම් වස්තුවක නිර්වචනය කළහොත්, සංරචකය සංරචකයෙන් අදාල ගොනු (ගොනු) ඇතුළත් වේ. කෙසේ වෙතත්, විධාන රේඛාවේ පහළින් දැක්වෙන වස්තුවක නිර්වචනය නොකරන ලද සංකේතය නැවතත් සංරචකය නැවත සෙවිය හැක.

බලන්න - - ( Link) සවිකරන්නන්ගේ සංරචකයන් කිහිප වතාවක් සෙවීමට බලකෙරෙන විකල්පයක්.

ඔබට විධාන පේළියේ කිහිප වතාවක්ම විධාන රේඛාවේ ලැයිස්තුගත කළ හැක.

Unix ලින්ක්සර් සඳහා මෙම ලේඛනාගාරයේ ගවේෂණය සම්මත වේ. කෙසේ වෙතත්, ඔබ ld onAIX භාවිතා කරන්නේ නම්, එය AIX සම්බන්ධකයෙහි හැසිරීම වඩා වෙනස් බව සැලකිල්ලට ගන්න.

ලිස්සර්

--library-path = searchdir

සංරක්ෂිත පුස්තකාල සහ ld පාලක විධානාවලි සොයා ගැනීමට මං සොයනු ඇත. ඔබට මෙම විකල්පය ඕනෑම වාර ගණනක් භාවිතා කළ හැකිය. විධාන රේඛාවල ඒවා විධාන රේඛාවේ නිශ්චිතව දැක්වේ. විධාන රේඛාවේ නිශ්චිතව දක්වන ලද නාමාවලි භාවිතා කරනුයේ පෙරනිමි ඩිරෙක්ටරයට පෙරය. විකල්පයන් සියල්ලම තිබියදී, -L විකල්පයන් සඳහා සියලු -L විකල්පයන් අදාළ වේ.

Searchdir ආරම්භයෙන් "=" සමඟ නම්, "=" ආදේශක උපසර්ගය මඟින් ප්රතිස්ථාපනය කරනු ලැබේ, linker සැකසූ විට නියම කරන ලද මාර්ගය.

පිරික්සූ පෙරනිමි සැකසීම් ( -L සමඟ නිශ්චිතව දැක්වීමකින් තොරව) රඳා පවතින්නේ කුමන අනුහුරුකරණ මාදිලි ld භාවිතා කරන අතර, ඇතැම් අවස්ථාවලදී එය සැකසූ ආකාරය මතද වේ.

මාර්ගයන් "SEARCH_DIR" විධානය සමඟ සබැඳි විධානාවලියක නිශ්චිතව දැක්විය හැක. මෙම ආකාරයෙන් නිශ්චිතව දක්වන ලද නාමාවලි පහත දැක්වෙන සම්බන්ධක කේත රචනය විධාන රේඛාවේ දක්නට ලැබේ.

-පී

අනුපූරක ඈඳිය. - විබෙදුම හෝ -V විකල්පයන් සමඟ ලබාගත හැක.

-m විකල්පය භාවිතා නොකළහොත්, එය අර්ථ දක්වනු ලබන්නේ නම් "LDEMULATION" පාරිසරික විචල්යයෙන් ලබා ගත හැක.

එසේ නොමැති නම්, පෙරනිමි අනුකරණ රඳා පවතින්නේ linker සැකසූ ආකාරය මතය.

-එම්

- මුද්රණ සිතියම

සම්මත නිමැවුම් වලට සබැඳි සිතියම මුද්රණය කරන්න. සබැඳි සිතියම පහත සඳහන් දෑ ඇතුළුව සබැඳිය පිළිබඳ තොරතුරු සපයයි:

*

වස්තූන් ගොනු සහ සංකේත මතකය වෙත සිතියම්ගත කර ඇත.

*

පොදු සංකේත බෙදා වෙන් කරන්නේ කෙසේද?

*

මෙම සංරචකයේ අඩංගු සියලු සංරචක සාමාජිකයන්, ලේඛනගත සාමාජිකයා වෙත ගෙන එන ලද සංකේතය පිළිබඳ සඳහන් කිරීමත් සමග.

-n

- විවේචනාත්මකයි

කොටස්වල පිටු පෙළගැස්ම ඉවත් කර, නිමැවුම නම් "NMAGIC" ලෙස නම් කරන්න.

-N

සිනහවක්

පෙළ සහ දත්ත අංශයන් කියවිය හැකි හා කියවිය හැකි ලෙස සකසන්න. එසේම, පිටු ඛණ්ඩය දත්ත කාණ්ඩයට ගැලපීම හා හවුල් පුස්තකාල වලට සම්බන්ධ කිරීම අක්රිය කරන්න. නිමැවුම් ආකෘතිය Unix මාදිලියේ මැජික් අංකවලට අනුබල දෙයි නම්, ප්රතිදානය "OMAGIC" ලෙසින් සලකුණු කරන්න.

- දුබලයි

මෙම විකල්පය N- අභිප්රේතයෙන් බොහෝ ප්රතිවිපාක ප්රතික්ෂේප කරයි. එය පාඨමය කියවීම සඳහා පාඨමය කොටසක් සකසයි, දත්ත කාණ්ඩයට පිටුව අනුකලනය කිරීමට බල කරයි. සටහන - මෙම විකල්පය හවුල් පුස්තකාල වලට සම්බන්ධ කිරීම සක්රීය කර නැත. මේ සඳහා භාවිතා කරන්න.

නිමැවුමකි

--output = ප්රතිදානය

Ld විසින් නිෂ්පාදනය කරන ලද වැඩසටහන සඳහා නම ලෙස භාවිතා කරන්න. මෙම විකල්පය සපයා නොමැතිනම්, a.out නාමය පෙරනිමිය ලෙස භාවිතා කරයි. විධාන රේඛාව "OUTPUT" මඟින් ප්රතිදාන ගොනුවේ නමට නියම කල හැක.

-O මට්ටම

මට්ටම් සංඛ්යාත්මක අගයන් ශුන්යයට වඩා වැඩි වන අතර LD ප්රතිදානය ප්රශස්ථ කරයි. මෙමඟින් සැලකිය යුතු කාලයක් ගතවනු ඇත. එබැවින් අවසන් ද්විමය සඳහා පමණක් මෙය සක්රීය කළ යුතුය.

- q

-මීට්-රෙලෝස්

සම්පූර්ණයෙන්ම සම්බන්ධිත වැරදිකරුවන්ව ස්ථානගත කිරීම හා නැවත පදිංචි කිරීම. පසු විපරම් විශ්ලේෂණය සහ ප්රශස්තිකරණ මෙවලම් මෙම තොරතුරු අවශ්ය වේ. මෙමඟින් විශාල විධායක කාර්යන්හි ප්රතිඵල ලැබේ.

මෙම විකල්පය දැනට ELF වේදිකා මත පමණක් පහසුකම් සපයයි.

-ආ

- හැසිරවිය හැක

ප්රතිස්ථාපිත ප්රතිදානය ජනනය කිරීම, එනම්, ld වෙත ආදාන ලෙස යෙදවිය හැකි ප්රතිදාන ගොනුවකි. මෙය බොහෝ විට අර්ධ ලෙස සම්බන්ධ කිරීමක් ලෙස හැඳින්වේ. අනුපිළිවෙලක් ලෙස, සම්මත යුනික්ස් මැජික් අංකවලට අනුකූල වන පරිසරයන් තුළ, මෙම විකල්පය මඟින් ප්රතිදාන ගොනුවෙහි මැජික් අංකය "ඔමගික" ලෙස දක්වා ඇත. මෙම විකල්පය සපයා නොමැති නම්, නිරපේක්ෂ ගොනුවක් නිපදවනු ලැබේ. C ++ වැඩසටහන් සම්බන්ධ කරන විට, මෙම විකල්පය නිර්මාපකයන්ට යොමු කිරීම් විසඳන්නේ නැත ; ඒක කරන්න, පාවිච්චි කරන්න -Ur .

ආදාන ගොනුවක් ප්රතිදාන ගොනුවට සමාන ආකෘතියක් නොමැති විටදී, එම ආදාන ගොනුවට කිසිදු වෙනසක් නොමැති නම් අර්ධ ලෙස සම්බන්ධ කිරීම සඳහා පමණක් සහාය වේ. විවිධ නිමැවුම් ආකෘතිවලට තවත් සීමාවන් තිබිය හැකිය. උදාහරණයක් ලෙස "a.out" -based ආකෘති සමහර ආදාන ගොනු සමඟ ආංශික සම්බන්ධ කිරීමකට සහාය නොදක්වයි.

මෙම විකල්පය i-i ලෙසම සිදු කරයි.

-R ගොනු නාමය

--just-symbols = ගොනු නාමය

නමේ නම සහ ඒවායේ ලිපිනයන් ගොනු නාමයෙන් කියවා, නමුත් එය ප්රතිස්ථානගත කිරීම හෝ එහි ප්රතිදානය ඇතුළත් කරන්න. මෙමඟින් ඔබේ ප්රතිදානය ගොනුව අනෙකුත් වැඩසටහන් තුල අර්ථ නිරූපිතව නිරපේක්ෂ ස්ථානවල සංකේතාත්මකව යොමු කිරීමට ඉඩ දෙයි. ඔබට මෙම විකල්පය එක් වරකට වඩා භාවිතා කළ හැකිය.

අනෙකුත් ELF සබැඳිකරුවන් සමඟ ගැලපීම සඳහා -R විකල්පය අනුගාමික නාම නාමයක් වන අතර, ගොනු නම වෙනුවට, එය -rpath විකල්පය ලෙස සැලකේ .

-ස

- කපටි සියල්ල

ප්රතිදානය ගොනුවෙන් සියලු සංකේතාත්මක තොරතුරු ඉවත් කරන්න.

- එස්

- ස්ථම්භ-වින්යාසය

නිමැවුම් ගොනුවෙන් වින්යාස කිරීමේ සංකේතය තොරතුරු (නමුත් සියළුම සංකේත) නොතිබෙන්න.

-ටී

- ට්රැඩ්ස්

ආදාන ගොනු වල නම් මුද්රණය කර ඒවා ldd මඟින් සකසන්න .

-T scriptfile

--script = scriptfile

Linker script ලෙස භාවිතා කරන්න. මෙම ස්ක්රිප්ටයේ ld හි පෙරනිමි සබැඳි කේත රචනය වෙනුවට (ඊට එකතු කිරීමට වඩා) ප්රතිස්ථාපනය වේ , එබැවින් commandfile මඟින් ප්රතිදාන ගොනුව විස්තර කිරීමට අවශ්ය සියල්ල නියම කල යුතුය. වත්මන් බහලුම තුල scriptfile නොපවතියි නම්, "ld" පෙර -L විකල්පයන් මගින් නියම කරන ලද බහලුම් තුල එය සොයා බලයි. බහු-ට විකල්ප එකතු වේ.

-u සංකේතය

--undefined = සංකේතය

බල යුග්ම ප්රතිදානය ගොනුව අනිශ්චිත සංකේතයක් ලෙස ඇතුලත් කල යුතුය. මෙය නිදසුනක් ලෙස, නිදසුනක් ලෙස, අතිරේක මොඩියුල සම්මත පුස්තකාල වලින් සම්බන්ධ කිරීම අවුලුවන. -U අතිරේකව නිර්වචනය කළ සංකේත ඇතුළු කිරීමට විවිධ විකල්ප පරාමිතීන් සමඟ නැවත නැවතත් කළ හැකිය. මෙම විකල්පය "EXTERN" linker script විධානයට සමාන වේ.

-Ur

C ++ වැඩසටහන් හැර වෙන කිසිවක් සඳහා, මෙම විකල්පය සමාන වන්නේ -r : එය ප්රතිස්ථාපනය කළ ප්රතිදාන ජනනය කරයි - එනම්, ld සඳහා යෙදවුම් ලෙස යෙදවිය හැකි ප්රතිදාන ගොනුවකි. C ++ වැඩසටහන් සම්බන්ධ කිරීමේදී, -Ur , constructors සඳහා යොමු කිරීම් නිරාකරණය කරති. එය භාවිතා කිරීමට වැඩ නොකරන-ඔවුන් සමග සම්බන්ධ වූ ගොනු මත -Ur ; කොන්ත්රාත් වගුව ඉදි කර ඇති පසු එය එකතු කළ නොහැකිය. අන්තිම අර්ධ සම්බන්ධතාවය සඳහා -Ur පමණක් භාවිතා කරන්න.

- unique [= කොටස් ]

එක් එක් ආදාන අංශයට ගැලපෙන සෑම ආදාන අංශයක් සඳහා වෙනමම ප්රතිදාන කොටසක් නිර්මාණය කරයි. නැතහොත් විකල්ප ආදේශක කොටස් අනුපිළිවෙල අතුරුදන් වනුයේ සෑම අනාථ ආදාන කොටසක් සඳහාම. අනත්දරු කොටස යනු සම්බන්ධක කේත රචනයක් තුල විශේෂයෙන් සඳහන් කර නැත. ඔබට මෙම විධාන පෝරමය පේලියෙහි කිහිප වතාවක් භාවිතා කළ හැකිය; එමඟින්, ආදාන කොටස් එක්වරම එකම නාමයක් සමඟ ඒකාබද්ධ කිරීම, සබැඳි තිර පිටපතෙහි ප්රතිදාන කොටස් පැවරුම්වල ප්රමුඛතාවයන් වළක්වයි.

-v

--පිටපත

-V

Ld සඳහා වන අනුවාද අංකය පෙන්වීම. -V විකල්පය ද සහාය දක්වන ලද සන්නිවේදනයන් ලැයිස්තුගත කරයි.

-x

- සියල්ලම

සියළුම දේශීය සංකේත මකා දමන්න.

-X

- ප්රාදේශීය ජනතාව

සියලුම තාවකාලික දේශීය සංකේත ඉවත් කරන්න. බොහෝ ඉලක්ක සඳහා, මෙම නාමයන් L යනුවෙන් ආරම්භ වන සියලුම සංකේත වේ.

-y සංකේතය

--trace-symbol = සංකේතය

එක් එක් සබැඳි ගොනුවෙහි නම දර්ශනය වන නම මුද්රණය කරන්න. මෙම විකල්පය ඕනෑම වාර ගණනක් ලබා දිය හැකිය. බොහෝ පද්ධතිවල අවධාරණය කිරීම සඳහා අවශ්ය වේ.

ඔබේ සබැඳිය තුළ අනිශ්චිත සංකේතයක් තිබියදී මෙම විකල්පය ප්රයෝජනවත් වේ. එහෙත් යොමු යොමු කරන්නේ කොහෙන්දැයි නොදන්නේ ය.

-ඔයා මාර්ගය

පෙරනිමි පුස්තකාල සෙවුම් මාර්ගය වෙත මාර්ගය එකතු කරන්න. Solaris අනුකූලතාව සඳහා මෙම විකල්පය පවතී.

-z මූල පදය

පිළිගත් මූලික වචන "initfirst", "interpose", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "now", "origin", "combreloc", "nocombreloc" සහ "nocopyreloc" ". අනෙක් මූලධර්ම Solaris අනුකූලතාව සඳහා නොසලකා හරිනු ලැබේ. "initfirst" යනු වෙනත් වස්තූන් ඉදිරියෙන් ප්රථම වතාවට ධාවනය ආරම්භ කරන ලද වස්තුවයි. සියළුම සංකේත වලට පෙර එහි සංකේතාංකක තීරයට පෙරළෙන වස්තුවේ මූලිකවම ක්රියාත්මක කළ හැකි බව සලකන "interpose" සලකුණු කරයි, "loadfltr" එහි ක්රියාවලියේදී ක්ෂණිකව ධාවනය කල යුතු වේලාව නිරීක්ෂණය කරනු ලැබේ. "nodefaultlib" මෙම වස්තුවේ විචල්යතාවයන් මඟහරිනු ඇත පෙරනිමි පුස්තකාල සෙවුම් මාර්ග. "nodelete" සලකුණු වස්තුවේ ධාවනය සිදු නොකළ යුතු ය. "nodlopen" යනු "ඩ්ලොපන්" වලට නොලැබෙන වස්තුව සලකුණු කරයි. "nodump" සලකුණු වස්තුව විසින් "dldump" මගින් ඉවත් කළ නොහැක. "දැන්" වස්තුවේ නොපැහැදිලි ධාවන කාල නියමය සමඟ සලකුණ සලකුණු කරයි. "සම්භවය" සලකුණු වස්තුවෙහි අඩංගු වන්නේ $ ORIGIN. "Defs" නොතිබූ සංකේත ප්රතික්ෂේප කරයි. "muldefs" බහු අර්ථ දැක්වීම් වලට ඉඩ දෙයි. "කැළලක්" විවිධාකාර රැලික කොටස් ඒකාබද්ධ කරයි, ගතික සංකේතය සොයා බැලීමේ හැකියාවක් ලබා ගැනීමට ඒවා සකස් කරයි.

"nocombreloc" සංයෝජනය කිරීම සඳහා විවිධාකාර නැවත පදිංචි කිරීමේ අංගයන් අක්රීය කරයි. "nocopyreloc" පිටපත් නැව් නිෂ්පාදනය කිරීම අබල කරයි.

- ( ලේඛනාගාර )

- ආරම්භක කණ්ඩායම් සංරක්ෂිත --end-group

සංරක්ෂිත ලේඛන සංරක්ෂක ගොනු ලැයිස්තුවක් විය යුතුය. ඒවා විශේෂිත ගොනු නාමයන් විය හැකිය, නැතහොත් -l විකල්පයන් විය හැක.

නව නිර්වචනය නොකරන ලද යොමු කිරීම් නිර්මාණය නොකරන තුරු නිශ්චිත සංරක්ෂණ ලේඛන නැවත නැවත පරීක්ෂා කරනු ලැබේ. සාමාන්යයෙන්, සංරක්ෂිතයේ එය විධාන රේඛාවේ නිශ්චිතව දැක්වෙන පිළිවෙලට එක් වරක් පමණි. එම සංරචකයේ ඇති සංකේතයක් පසුව විධාන රේඛාවේ දැක්වෙන සංරක්ෂිතයේ වස්තුවක් විසින් නිරූපිත නොවූ සංකේතයක් නිරාකරණය කරගතහොත්, එම සම්බන්ධකය විසඳා ගැනීමට නොහැකි වනු ඇත. සංරක්ෂිත ලේඛනගත කිරීම මගින් සියලු යොමු දැක්වීම් විසඳා ගත හැකි වන තෙක් සියලු දෙනා නැවත නැවත පරීක්ෂා කරනු ලැබේ.

මෙම විකල්පය භාවිතා කිරීම සැලකිය යුතු කාර්යසාධන පිරිවැයක් දරයි. එය භාවිතා කිරීම වඩාත් සුදුසු වන්නේ ලේඛනාගාර දෙකක් හෝ ඊට වඩා වැඩි ගණනක් අතර අනිවාර්ය චක්රලේඛන යොමු කිරීමේදී පමණි.

- ප්රවේශය-නොදන්නා-ආදාන-arch

--not-accept-unknown-input-arch

නිර්මාණ ශිල්පයට හඳුනාගත නොහැකි ආදාන ගොනු අනුමත කිරීමට සබැදන්නාට පවසනු ඇත. උපකල්පනය කරන්නේ පරිශීලකයා කරන්නේ කුමක්දැයි දන්නා සහ මෙම නොදන්නා ආදාන ගොනු වල සම්බන්ධ වීමට හිතාමතාම අවශ්ය වේ. 2.14 නිකුත් කිරීමට පෙර linker හි පෙරනිමි හැසිරීම මෙය විය. 2.14 නිකුත් කරන ලද පෙරනිමි හැසිරීම එවන් ආදාන ගොනු ප්රතික්ෂේප කිරීමයි. එබැවින් පැරණි හැසිරීම නැවත ස්ථාපනය කිරීම සඳහා -accept-unknown-input-arch විකල්පයක් එකතු කර ඇත.

-assert keyword

මෙම විකල්පය SunOS අනුකූලතාව සඳහා නොසලකා හරිනු ලැබේ.

-බිමනාක්

- ඔව්

-call_shared

ගතික පුස්තකාලවලට සම්බන්ධ වන්න. හවුල් පුස්තකාල සඳහා සහාය දක්වන වේදිකා වල මෙය අර්ථවත් වේ. මෙම විකල්පය සාමාන්යයෙන් එවැනි වේදිකා මත පෙරනිමිය. මෙම විකල්පයේ විවිධ ප්රභේද විවිධ පද්ධති සමඟ ගැළපීම සඳහා වේ. ඔබට මෙම විධානය මඟින් විධාන රේඛාවේ කිහිප වතාවක් භාවිතා කළ හැකිය: එය අනුගමනය කරන විකල්පයන් -l විකල්පයන් සඳහා පුස්තකාල සෙවීම බලපායි.

- කණ්ඩායම්

"DF_1_GROUP" ධජය, "DT_FLAGS_1" ඇතුළත් කොටසේ ගතික කොටසෙහි ඇතුළත් කරන්න. මෙම වස්තුවේ ධාවන කාලය ලින්ක්කරු විසින් මෙම වස්තුවේ සොයා බැලීම සහ එහි පරායත්තාවන් පමණක් සිදු කළ යුතු වේ. - undefined යනු ගම්ය වේ. මෙම විකල්පය පුස්තකාල බෙදාහරින ELF වේදිකා මත පමණක් අර්ථවත් වේ.

-ස්ථා

- ඩී

-non_shared

ස්ථාවරයි

හවුල් පුස්තකාල වලට සම්බන්ධ නොවන්න. හවුල් පුස්තකාල සඳහා සහාය දක්වන වේදිකා වල මෙය අර්ථවත් වේ. මෙම විකල්පයේ විවිධ ප්රභේද විවිධ පද්ධති සමඟ ගැළපීම සඳහා වේ. ඔබට මෙම විධානය මඟින් විධාන රේඛාවේ කිහිප වතාවක් භාවිතා කළ හැකිය: එය අනුගමනය කරන විකල්පයන් -l විකල්පයන් සඳහා පුස්තකාල සෙවීම බලපායි.

- බ්ලොම්බික්

හවුල් පුස්තකාලයක් සෑදීමේදී, ගෝලීය සංකේත වලට සබැඳි පුස්තකාලය තුළ අර්ථ දැක්වීම සඳහා යොමුවන්න. සාමාන්යයෙන්, පොදු පුස්තකාලය තුළ නිර්වචනය අභිභවා ශුන්ය පුස්තකාලයකට සම්බන්ධ කළ වැඩ සටහනක් සඳහා හැකි ය. මෙම විකල්පය පුස්තකාල බෙදාහරිනු ලබන ELFplatforms මත පමණක් අර්ථවත් වේ.

--check-sections

--not-check-sections

කිසියම් අතිච්ඡාදනයක් තිබේදැයි බැලීමට අනුයුක්ත කර ඇති පසු ලිපිනයන් පරීක්ෂා කිරීම නොකළ යුතු ය. සාමාන්යයෙන් මෙම සබැඳිය මෙම පරීක්ෂාව සිදු කරනු ඇත, එය ඕනෑම අතිච්ඡාදනයක් සොයාගතහොත් එය සුදුසු දෝෂ පණිවිඩ නිෂ්පාදනය කරනු ඇත. ලින්කර් ගැන දැන සිටීම හා කොටස්වල කොටස් සඳහා දීමනා ලබා දෙයි. විධාන රේඛා ස්විච්ඡය භාවිතයෙන් --check-sections භාවිතා කිරීමෙන් ප්රකෘති හැසිරීම ප්රතිෂ්ඨාපනය කළ හැකිය.

- CRF

හරස් යොමු වගුවක් නිපදවන්න. සබැඳි සිතියම් ගොනුව උත්පාදනය කරන්නේ නම්, හරස් යොමු වගුව සිතියම් ගොනුව වෙත මුද්රණය කර ඇත. එසේ නොමැති නම්, එය සම්මත නිමැවුම මත මුද්රණය කර ඇත.

මේසයේ ආකෘතිය සරළ ලෙස සරල වන අතර එය අවශ්ය නම් තිරපිටපතක් මඟින් එය පහසුවෙන් සැකසිය හැකිය. සංකේත මුද්රණය කොට, නම අනුව වර්ගීකරණය කර ඇත. එක් එක් සංකේත සඳහා ගොනු නාම ලැයිස්තුවක් ලබා දෙනු ලැබේ. සංකේත අර්ථ දක්වනු ලබන්නේ නම්, පළමු ලැයිස්තුගත කර ඇති අර්ථ දැක්වීමෙහි පිහිටීම වේ. ඉතිරි ලිපිගොනු සංකේතයට යොමු දක්වයි.

--not-define-common

මෙම විකල්පය පොදු සංකේත වලට ලිපින පැවරීම වළක්වයි. විධාන ආචරනය "INHIBIT_COMMON_ALLOCATION" යන විචල්ය විධානයම සමාන වේ.

--no-define-common විකල්ප මඟින් නිමැවුම් ගොනුවේ වර්ගය තේරීමෙන් පොදු සංකේත වලට ලිපින පැවරීමේ තීරණය නොසලකා හැරීමට ඉඩ දෙයි; එසේ නොමැතිව ප්රතිස්ථාපනය කළ නොහැකි ප්රතිදාන වර්ගය පොදු සංකේත වලට ලිපින ලබා දීම බල කෙරේ. --no-define-common මඟින් භාවිතා කරන ලද පොදු පුස්තකාලයකින් ප්රධාන ලිපින වලට පමණක් භාවිතා කරන ලිපිනයන් සඳහා පොදු සංකේත භාවිතා කරයි. මෙම හවුල් පුස්තකාලයේ භාවිතා නොකරන ලද අනුපිටපත් අවකාශය අක්රිය කරන අතර, runtime සංකේතාංකනය සඳහා විශේෂිත සෙවුම් මාර්ග සහිත බොහෝ ගතික මොඩියුල ගණනාවක් ඇති විට වැරදි අනුපිටපත නිරාකරණය කර ගැනීම පිළිබඳ ව්යාකූලත්වය වළක්වයි.

--defsym symbol = ප්රකාශනයකි

ප්රකාශිත ගොනුව තුල ගෝලීය සංකේතයක් නිර්මාණය කිරීම, ප්රකාශනය ලබා දෙන නිරපේක්ෂ ලිපිනයක් අඩංගු වේ. ඔබට විධාන රේඛාවේ ඇති බොහෝ සංකේත අර්ථ දැක්වීමට අවශ්ය පරිදි මෙම විකල්පය ඔබට අවශ්ය පරිදි බොහෝ වේ. මෙම සන්දර්භය තුළ සීමිත ආකාරයක ගණිත ආකෘතියක් සනාථ කර ඇත: ඔබට hexadecimal නියතයක් හෝ පවතින සංකේත නාමයක් හෝ "+" සහ "-" භාවිතා කළ හැක. Hexadecimal constants හෝ සංකේත එකතු කිරීම හෝ අඩු කිරීම. ඔබට වඩාත් පරිපූර්ණ ප්රකාශයන් අවශ්ය නම්, සබැඳි විධාන පුරුක කේත රචනය භාවිතා කරමින් ස්ක්රිප්ට් එකක් භාවිතා කරන්න. සටහන: සංකේත අතර සුදු පැහැති අවකාශයක් තිබිය යුතු අතර සමාන ලකුණ (`` = '') සහ ප්රකාශනය තිබිය යුතුය.

--demangle [= විලාසය ]

- නොකියැව

මෙම විකල්පයන් වැරදි පණිවුඩ සහ වෙනත් නිමැවුම් වල සංකේතාක නාමයන් ඉවත් කර තිබේද යන්න පාලනය කරයි. ලින්කර් අමුණන විට එය කියවන විට එය කියවිය හැකි ආකාරයෙන් සංකේත නාමයන් ඉදිරිපත් කිරීමට උත්සහ කරයි: වස්තුව ගොනු ආකෘතිය මඟින් ඒවා භාවිතා කරන්නේ නම් එය සලකුනු කරයි, සහ C ++ අවලංගු සංකේත නාමයන් පරිශීලක කියවිය හැකි නම් බවට පරිවර්තනය කරයි. විවිධ සංයුක්තකාරකවල විවිධාකාර හැසිරීම් රටා ඇත. වෛකල්පිත විචල්ය තර්කය ඔබේ පරිවර්තකය සඳහා සුදුසු නිශ්චල ශෛලියක් තෝරා ගැනීමට භාවිතා කළ හැකිය. පාරිසරික විචල්යය COLLECT_NO_DEMANGLE සැකසීමෙන් තොරව, සබැඳිය පෙරනිමියෙන් පරස්පර වේ. මෙම විකල්පයන් පෙරනිමි පරාමිතය අභිබවා යෑමට යොදාගත හැක.

- ද්විමාන-linker ගොනුව

ගතික සම්බන්ධකයේ නම සකසන්න. මෙය ගණිතමයව සම්බන්ධිත ELF ක්රියාත්මක කරන විට උත්පාදනය කිරීමේ දී අර්ථවත් වේ. ප්රකෘති ඩිජිටල් ඈදුම්කාරකය සාමාන්යයෙන් නිවැරදි වේ; ඔබ මෙය කරන්නේ කුමක් ද යන්න මිස, මෙය භාවිතා නොකරන්න.

- එක්ස්-ඩේවිඩ්ස්

මෙම විකල්පය, GNU සම්පාදකයා සහ එක්ස්චේලර් වෙත -membedded-pic විකල්පය විසින් ජනනය කරන ලද MIPS ආකෘතියේ PIC කේතය සම්බන්ධ කිරීම පමණක් අර්ථවත් වේ. ලින්ක්කරු විසින් දර්ශක අගයන් සඳහා ස්ථිතික ආරම්භනය කරන ලද ඕනෑම දත්තයක් නැවත ස්ථානගත කිරීම සඳහා ධාවන කාලය භාවිතා කළ හැකි වගුවක් නිර්මාණය කරයි. විස්තර සඳහා testuite / ld-empic හි කේතය බලන්න.

- මරණ-අනතුරු ඇඟවීම්

සියළු අනතුරු ඇඟවීම් වැරදි ලෙස සලකන්න.

--force-exe-suffix

ප්රතිදාන ගොනුවක් තිබේ .exe suffix එකක් ඇති බවට වග බලා ගන්න.

සාර්ථක ලෙස සකසන ලද සම්පූර්ණ සම්බන්ධිත ප්රතිදාන ගොනුවක් " .exe " හෝ " .dll " suffix එකක් නොමැති නම්, මෙම විකල්පය, ප්රතිදාන ගොනුව ".exe" suffix එකක් සමඟ එකම පිටපත පිටපත් කිරීමට සබැඳිය බල කරයි. මෙම විකල්පය ප්රයෝජනවත් වන්නේ Unix මාක්ස්ෆයිල්ස් භාවිතා නොකරන විට මයික්රොසොෆ්ට් වින්ඩෝස් ධාරකය භාවිතා කරන විට, සමහර වින්ඩෝස් වින්ඩෝස් එය ".exe" suffix එකක් අවසන් නොකළ හොත් අනුරුවක් නො වේ.

--no-gc-කොටස්

--gc-කොටස්

භාවිතයට නොගත් ආදාන කොටස් කසළ එකතු කිරීම. මෙම විකල්පයට සහාය නොදක්වන ඉලක්ක මත එය නොසලකා හරියි. මෙම විකල්පය -r සමඟ අනුකූල නොවේ, එය ගතික සබැඳුම සමඟ භාවිතා නොකළ යුතුය. විධාන රේඛාවේදී --no-gc-sections නියම කිරීම මගින් ප්රකෘති හැසිරීම (මෙම කසළ එකතු නොකරයි) ප්රතිස්ථාපනය කළ හැකිය.

--උදව්

සම්මත නිමැවුම් සහ විධානවල විධාන රේඛා විකල්පයන් සාරාංශගත කරන්න.

- උදව්වෙන්

සම්මත නිමැවුම් හා පිටවීමේ සියලු ඉලක්කගත විශේෂිත විකල්පයන්ගේ සාරාංශය මුද්රණය කරන්න.

සිතියම් සිතියම

සබැඳි සිතියම mapfile ගොනුවට මුද්රණය කරන්න . -M විකල්පය ඉහත විස්තරය බලන්න.

- මතක තබා ගන්න

සාමාන්යයෙන් ld memory මතකයේ සංකේතාංකක වගු සංචිතය මගින් මතක භාවිතය සඳහා වේගවත් කිරීම සඳහා ප්රශස්තිකරණය කරයි. මෙම විකල්පය ld ලෙස අවශ්ය වන පරිදි සංකේත වගු නැවත කියවීම මගින් මතක භාවිතය සඳහා උපරිම ලෙස භාවිතා කරයි. Ldd විශාල කාර්යසාධනයකට සම්බන්ධ වන විට මතක අවකාශයෙන් ඉවතට යාමේදී මෙය අවශ්ය විය හැකිය.

- undefined

-z defs

සාමාන්යයෙන් සංකේතාත්මක නොවන පොදු පුස්තකාලයක් නිර්මාණය කරන විට අනාරක්ෂිත සංකේතවලට ඉඩ ලබාදිය යුතු අතර රාමුසමන උපකරණය මඟින් විසඳා ගත යුතු වේ. මෙම විකල්පයන් නිර්වචනය නොකරන ලද සංකේත ප්රතික්ෂේප කරයි.

- බොහෝ-බහු-නිර්වචනය

- z muldefs

සාමාන්යයෙන් සංකේතයක් කිහිප වතාවක් නිශ්චිතව දක්වා ඇති විට, සම්බන්ධකය විසින් මාරක දෝෂයක් වාර්තා කරනු ඇත. මෙම විකල්පයන් බහු අර්ථ දැක්වීම් සහ පළමු අර්ථ දැක්වීම භාවිතා කරනු ලැබේ.

--allow-shlib-undefined

- undefined සැකසූ විට පවා පොදු අරමුණු වල නොතිබූ සංකේතවලට ඉඩ දෙන්න. නිත්ය ප්රතිඵලය වනු ඇත්තේ නිත්ය වස්තු වල නිර්වචනය නොකරන ලද නිරූපකය තවමත් දෝෂයක් ඇතිවන නමුත් හවුල් වූ වස්තු වල නොතිබූ සංකේත නොසලකා හරිනු ඇත. නොම්මර සැකසීම ක්රියාත්මක කිරීම නිර්වචනය කළ සංකේත මත රඳවන සම්බන්ධකය ඈඳාගන්නා බවට උපකල්පනය කරයි. කෙසේ වෙතත් වත්මන් ආකෘතියට වඩාත් ගැලපෙන කුමන කර්තව්යයක් තෝරාගැනීම සඳහා කර්නලය මත පැටවීමෙහිදී කර්නලය පැටවූ විට අවම වශයෙන් එක් පද්ධතියක් (BeOS) යනු පොදු පුස්තකාල වල නොතිබූ සංකේත සාමාන්ය වේ. IE ගතිකව තෝරාගැනීම සඳහා සුදුසු ක්රමවේදයක් තෝරාගන්න. පෙනෙන ආකාරයට HPPA බෙදාහදාගත් පුස්තකාලවල අනිශ්චිත සංකේත ඇති කිරීම සාමාන්ය දෙයක්.

- undefined-අනුවාදය

සාමාන්යයෙන් සංකේතයක් යනු අනිශ්චිත අනුවාදයක් වන විට, එය සබැඳිව එය නොසලකා හරිනු ඇත. මෙම විකල්පය නිර්දිෂ්ට අනුවාදයක් සහිත සංකේතවලට බාධාවක් නොවන අතර ඒ වෙනුවට මාරක දෝෂයක් නිකුත් කරනු ලැබේ.

- අනතුරු ඇඟවීම-නොගැලපීම

සාමාන්යයෙන් ld මඟින් කිසියම් හේතුවක් මත නොපැහැදූ ආදාන ගොනු එකට බැඳීමට උත්සාහ කරන්නේ නම්, ඒවා විවිධ සැකසුම් සඳහා හෝ විවිධ වෙනස්කම් සඳහා සකස් කර ඇති බැවිනි. මෙම විකල්පය කියවෙන්නේ එවැනි නිශ්ශබ්දතාවයක් නිහඬව අවසර දිය යුතු බවයි. මෙම විකල්පය පමණක් සැලකිල්ලට ගත යුතු වන්නේ, සබැඳි වැරදුනුවන් නුසුදුසු බවට වගබලා ගැනීම සඳහා විශේෂ ක්රියාමාර්ගයක් ගෙන ඇති අවස්ථාවන්හිදී.

- පූර්ණ-සංරක්ෂණයකි

පසු කාලීන සංරක්ෂණ ගොනු සඳහා - සම්පූර්ණ සංරක්ෂණ විකල්පය බලපෑම අක්රිය කරන්න.

- නොසැළකින්න-exec

එය තවමත් භාවිත කළ හැකි විට ක්රියාත්මක කළ හැකි ප්රතිදාන ගොනුව රඳවා ගන්න. සාමාන්යයෙන්, සබැඳි ක්රියාවලියේදී දෝශ නිරෝධනය වන නම්, සබැඳිය ප්රතිදාන ගොනුව නිෂ්පාදනය නොකරනු ඇත; එය යම්කිසි දෝෂයක් නිකුත් කරන විට ප්රතිදාන ගොනුව ලියන විට එය පිටවෙයි.

-ලැඩ්ලිබ්

විධාන පුවරුවේ සෙවුම් පුස්තකයන් සෙවීමට පමණක් සෙවුම් කරන්න. ලින්ක්සර් ස්ක්රිප්ට් වල සඳහන් වන පුස්තකාල බහලුම් (විධාන රේඛාවේ නිශ්චිතව දක්වා ඇති සබැඳි විධානාවලි ඇතුළුව) නොසලකා හරිනු ලැබේ.

- oformat ප්රතිදාන-ආකෘතිය

ld විස්තාර ගොනුවක් එක් වර්ගයකට වඩා වැඩි ගණනක් සඳහා වින්යාසගත කළ හැක. ඔබගේ ld මෙම ආකාරයෙන් වින්යාස කර ඇත්නම්, ඔබට ප්රතිදාන වස්තු ගොනුව සඳහා ද්වීමය ආකෘතිය නියම කිරීමට --oformat විකල්පය භාවිතා කළ හැකිය. විකල්ප ආකෘති ආකෘති සඳහා ld සැකසූ විට පවා ඔබ මෙය නිශ්චිතවම නියම කර නොතිබුණද , සෑම පරිගණකයකම සාමාන්ය ආකාරයේ ආකෘතිය ලෙස ප්රකෘති නිමැවුම් ආකෘතියක් ලෙස නිපදවා තිබිය යුතුය. නිමැවුම්-ආකෘතිය යනු පාඨ මාලාවකි, BFD පුස්තකාල විසින් සපයන ලද විශේෂිත ආකෘතියක නමකි. (ඔබ විසින් objdump -i සමඟ පවතින ද්වීමය ආකෘති ලැයිස්තුගත කළ හැක.) විධානාවලි විධානය "OUTPUT_FORMAT" මඟින් නිමැවුම් ආකෘතියට නියම කල හැක, නමුත් මෙම විකල්පය පෙරසැකසනු ලැබේ.

- ක්මාග්

ලිනක්ස් අනුකූලතාව සඳහා මෙම විකල්පය නොසලකා හැර ඇත.

- ක්

SVR4 අනුකූලතාව සඳහා මෙම විකල්පය නොසලකා හැර ඇත.

--සන්සුන් වන්න

යාන්ත්රිකව යැපෙන බලපෑමක් සහිත විකල්පයක්. මෙම විකල්පය ඉලක්ක කිහිපයක් පමණි.

සමහර වේදිකාවලදී, --relax විකල්පය ගෝලීය ප්රශස්තිකරණ ක්රියාත්මක වන අතර එමගින් සබැඳිය යෙදුම විසුරුවා හරින විට ලිපිනය සැකසීමේදී සහ නිමැවුම් වස්තු ගොනුවේ නව උපදෙස් අනුපිළිවෙලින් ක්රියා කරයි.

සමහර වේදිකාවලදී මෙම සම්බන්ධතා කාලය ගෝලීය ප්රශස්තිකරණය මඟින් ප්රතිඵලයක් ලෙස ක්රියාත්මක විය නොහැකි කාර්ය සාධක දෝෂහරණයන් සිදු කරනු ඇත. මෙය Matsushita MN10200 සහ MN10300 ප්රොසෙසරයේ පවුලට අදාල වේ.

මෙය සහාය නොදක්වන වේදිකා මත, --relax පිළිගත හැකි නමුත් නොසලකා හරිනු ඇත.

--retain-symbols-file ගොනු නාමය

ලිපිගොනු නාමලේඛනයෙහි ලැයිස්තුගත කර ඇති සංකේත පමණක් ඉතිරිව තිබිය යුතුය. ගොනු නාමය හුදෙක් පැතලි ගොනුවක් වන අතර, රේඛාව සඳහා එක් සංකේතාක නමක් ඇත. මෙම විකල්පය විශේෂයෙන් ප්රයෝජනවත් වන (VxWorks වැනි) විශේෂයෙන් ප්රයෝජනවත් වේ. විශාල ගෝලීය සංකේතාංකක වගුව ක්රමානුකූලව එක්රැස් කර ගත හැකි මතකය සංරක්ෂණය කිරීම ක්රමිකව වැඩිවේ.

--retain-symbols-file නොතිබූ සංකේත, හෝ නැවත ස්ථානගත කිරීම සඳහා අවශ්ය සංකේත ඉවත් නොකරයි.

ඔබට විධාන රේඛාවේ එක් වරක් --retain-symbols-file යන්න නියම කළ හැකිය. එය පරදියි -s සහ -S .

-පට්ත් ඩීර්

Runtime පුස්තකාල සෙවුම් මාර්ගයට ඩිරෙක්ටරයක් ​​එකතු කරන්න. හවුල් වූ වස්තූන් සමඟ ELF අනුසාරයෙන් සම්බන්ධ කළ විට මෙය භාවිතා වේ. සියලු -rpath පරාමිතීන් සංකේතාත්මක වන අතර ක්රියාත්මක කරන ලද වස්තූන්හි ස්ථානගත කිරීම සඳහා ඒවා භාවිතා කරනු ලබයි. සබැඳි වස්තූන් නිරවද්ය ලෙස ඇතුලත් කර ඇති හවුල් වස්තු සොයන විට -rpath විකල්පය භාවිතා වේ; -rpath-link විකල්පය විස්තරය බලන්න. ELF ක්රියාත්මක කළ හැකි විටදී -rpath භාවිතා නොකෙරේ නම්, එය අර්ථදක්වා ඇත්නම් පාරිසරික විචල්යයේ "LD_RUN_PATH" අන්තර්ගතය භාවිතා කරනු ලැබේ.

-rpath විකල්පය SunOS මතද භාවිතා කල හැක. සුපුරුදු ලෙසින්, SunOS හි, සබැඳිය විසින් ලබා දී ඇති සියලු -L විකල්පයන් අතරින් ක්රියාත්මක වේ. -rpath විකල්පය භාවිතා කරන්නේ නම්, -L විකල්පයන් නොසලකා හරිමින්, -time විකල්ප භාවිතයෙන් ක්රියාත්මක වේ. මෙය GCC භාවිතා කරන විට ප්රයෝජනවත් විය හැකිය. NFS සවි කළ ගොනු පද්ධති මත තිබිය හැකි -L විකල්පයන් එකතු කරනු ලබයි.

අනෙකුත් ELF සබැඳිකරුවන් සමඟ ගැලපීම සඳහා -R විකල්පය අනුගාමික නාම නාමයක් වන අතර, ගොනු නම වෙනුවට, එය -rpath විකල්පය ලෙස සැලකේ .

-rpath-link DIR

ELF හෝ SunOS භාවිතා කරන විට, එක් පොදු පුස්තකාලයකට තවත් එකක් අවශ්ය විය හැකිය. මෙය සිදු වන්නේ "ld -shared" සබැඳියක් ආදාන ගොනු වලින් එකක් ලෙස හවුල් පුස්තකාලයක් තුළටයි.

හුවමාරුකරු එවැනි හවුල්කාරීත්වයක් නොපවතින, නොපෙනෙන හැකි සබැඳියක සිදු කරන විට, එම ඇබ්බැහි වීම මුහුන දෙයි නම් එය අවශ්ය වූ බෙදාගත් පුස්තකාලයක් සොයාගත යුතු අතර, එයට ඇතුලත් නොකෙරේ නම්, සබැඳිය තුළ එය ඇතුලත් කරන්න. එවැනි අවස්ථාවකදී, -rpath-link විකල්පය සෙවීමට සෙවුම් බ්ලොක් පළමු කට්ටලය නියම කරයි. -rpath-link විකල්පය මඟින් කොලනින් වෙන් කරන ලද නාම ලැයිස්තුවක් ලැයිස්තුගත කිරීම හෝ කිහිප වතාවක්ම දර්ශනය කිරීමෙන් නාමාවලියේ නාම අනුක්රමය නියම කළ හැකිය.

මෙම විකල්පය පුස්තකාලයක් තුලට සංකීර්ණ ලෙස සකස් කර ඇති සෙවුම් මාර්ගයෙන් පරෙස්සමෙන් භාවිතා කළ යුතුය. එවැනි අවස්ථාවකදී, රාමුව සම්බන්ධකයකුට වඩා අනවශ්ය ලෙස සෙවුම් මාර්ගයක් භාවිතා කිරීමට හැකියාව තිබේ.

සබැදි අවශ්ය පොදු බෙදාහරින පුස්තකයන් සොයා ගැනීමට පහත සඳහන් සෙවුම් මාර්ග භාවිතා කරයි.

1.

-rpath-link විකල්ප මඟින් නිශ්චය කර ඇති බහලුම්.

2.

-rpath විකල්ප මඟින් නිශ්චය කර ඇති බහලුම් . -rpath සහ -rpath-link අතර ඇති වෙනස වන්නේ -rpath විකල්ප මඟින් නියම කරන ලද බහලුම් වේ, ක්රියාත්මක කළ හැකි සහ ක්රියාත්මක වන අවස්ථාවන්හිදී භාවිතා වන අතර, -rpath-link විකල්පය සබැඳීමේ වේගය පමණක් ක්රියාත්මක වේ. එය දේශීය සබැඳියාව සඳහා පමණි.

3.

ELF පද්ධතියක් මත -rpath සහ "rpath-link" විකල්ප භාවිතා නොකළේ නම්, පාරිසරික විචල්යයේ අන්තර්ගතය සොයන්න "LD_RUN_PATH". එය දේශීය සබැඳියාව සඳහා පමණි.

4.

SunOS මත, -rpath විකල්පය භාවිතා නොකළේ නම්, -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 හි, සබැඳිය ස්වයංක්රීයවම -e විකල්පයක් භාවිතා නොකරනවා නම් හා සබැඳි පුස්තකාලය ස්වයංක්රීයවම පුස්තකාලයක් නිර්මාණය කරයි. සබැඳියේ නොතිබූ සංකේත වේ.

- සොරකම්-පොදු

මෙම විකල්පය මඟින් ld සඳහා සුදුසු සංකේතා්න කොටස් තුල ඒවායේ සාමාන්ය සංකේත වර්ග කිරීමට නියමිතය. මුලින්ම සියලු බයිටීය සංකේත, ඉන්පසු සියලු බයිට්, සියල්ලම බයිටේ 4 සහ අනෙක් සියල්ලම පැමිණේ. මෙය සංලක්ෂිත බාධාවන් හේතුවෙන් සංකේත අතර ඇති අඩුපාඩු වළක්වා ගැනීමයි.

--split-by-file [ ප්රමාණය ]

--split-by-reloc ට සමාන නමුත්, ප්රමාණය එක් එක් ආදාන ගොනුව සඳහා නව ප්රතිදාන කොටස නිර්මාණය කරයි. ප්රමාණයේ අගය 1 ට නොකෙරේ නම් එය ප්රමාණවත්ය.

--split-by-reloc [ count ]

ගොනුවේ එක් තනි ප්රතිදානයේ කොටස සංඛ්යා නැවත ස්ථානගත කිරීමකට වඩා වැඩි ප්රමාණයක් සඳහා ප්රතිදාන ගොනුවේ අමතර කොටස් නිර්මාණය කරයි. මෙය COFF වස්තුවේ ආකෘතිය සමඟ නිශ්චිත වේලාවක කර්නල් වෙත බාගැනීම සඳහා විශාල ප්රතිස්ථාපිත ගොනු උත්පාදනය කිරීමේදී ප්රයෝජනවත් වේ; COFFcannot එක් අංශයකින් 65535 වඩා ස්ථාන මාරු කිරීම් වලින් නියෝජනය වේ. අම්බලම අංශවලට සහාය නොදෙන වොස්ෙතල් ගොනු ආකෘති සමඟ කටයුතු කිරීමට අසමත් වන්න. ලින්ඩර් එක් එක් යෙදවුම් අංශයන් නැවත බෙදාහැරීම සඳහා වෙන් කරනු නොලබනු ඇත. එබැවින් තනි ආදාන කොටසක සංඛ්යා නැවත ස්ථානගත කිරීමකට වඩා වැඩි සංඛ්යාවක් අඩංගු වේ නම් එක් ප්රතිදාන කොටසක් එම නැවත ස්ථානගත කිරීම අඩංගු වේ. පෙරනිමි අගයන් 32768 දක්වා අගයක් ගනී.

--stats

ලයිනර්ගේ ක්රියාකාරිත්වය පිළිබඳ සංඛ්යා ලේඛන ගණනය කිරීම සහ ප්රදර්ශනය කිරීම, වැනි කාර්යන් වේගය හා මතක භාවිතය වැනි.

- පාරම්පරික හැඩතලය

සමහර ඉලක්ක සඳහා, ld හි ප්රතිදානය ඇතැම් දැනට පවතින සම්බන්ධකයක නිමැවුම් වලින් සමහරක් වෙනස් වේ. මෙම ස්විචය වෙනුවට සාම්ප්රදායික ආකෘතිය භාවිතා කිරීමට ld භාවිතා කරයි.

නිදසුනක් ලෙස, SunOS මත, ld සංකේතාංකක string වගුවේ අනුපිටපත් ඇතුලත් කර ගනී. සම්පූර්ණ විභේදන තොරතුරු සමග සියයට 30 කට වඩා වැඩි ප්රතිදාන ගොනුවක් විශාලත්වය අඩු කර ගත හැකිය. අවාසනාවකට මෙන්, සෝස්ඕස් "dbx" වැඩසටහන ප්රතිඵල ප්රතිඵලය කියවිය නොහැක ("gdb" කරදරයක් නැත). - සාම්ප්රදායික ආකෘතියේ ස්විචය Ld කියවීමට අනුපිටපත් ඇතුළත් නොකරයි.

--section-start sectionname = org

Org ආකෘතියෙන් ලබා ගත් නිරපේක්ෂ ලිපිනයේ ප්රතිදාන ගොනුවක කොටස සොයා ගන්න. විධාන රේඛාවේ බොහෝ කොටස් සොයා ගැනීමට ඔබට මෙම විකල්පය ඔබට අවශ්ය පරිදි බොහෝ වේලාවක් භාවිතා කළ හැකිය. org එක් hexadecimal පූර්ණ සංඛ්යාවක් විය යුතුය; අනෙක් සබැඳි සමඟ අනුකූලතා සඳහා, ඔබට සාමාන්යයෙන් සාමාන්යයෙන් 0x සාමාන්යයෙන් hexadecimal අගයන් සමඟ සම්බන්ධ විය හැකිය. සටහන: sectionname අතර සමාන ලකුණක් නොතිබිය යුතුය , සමාන ලකුණ (`` = '') සහ org .

-Tbss org

ටෙට් ඕර්

-ස්ථාංශයේ org

--- --- "Bss", "දත්ත" හෝ "පෙළ" කොටස සඳහා ප්රතිදානය ගොනුව සඳහා org සඳහා භාවිතා කරන්න. org එක් hexadecimal පූර්ණ සංඛ්යාවක් විය යුතුය; අනෙක් සබැඳි සමඟ අනුකූලතා සඳහා, ඔබට සාමාන්යයෙන් සාමාන්යයෙන් 0x සාමාන්යයෙන් hexadecimal අගයන් සමඟ සම්බන්ධ විය හැකිය.

- dll-verbose

- වයඹ

Ld සඳහා වන අනුවාද අංකය පෙන්වනු ලබන අතර එයට අනුබද්ධිත සබැඳි සන්නිවේදනයන් ලැයිස්තුගත කරන්න. ආදාන ගොනු විවෘත කළ නොහැක. Linker විසින් භාවිතා කරන ලින්චර් ස්ක්රිප්ට් පෙන්වීම.

--version-script = අනුවාදය-පිටපතක්

Linker වෙත අනුවාද කේත රචනයෙහි නම සඳහන් කරන්න. පුස්තකාලය තැනීමට පුස්තකාලය සඳහා වන සංස්කරණ පිළිබද අතිරේක තොරතුරු සඳහන් කිරීමට පුස්තකාල නිර්මාණය කිරීමෙහිදී මෙය සාමාන්යයෙන් භාවිතා වේ. මෙම විකල්පය පුස්තකාල බෙදාහරින ELF වේදිකා මත පමණක් අර්ථවත් වේ.

- අවුට්-පොදු

පොදු සංකේතයක් තවත් පොදු සංකේතයක් සමඟ හෝ සංකේත නිර්වචනය සමඟ සංයෝජනය වන විට අනතුරු අඟවන්න. Unix linkers මෙම තරමක් අස්ථිර ක්රියාවලියකට ඉඩ දෙයි, නමුත් සමහර මෙහෙයුම් පද්ධති මත ලින්ක් කරන්නන් එසේ නොකරයි. මෙම විකල්පය ඔබට ගෝලීය සංකේත ඒකාබද්ධ කිරීමෙන් විභව ගැටළු සොයාගත හැක. අවාසනාවකට, සමහර පුස්තකාල පුස්තකාල භාවිතය මෙම පරිචය භාවිතා කරයි. එබැවින් පුස්තකාලවල මෙන්ම ඔබේ වැඩසටහන් වල සංකේත පිළිබඳ යම් ඇඟවීම් ලබා ගත හැකිය.

C නිදසුන් මඟින් මෙහි දැක්වෙන ගෝලීය සංකේත තුනක් තිබේ:

int i = 1;

නිමැවුම් ගොනුවේ ඇරඹුම් දත්ත අංශයෙන් පිටතට යන නිර්වචනයකි.

extern int i;

අවකාශයක් වෙන් නොකෙරෙන නොපැහැදිලි යොමු කිරීම්. යම් ස්ථානයක හෝ වෙනසක් සඳහා අර්ථ දැක්වීමක් හෝ පොදු සංකේතයක් තිබිය යුතුය.

int i;

පොදු සංකේතයකි. විචල්යයක් සඳහා (එක් හෝ ඊට වැඩි) පොදු සංකේත පමණි නම්, එය ප්රතිදාන ගොනුවේ අත්යාවශ්ය නොවන දත්ත ක්ෂේත්රයට පිවිසෙනු ඇත. එම ලින්ක් එක එකම සංකේතය සඳහා බහු පොදු සංකේත ය එකම සංකේතයක් බවට පත් කරයි. ඒවා විවිධ ප්රමාණ වලින් නම්, එය විශාලතම ප්රමාණය තෝරයි. එම විචල්යයේ අර්ථ දැක්වීමක් ඇත්නම්, ලින්ක්කරු ප්රකාශයක් බවට පොදු සංකේතයක් පරිවර්තනය කරයි.

--warn-common විකල්පය මඟින් අනතුරු ඇඟවීම් පහක් ඉදිරිපත් කළ හැකිය. සෑම අනතුරු ඇඟවීමකින්ම රේඛා යුගලයකින් සමන්විත වේ: මුලින්ම හමු වූ සංකේතය පළමු කොට විස්තර කරයි, දෙවන නම එකම නම සහිත පෙර සංකේතය විස්තර කරයි. සංකේත දෙක හෝ දෙක පොදු සංකේතයක් වනු ඇත.

1.

සංකේතයක් සඳහා දැනටමත් අර්ථ දැක්වීමක් නිසා පොදු සලකුණක් යොමු කිරීමක් ලෙස යොමු කිරීමකි.

(
): අනතුරු ඇඟවීම: '' පොදු අර්ථ දැක්වීමෙන් යටපත් වේ. (<කොටස>): අනතුරු ඇඟවීම:

2.

සංකේතයක් සඳහා පසු කාලීන අර්ථ දැක්වීමක් ඇති බැවින්, පොදු සලකුණක් යොමු කිරීමකට යොමු කිරීම. මෙම නඩුවට සමාන වූවක් සේම සංකේත එකිනෙකට වෙනස් පිළිවෙළකට හැරෙන්නට හැර ඇත.

(
): අනතුරු ඇඟවීම: '' පරාමිත පොදු <ගොනුව> (<කොටස>): අනතුරු ඇඟවීම: පොදු මෙහි ඇත

3.

එකම පොදු ප්රමාණයේ පොදු සංකේතයක් සහිත පොදු සංකේතයක් ඒකාබද්ධ කිරීම.

(
): අනතුරු ඇඟවීම: '' (
) වල බහුතරය: අනතුරු ඇඟවීම: පෙර පොදු

4.

පෙර විශාල පොදු සංකේතයක් සහිත පොදු සංකේතයක් ඒකාබද්ධ කිරීම.

(
): අනතුරු ඇඟවීම: පොදු <ගොනුව> (<කොටස>) විසින් යටපත් කර ඇති `<සංකේතය 'පොදු: අනතුරු ඇඟවීම: විශාල බහුලව සිදු වේ

5.

පොදු කුඩා සංකේතයක් සහිත පොදු සංකේතයක් ඒකාබද්ධ කිරීම. මෙම නඩුවට සමාන වූවක් සේම සංකේත එකිනෙකට වෙනස් පිළිවෙළකට හැරෙන්නට හැර ඇත.

(
): අනතුරු ඇඟවීම: '' පොදු පොදු පොදු <ගොනුව> (<කොටස>) පරදුවට තබා: අනතුරු ඇඟවීම: මෙහි කුඩා පොදු

- උච්චාරණ ශිල්පීන්

ඕනෑම ගෝලීය ඉදිකිරීම්කරුවෝ භාවිතා කළහොත් අනතුරු අඟවන්න. මෙමඟින් වෛරස ගොනු ආකෘති කිහිපයක් සඳහා ප්රයෝජනවත් වේ. COFF හෝ ELF වැනි ආකෘති සඳහා, ලින්කර් ගෝලීය ඉදිකිරීම්කරුවන් භාවිතා කිරීම හඳුනාගත නොහැකිය.

--warn-multiple-gp

නිමැවුම් ගොනුවේ ගෝලීය පොයින්ටර් අගයන් කිහිපයක් අවශ්ය නම් අනතුරු අඟවන්න. මෙය ඇල්ෆා වැනි සමහර ප්රොසෙසර් සඳහා අර්ථවත් වේ. විශේෂයෙන්, සමහර ප්රොසර්ස් විශේෂ ඒකකයක් තුළ විශාල අගයන් නිරන්තරව තබා ඇත. විශේෂිත ලේඛනයක් (ගෝලීය පොයින්ටර්) මෙම කොටසේ මැද දෙසට යොමු කරයි. එබැවින් නියත අගයන්-ලේඛන සාපේක්ෂ ආමන්ත්රණ මාතයක් හරහා කාර්යක්ෂමව ප්රවේශ විය හැක. මූලික-රෙජිස්ටන සාපේක්ෂ මොඩලය තුල ඇති වන සංසන්දනය ස්ථාවර සහ සාපේක්ෂව සුළු (උදා. බිටු 16) ලෙසින්, මෙය නියත සංචිතයේ උපරිම ප්රමාණය සීමා කරයි. එබැවින්, විශාල වැඩසටහන් වලදී, බොහෝ විට හැකි සෑම නියතයක්ම විසඳීමට හැකිවීම සඳහා බොහෝ ගෝලීය පොයින්ටර් අගයන් භාවිතා කිරීම අවශ්ය වේ. මෙම විකල්පය මෙම සිද්ධිය සිදු වන සෑම අවස්ථාවකදීම අනතුරු ඇඟවීමක් නිකුත් කරයි.

- වරක්-වරක්

එක් එක් නිර්වින්දන සංකේතය සඳහා එක් වරක් පමණක් අනතුරු ඇඟවීම පමණක් අදාළ වන මොඩියුලයට වඩා වරක් නොව.

-අන්තර්-කොටස-පෙලගැස්ම

නිමැවුම් නිසා ප්රතිදාන කොටසක ලිපිනය වෙනස් වේ නම් එය අනතුරු ඇඟවීම. සාමාන්යයෙන්, පෙළගැස්ම ආදාන කොටසක් මඟින් සැකසිය යුතුය. එය නිශ්චිතව දක්වා නොමැති නම් ලිපිනය වෙනස් වනු ඇත. එනම්, "SECTIONS" විධානය මඟින් කොටස සඳහා ආරම්භක ලිපිනයක් නොමැත.

- සම්පූර්ණ ලේඛනාගාරය

- සම්පූර්ණ සංරක්ෂිත අභිරුචියට පසුව විධාන රේඛාවේ සඳහන් එක් එක් ලේඛනාගාරය සඳහා, ලින්ක් එකේ ඇති ලිපිගොනු ලිපිගොනු ඇතුලත් කිරීම අවශ්ය වන වස්තුවක ගොනු සංරක්ෂණයට වඩා සොයා බලනු ඇත. මෙය සාමාන්යයෙන් භාවිතා කරන්නේ ගබඩා ගොනුව පොදු පුස්තකාලයක් බවට පරිවර්තනය කිරීම සඳහා වන අතර, එමගින් එක් එක් වස්තුවක ප්රතිඵලයක් ලෙස බෙදාගත් පුස්තකාලයෙහි ඇතුළත් කළ හැකිය. මෙම විකල්පය එක් වරකට වඩා භාවිතා කළ හැකිය.

Gcc වෙතින් මෙම විකල්පය භාවිතා කිරීමේදී සටහන් දෙකක්: පළමුව, gcc මෙම විකල්පය ගැන නොදන්නේ, එබැවින් ඔබ භාවිතා කළ යුත්තේ -Wl, -where-archive . දෙවනුව, gcc විසින් ඔබගේ සබැඳිය ලේඛන ලැයිස්තුවක් එකතු කිරීම නිසා ඔබගේ සංරක්ෂිත ලැයිස්තුවෙන් පසුව -Wl, -not-whole-archive භාවිතා කර අමතක නොකරන්න. මෙම ධජය එම අයුරින් බලපෑම් කිරීමට ඔබට අවශ්ය නොවනු ඇත.

- සංකේතය

සංකේත සඳහා එම්බාම්පර් ශ්රිතයක් භාවිතා කරන්න. සංකේතය සඳහා කිසියම් නිර්විනාශක සඳහනක් "__ ඉරීම" යනුවෙන් නිරාකරණය කරනු ලැබේ. "__real_symbol" සඳහා අනේයාකාරයෙන්ම සඳහන් කර ඇති සංකේතය නිරූපණය කරනු ලැබේ.

මෙය පද්ධතියේ ක්රියාකාරීත්වය සඳහා වන කඩදාසි සැපයීමට මෙය භාවිතා කළ හැකිය. එම්බාම්පර් ශ්රිතය "__wrap_symbol" යනුවෙන් හැඳින්විය යුතුය. පද්ධතියේ ක්රියාකාරීත්වය ඇමතීමට අවශ්ය නම්, එය "__ real_symbol" ලෙස ඇමතිය යුතුය.

මෙන්න නිදසුනකි:

void * __wrap_malloc (int c) {printf ("% ld \ n" යනුවෙන් හැඳින්වෙන මල්කාක්, c); ආපසු __real_malloc (c); }}

- wrap malloc භාවිතා කරමින් මෙම ගොනුව සමඟ වෙනත් කේතයක් සම්බන්ධ කර ඇත්නම් , එවිට "malloc" වෙත සියලු ඇමතුම් වෙනුවට "__wrap_malloc" ලෙස ඇමතනු ඇත. "__real_malloc" හි "__real_malloc" සඳහා වන ඇමතුම සැබෑ "විචල්ය" ශ්රිතය ලෙස හැඳින්වේ.

ඔබට "__real_malloc" ක්රියාකාරීත්වය සැපයීමටද ඔබට අවශ්ය විය හැකිය, එසේ නොමැති නම් - wrap විකල්පය සාර්ථකව සිදු වනු ඇත. ඔබ මෙය සිදු කරන්නේ නම්, ඔබ "__wrap_malloc" ලෙස එකම ගොනුවේ "__ real_malloc" අර්ථ දැක්වීම නොකළ යුතුය; ඔබ එසේ කරන්නේ නම්, ඇලෙක්සැන්ඩර් එය "ඇලෙක්සැන්ඩර්" වෙත ආයාචනය කිරීමට අවස්ථාවක් ඇරීමට පෙර ඇමතුම විසඳා ගත හැකිය.

- හැකි-නව-ඩෙටෑස්

- නව-dtags

මෙම ලින්කර් ELF හි නව ගතික ටැග නිර්මාණය කළ හැකිය. එහෙත් පැරණි ELF පද්ධති ඒවා අවබෝධ කර නොගනී. ඔබ විසින් --enable-new-dtags නියම කර ඇත්නම්, අවශ්ය වන පරිදි ගතික ටැග් නිර්මාණය වනු ඇත. ඔබ විසින් --disable-new-dtags නියම කර ඇත්නම්, නව ඩිජිටල් ටැග් සෑදෙන්නේ නැත. ප්රකෘති ලෙස, නව ගතික ටැග් නිර්මාණය වී නැත. මෙම විකල්පයන් ELF පද්ධති සඳහා පමණි.

I386 PE linker -efile විකල්පයට සහාය දෙයි, නිමැවුම් සාමාන්යයෙන් ක්රියාත්මක කළ හැකි වෙනුවට ගතිකව සම්බන්ධිත පුස්තකාලයක් (DLL) ලෙසට හේතු විය හැක. ඔබ මෙම විකල්පය භාවිතා කරන විට ඔබ "* .dll" ප්රතිදානය ප්රකාශ කළ යුතුය. ඊට අමතරව, linker සම්පූර්ණයෙන්ම සහය දක්වන්නේ "* .def" ගොනුවක් වන අතර, එය සබැඳි විධාන රේඛාවේ ඇති වස්තුවක ගොනුවක් ලෙස නියම කරනු ලැබේ (ඇත්ත වශයෙන්ම, ඒවා නිරූපණය කරන නිරාකරණ සඳහා ලේඛනගතව පූර්වාපේක්ෂා කළ යුතුය. සාමාන්ය වස්තු ගොනුවක් වැනි).

සියලු ඉලක්ක සඳහා පොදු විකල්ප වලට අමතරව i386 PE linker i386 PE ඉලක්කයට අමතරව අතිරේක විධාන රේඛා විකල්පයන් සඳහා සහාය දක්වයි. අගයන් ගන්නා විකල්පයන්, එක් එක් අවකාශයකින් හෝ සමාන ලකුණකින් ඔවුන්ගේ වටිනාකම් වලින් වෙන් කළ හැක.

--add-stdcall-අන්වර්ථය

ලබා දී ඇත්නම්, stdcall suffix (@ nn ) සමඟ සංකේත අපනයනය කරනු ලැබේ.

-බස්-ගොනු ගොනුව

Dlltool සමඟ DLL උත්පාදනය සඳහා අවශ්ය සියළු ස්ථානවල මූලික ස්ථාන සුරැකීමට ගොනුවක් ලෙස ගොනුව භාවිතා කරන්න.

- dll

නිත්ය විධානිය වෙනුවට ඩීඑල්එල් වෙනුවට සාදන්න. ඔබ විසින් "-def" ගොනුවක් තුළ "-LOBRARY" හෝ "-definition" භාවිතා කළ හැකිය.

--enable-stdcall-fixup

--disable-stdcall-fixup

සබැඳිය නිරාකරණය කරගත නොහැකිය යන සංකේතය සොයා ගන්නේ නම්, එය සංකේත නාමය (ආකෘතිය පමණක්) (cdecl vs stdcall) පමණක් වෙනස් වන තවත් අර්ථ දැක්වෙන සංකේතයක් සොයමින් `` නොගැලපෙන සම්බන්ධ කිරීමක් '' කිරීමට උත්සාහ කරනු ඇත. තරගයයි. නිදසුනක් ලෙස, "undone" සංකේතය "_foo" "_foo @ 12" වෙත සම්බන්ධ විය හැකිය, හෝ "undefined" සංකේතය "_bar @ 16" "_bar" යන්නට සම්බන්ධ විය හැකිය. Linker විසින් මෙය සිදු කරන විට එය අනතුරු ඇඟවීමක් මුද්රණය කරයි, සාමාන්යයෙන් එය සම්බන්ධ කිරීමට අසමත් විය හැකි බැවින්, සමහර විට තෙවන පාර්ශවයන්ගෙන් උත්පාදනය කරන ලද පුස්තකාල භාවිතය සඳහා මෙම අංගය භාවිතා කළ හැකිය. ඔබ විසින් --enable-stdcall-fixup නියම කර ඇත්නම්, මෙම අංගය සම්පූර්ණයෙන්ම සක්රීය කර ඇති අතර අනතුරු ඇඟවීම් මුද්රණය නොකෙරේ. ඔබ විසින් --disable-stdcall-fixup නියම කර ඇත්නම්, මෙම අංගය අක්රීය කර ඇති අතර එම නොගැලපීම් දෝෂයන් ලෙස සැලකේ.

- සියලු නිරූපකයන්

ඩීඑල්එල් සෑදීමට භාවිතා කරන වස්තූන්හි සියළු ගෝලීය සංකේත ඩීඑල්එල් මගින් අපනයනය කරනු ලැබේ නම්. වෙනත් ආකාරයකින් නිර්යාත කරන ලද සංකේත කිසිවක් නොමැති නම් මෙම පෙරනිමි අගය මෙය බව සලකන්න. සංකේත DEF ගොනුවෙන් නිර්යාතව නිර්යාත කරන විට හෝ ක්රියාකාරී ගුණාංග වලින් නිර්යාතව නිර්යාත කරන විට, පෙරනිමිය මෙම විකල්පය ලබාදී නොමැති නම් අන් කිසිවක් අපනයනය නොකළ යුතුය. "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12" සහ "impure_ptr" යන සංකේත ස්වයංක්රීයවම අපනයනය කරනු නොලැබේ. එසේම, වෙනත් DLL වලින් ආනයනය කරන ලද සංකේත නැවත අපනයනය කරනු නොලැබේ, "_head_" ආරම්භයෙන් හෝ "_iname" සමඟ අවසන් වන ඩීඑල්එල්හි අභ්යන්තර ආකෘතිය නිශ්චිතව දක්නට නොලැබේ. මීට අමතරව, "libgcc", "libstd ++", "libmingw32" හෝ "crtX.o" වෙතින් සංකේත අපනයනය කරනු නොලැබේ. "__rtti_" හෝ "__builtin_" යන නම්වලින් ඇරඹෙන සංකේත, C ++ ඩීඑල්එල් සමඟ උදව් කිරීමට අපොහොසත් වනු ඇත. අවසාන වශයෙන්, අපනයනය නොකළ සයිපින්-පෞද්ගලික සංකේත විශාල ලැයිස්තුවක් ඇත (පැහැදිලිවම, මෙය සිලින්ගල් ඉලක්කයන් සඳහා ඩීඑල්එල් නිර්මාණය කිරීමේදී අදාළ වේ).

මෙම 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 "සහ" පරිසරය ".

--exclude-සංකේත සංකේතය , සංකේතය , ...

ස්වයංක්රීයව අපනයනය නොකළ යුතු සංකේතාංකන ලැයිස්තුවක් නියම කරයි. සංකේත නාමයන් කොමා හෝ කොළන්වලට සීමා කළ හැක.

--exclude-libs lib , lib , ...

සංකේතාකන ස්වයංක්රීයව අපනයනය නොකළ යුතු සංරක්ෂිත පුස්තකාල ලැයිස්තුවක් නියම කරයි. පුස්තකාල නාමයන් කොමා හෝ කොළන්වලින් වෙන් කළ හැක. "--exclude-libs ALL" යන්න නියම කිරීම - සියළුම සංරක්ෂන පුස්තකාල ස්වයංක්රිය අපනයනයෙන් සංකේත ඉවත් කරයි. මෙම විකල්පය කුමක් වුවද, .def ගොනුව තුලින් නිශ්චිතව ලැයිස්තුගත කර ඇති සංකේත තවමත් අපනයනය කරනු ලැබේ.

- ගොනු සැකැස්ම

ගොනු පෙළ සමමුහුර්ත කරන්න. ගොනුව තුල කොටස් සෑම විටම මෙම අංකයේ ගුණිත වන ගොනු අසාර්ථකත්වයන්ගෙන් ආරම්භ වේ. මෙය 512 ට පෙරනිමිය.

- අනවශ්යයි

- රක්ෂිතය , කැප කරන්න

මෙම වැඩසටහන සඳහා ගොඩක් ලෙස භාවිතා කිරීමට රක්ෂිත (සහ විකල්ප වශයෙන්) රක්ෂිත ප්රමාණය මතක තබා ගන්න. පෙරනිමිය 1Mb වෙන්කර ඇත, 4K කැපවී ඇත.

-මග-පාදක අගය

ඔබේ වැඩසටහනේ මූලික ලිපිනය හෝ DLL අගය ලෙස භාවිතා කරන්න. ඔබගේ වැඩසටහන හෝ DLL පැටවූ විට භාවිතා කරනු ලබන අවම මතක ස්ථානය මෙයයි. ඔබගේ ඩීඑල්එල්වල කාර්යසාධනය නැවත ස්ථානගත කිරීම හා වැඩිදියුණු කිරීමේ අවශ්යතාව අඩු කිරීම සඳහා එක් එක් අද්විතීය මූලික ලිපිනයක් තිබිය යුතු අතර වෙනත් ඩීඑල්එල් නොගැළපේ. ප්රකෘතිය 0x400000 වේ, සහ ඩීඑල්එක්ස් සඳහා 0x10000000.

- කිල්-ඒ

ලබා දී ඇත්නම්, stdcall suffixes (@ nn ) ඒවා නිර්යාත කිරීමට පෙර සංකේත වලින් ඉවත් කරනු ලැබේ.

--major-image-අනුවාදය අගය

`` පිළිඹිබු සංස්කරණයෙහි ප්රධාන අංකය සකසයි. '' පෙරනිමි 1.

--major-os-අනුවාදය අගය

`` Os version '' හි ප්රධාන අංකය සකසයි. 4 දක්වා ඇත.

--major-උපසර්ගය-අනුවාද වටිනාකම

`` උපපද්ධති අනුවාදය '' ප්රධාන කොටසේ පිහිටුවයි. 4 දක්වා ඇත.

--minor-image-සංස්කරණ අගය

`` පින්තූරයේ අනුවාදය '' කුඩා අංකය සකසයි. සාමාන්යයෙන් 0 දක්වා.

--minor-os-අනුවාදය අගය

`` Os අනුවාදයේ '' කුඩා අංකය සකසයි. සාමාන්යයෙන් 0 දක්වා.

--minor-උප පද්ධති-සංස්කරණ අගය

`` උපපද්ධති අනුවාදය '' කුඩා අංකයක් සකසයි. සාමාන්යයෙන් 0 දක්වා.

--output-def ගොනුව

ලින්ඩර් විසින් ගොනු ගොනුවක් නිර්මාණය කරනු ඇත. ඩීඑල්එල් ඩීඑල්එල් වෙත ඩීඑෆ්එල් ගොනුව අඩංගු වන අතර linker උත්පාදනය කරයි. ඩීඑෆ්එෆ් ගොනුව (".def" ලෙසින් හැඳින්විය යුතු) "dlltool" සමඟ ආයාත කිරීමේ පුස්තකාලයක් භාවිතා කිරීමට හෝ ස්වයංක්රීයව හෝ සංකේතාත්මකව අපනයනය කරන ලද සංකේත ලෙස භාවිතා කළ හැක.

-out-implib ගොනුව

ලින්ඩර් විසින් ගොනු ගොනුවක් නිර්මාණය කරනු ඇත. ඩීඑල්එල් වලට අනුරූප ආයාත lib අඩංගු වනු ඇත. මෙම ආයාත කරන ලද lib (".dll.a" හෝ "* .a" යනුවෙන් හැඳින්විය යුතු මෙම ආයාත lib මඟින් සාදන ලද DLL වලට සම්බන්ධ කිරීම සඳහා භාවිතා කල හැක, මෙම හැසිරීම වෙනම "dlltool" ආයාත පුස්තකාල නිර්මාණ කිරීමේ පියවරක් ඉවත්වීමයි.

--enable-auto-image-base

"- -image-base" තර්කය භාවිතයෙන් එකක් නියම කර නොමැති නම්, ඩීඑල්එල් සඳහා රූප රාමු ස්වයංක්රීයව තෝරා ගන්න. එක් එක් DLL සඳහා අද්විතීය අනුරූ පදනමක් නිර්මාණය කිරීම සඳහා dllname මඟින් ජනනය කර ඇති හැෂ් භාවිතා කිරීමෙන්, වැඩසටහන් ක්රියාත්මක කිරීමේදී ප්රමාද කළ හැකි මතක මතකයන් සහ ප්රතිස්ථානගත කිරීම් මඟහරවා ගත හැකිය.

--disable-auto-image-base

අද්විතීය රූපමය පදනමක් ස්වයංක්රියව නිර්මාණය නොකරන්න. පරිශීලක-විශේෂිත රූප රාමු නොමැති නම් ("-image-base") පසුව වේදිකාව පෙරනිමිය භාවිතා කරන්න.

--dll-search-prefix string

ආයාත කිරීමේ පුස්තකාලයකින් තොරව dll වෙත ගතිකව ඈඳුනු විට, " .dll" "lib .dll" වෙත අභිමතයෙන්. මෙම හැසිරීම විවිධ `` උපබෝතිපත්ර '' සඳහා නිපදවන ලද ඩීඑල්එල් පහසුකමට ඉඩ දෙයි: දේශීය, cygwin, uwin, pw, ආදිය. උදාහරණයක් වශයෙන්, cygwin ඩීඑල්එල් සාමාන්යයෙන් "--dll-search-prefix = cyg" භාවිතා කරයි.

- ස්වයං-ආනයනය

ඩීඑල්ඒ වෙතින් ඩී.එස්.ඒ. ආයාත සඳහා ආනයනය සඳහා "_symbol" සිට "__imp__symbol" දක්වා සංකීර්ණ සම්බන්ධ කිරීම හා DATAexports සමඟ ආයාත පුස්තකාල ගොඩනැගීමේදී අවශ්ය උච්චාරණ සංකේත නිර්මාණය කිරීම. මෙය සාමාන්යයෙන් "වැඩ කරන්න" --- සමහර විට ඔබ මෙම පණිවුඩය දකිනු ඇත:

"විචල්ය" "ස්වයංක්රීයව ආයාත කළ නොහැක. කරුණාකර විස්තර සඳහා ld's" --enable-auto-import "සඳහා ලියකියවිලි කියවන්න."

යම් පණිවිඩයක් (උපප්රාප්තික) ප්රකාශයක් සිදු වන විට අවසානයේ දී කොන්සියුලර් දෙකක එකතුවක් ලබා දෙනු ලැබේ (Win32 ආයාත වගු පමණි). මෙය සිදුවිය හැකි අවස්ථාවන්හිදී DLL වලින් ආනයනය කරන ලද ව්යුහ විචල්යවල සාමාජික ක්ෂේත්ර වෙත පිවිසීමට මෙන්ම ඩීඑල්එල් වෙතින් ආනයනය කරන ලද අරාව විචල්යයක් ලෙස නිරන්තර දර්ශකය භාවිතා කරනු ලැබේ. ඕනෑම බහු වචන විචල්යයක් (අරා, ආකෘති, දිගු දිග, ආදිය) මෙම දෝශය තත්ත්වය අවුලුවන. කෙසේ වෙතත්, අපනයනය කරන ලද නිර්යාත කළ විචල්යයේ නිශ්චිත දත්ත වර්ගයක් නොතිබුනද, ld සෑම විටම එය අනාවරණය කරනු ඇත, අනතුරු ඇඟවීමක් නිකුත් කර පිටවීම.

අපනයනය කළ විචල්යයේ දත්ත වර්ගය කුමක් වුවද, මෙම අපහසුතාවයට විසඳුම් සඳහා ක්රම කිහිපයක් තිබේ:

එක් ආකාරයක් වන්නේ --enable-runtime-pseudo-reloc switch. මෙමඟින් ඔබේ සේවාදායක කේතය ධාවන කාලය සඳහා රිසිකරණය කිරීමේ කර්තව්යය ඉවත්ව යන නිසා, මෙම ක්රමය ක්රියාත්මක වන්නේ ක්රියාත්මක කිරීමේ වේලාව පමණි.

දෙවැනි විසඳුම වන්නේ 'නියතයන්' එක් විචල්යයක් ලෙස වෙනස් කිරීමයි, එනම් සංචිත කාලය තුළ නොදන්නා සහ අශුභදායී ය. අරාවන් සඳහා විකල්ප දෙකක් තිබේ: a) දර්ශකය (array's address) යනු විචල්යක් හෝ b) 'නියත' දර්ශකය විචල්යක් කරන්න. මෙසේ:

extern type extern_array []; extern_array [1] -> {වාෂ්පශීලී වර්ගය * t = extern_array; t [1]}

හෝ

extern type extern_array []; extern_array [1] -> {volatile int t = 1; extern_array [t]}

ව්යුහ (සහ අනෙකුත් බොහෝ බහු වචන දත්ත වර්ග සඳහා) සඳහා එකම විකල්පය ව්යුහයම (හෝ දිගු දිග හෝ හෝ ...) විචල්යය සෑදීමයි:

extern struct s extern_struct; extern_struct.field -> {volatile struct s * t = & extern_struct; t-> ක්ෂේත්රය}

හෝ

දිගු දිගු extern_ll; extern_ll -> {වාෂ්පශීලී දිගු * local_ll = & extern_ll; * local_ll}

මෙම දුෂ්කරතා සමඟ ගනුදෙනු කිරීමේ තුන්වන ක්රමය වන්නේ අපහාස සංකේතය සඳහා ස්වයං-ආනයනය අත්හැර දැමීම හා "__declspec (dllimport)" සමඟ එය සලකුණු කිරීමයි. කෙසේ වෙතත්, ඔබ සංග්රහ-time #defines භාවිතා කරන විට ඔබ ඩීඑල්එල් ගොඩනගනු ඇත්ද යන්න, ඩීඑල්එල් වෙත සම්බන්ධ වන සේවාදායක කේතයක් සෑදීම හෝ static පුස්තකාලයක් සෑදීම හෝ සම්බන්ධ කිරීම පමණක් සිදු කිරීම අවශ්ය වේ. නිත්ය අසීමිත ගැටළුව සමඟ සෘජු ඇමතුම් විසඳාගැනීමේ විවිධ ක්රම අතරින් තෝරා ගැනීමෙන් ඔබ සාමාන්ය නියම ලෝක භාවිතය සලකා බැලිය යුතුය:

මුල්:

--foo.h extern int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {printf ("% d \ n", arr [1]); }}

විසඳුම 1:

--foo.h extern int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {/ * මෙම ගැටලුව win32 සහ cygwin සඳහා වේ; "උත්ශ්රේණි නොකරන්න" * / වාෂ්පශීලී int * parr = arr; printf ("% d \ n", parr [1]); }}

විසඳුම 2:

--foo.h / * සටහන: ස්වයංක්රිය අපනයනය උපකල්පනය කර නැත (නැත __declspec (dllexport)) * / #if (defined (_WIN32) || defined (__ CYGWIN__)) && \! (defined (FOO_BUILD_DLL) || defined (FOO_STATIC )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {printf ("% d \ n", arr [1]); }}

මෙම ගැටළුව මඟහරවා ගැනීම සඳහා සිව්වන ක්රමය වන්නේ වැරදි දත්ත වින්යාසයන් සඳහා දත්ත අතුරුමුහුණතක් වෙනුවට ක්රියාකාරී අතුරුමුහුණතක් භාවිතා කිරීම සඳහා ඔබේ පුස්තකාලය නැවත කේතය (උදා: set_foo () සහ get_foo () ප්රවේශ ක්රියාකාරීත්වය) ය.

--disable-auto-import

ඩීඑල්එම් වෙතින් DATAimports සඳහා "_symbol" "__imp__symbol" වෙත සංකීර්ණ ලෙස සම්බන්ධ නොකරන්න.

--enable-runtime-pseudo-reloc

ඔබේ කේතය තුල --enable-auto-import කොටස තුල විස්තර කර ඇති ප්රකාශයන් එනම්, ඩීඑල්එල් වෙතින් නොඑන ස්ක්රිප්ට් නොකලේ නම්, මෙම ස්විචය මඟින් ධාවන කාලාවර්තනයේ පරිසරය භාවිතා කළ හැකි රාමුවකි ඔබේ සේවාලාභී කේතයෙහි එවැනි දත්ත.

--disable-runtime-pseudo-reloc

ඩීඑල්එල් වෙතින් ශුන්ය offset DATA ආනයනය සඳහා ව්යාජ නැවත ස්ථානගත කිරීමක් නිර්මාණය නොකරන්න. මෙය පෙරනිමිය.

--enable-extra-pe-debug

ඔටෝ-ආනයනික සංකේත තුන්ක් කිරීම සම්බන්ධ අමතර වින්යාස තොරතුරු පෙන්වන්න.

- අංශ-පැන්නුම

Section alignment පිහිටයි. මතකයේ කොටස් සැමවිටම මෙම අංකයෙන් බහුතරයක් වන ලිපිනයන්ගෙන් ආරම්භ වේ. සාමාන්යයෙන් 0x1000 දක්වා.

- ස්ටැක් රිසර්ව්

- ස්ටේක් රිසිට් , කැප කරන්න

මෙම වැඩසටහන සඳහා ගබඩා කිරීම සඳහා රක්ෂිත (සහ විකල්ප වශයෙන්) රක්ෂිත මතකය සඳහන් කරන්න. ප්රකෘතිය 2Mb වෙන්කර ඇත, 4K කැපවී ඇත.

- යුසුස් පද්ධතියයි

- ප්රධාන වශයෙන්

- ප්රධාන වශයෙන් . සුළු

ඔබේ ක්රියාමාර්ගය ක්රියාත්මක කරන උප පද්ධතීය නියම කරනු ලබයි. "දේශීය", "කවුළු", "කොන්සෝල" සහ "posix" යන නෛතික අගයන් වේ. ඔබ හට උප පද්ධති අනුවාදයද සැකසිය හැකිය.

වැදගත්: ඔබේ විශේෂ පරිගණකයේ විධානයක් භාවිතා කරන ආකාරය බැලීමට මිනිසා විධානය ( % man ) භාවිතා කරන්න.