h8300-hitachi-coff-ld - ക്ലൗഡിൽ ഓൺലൈനിൽ

Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്‌സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന h8300-hitachi-coff-ld കമാൻഡ് ഇതാണ്.

പട്ടിക:

NAME


ld - GNU ലിങ്കറായ LD ഉപയോഗിക്കുന്നു

സിനോപ്സിസ്


ld [ഓപ്ഷനുകൾ] objfile ...

വിവരണം


ld നിരവധി ഒബ്‌ജക്‌റ്റുകളും ആർക്കൈവ് ഫയലുകളും സംയോജിപ്പിക്കുകയും അവയുടെ ഡാറ്റ മാറ്റി സ്ഥാപിക്കുകയും ചിഹ്നം ബന്ധിപ്പിക്കുകയും ചെയ്യുന്നു
അവലംബങ്ങൾ. സാധാരണയായി ഒരു പ്രോഗ്രാം കംപൈൽ ചെയ്യുന്നതിനുള്ള അവസാന ഘട്ടം റൺ ചെയ്യുക എന്നതാണ് ld.

ld AT&T യുടെ ലിങ്ക് എഡിറ്ററിന്റെ സൂപ്പർസെറ്റിൽ എഴുതിയ ലിങ്കർ കമാൻഡ് ലാംഗ്വേജ് ഫയലുകൾ സ്വീകരിക്കുന്നു
ലിങ്കിംഗ് പ്രക്രിയയിൽ വ്യക്തവും പൂർണ്ണവുമായ നിയന്ത്രണം നൽകുന്നതിന് കമാൻഡ് ലാംഗ്വേജ് വാക്യഘടന.

ഈ മാൻ പേജ് കമാൻഡ് ഭാഷയെ വിവരിക്കുന്നില്ല; കാണുക ld "വിവരങ്ങൾ" എന്നതിലെ എൻട്രി, അല്ലെങ്കിൽ
മാനുവൽ ld: GNU ലിങ്കർ, കമാൻഡ് ഭാഷയെക്കുറിച്ചും മറ്റ് വശങ്ങളെക്കുറിച്ചും പൂർണ്ണ വിവരങ്ങൾക്ക്
GNU ലിങ്കറിന്റെ.

ഈ പതിപ്പ് ld ഒബ്‌ജക്‌റ്റ് ഫയലുകളിൽ പ്രവർത്തിക്കാൻ പൊതു ഉദ്ദേശ്യ BFD ലൈബ്രറികൾ ഉപയോഗിക്കുന്നു. ഈ
അനുവദിക്കുന്നു ld ഒബ്ജക്റ്റ് ഫയലുകൾ വായിക്കാനും സംയോജിപ്പിക്കാനും എഴുതാനും വിവിധ ഫോർമാറ്റുകളിൽ ---
ഉദാഹരണത്തിന്, COFF അല്ലെങ്കിൽ "a.out". എന്തെങ്കിലും നിർമ്മിക്കാൻ വ്യത്യസ്ത ഫോർമാറ്റുകൾ ഒരുമിച്ച് ലിങ്ക് ചെയ്‌തേക്കാം
ലഭ്യമായ തരത്തിലുള്ള ഒബ്‌ജക്റ്റ് ഫയൽ.

അതിന്റെ ഫ്ലെക്സിബിലിറ്റി മാറ്റിനിർത്തിയാൽ, ഗ്നു ലിങ്കർ നൽകുന്നതിൽ മറ്റ് ലിങ്കറുകളേക്കാൾ കൂടുതൽ സഹായകമാണ്
ഡയഗ്നോസ്റ്റിക് വിവരങ്ങൾ. പല ലിങ്കർമാരും കണ്ടുമുട്ടിയ ഉടൻ തന്നെ വധശിക്ഷ ഉപേക്ഷിക്കുന്നു
പിശക്; സാധ്യമാകുമ്പോഴെല്ലാം, ld എക്സിക്യൂട്ട് ചെയ്യുന്നത് തുടരുന്നു, മറ്റ് പിശകുകൾ തിരിച്ചറിയാൻ നിങ്ങളെ അനുവദിക്കുന്നു
(അല്ലെങ്കിൽ, ചില സന്ദർഭങ്ങളിൽ, പിശക് ഉണ്ടായിരുന്നിട്ടും ഒരു ഔട്ട്പുട്ട് ഫയൽ ലഭിക്കുന്നതിന്).

GNU ലിങ്കർ ld വിശാലമായ സാഹചര്യങ്ങൾ ഉൾക്കൊള്ളാനും അനുയോജ്യമാക്കാനും ഉദ്ദേശിച്ചുള്ളതാണ്
മറ്റ് ലിങ്കറുകളുമായി കഴിയുന്നത്ര. തൽഫലമായി, ഇത് നിയന്ത്രിക്കാൻ നിങ്ങൾക്ക് നിരവധി തിരഞ്ഞെടുപ്പുകളുണ്ട്
പെരുമാറ്റം.

ഓപ്ഷനുകൾ


ലിങ്കർ നിരവധി കമാൻഡ്-ലൈൻ ഓപ്ഷനുകൾ പിന്തുണയ്ക്കുന്നു, എന്നാൽ യഥാർത്ഥത്തിൽ അവയിൽ ചിലത്
ഏതെങ്കിലും പ്രത്യേക സന്ദർഭത്തിൽ ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു പതിവ് ഉപയോഗം ld ലിങ്ക് ചെയ്യുക എന്നതാണ്
ഒരു സ്റ്റാൻഡേർഡ്, പിന്തുണയ്ക്കുന്ന Unix സിസ്റ്റത്തിലെ സ്റ്റാൻഡേർഡ് Unix ഒബ്ജക്റ്റ് ഫയലുകൾ. അത്തരമൊരു സിസ്റ്റത്തിൽ, വരെ
"hello.o" ഫയൽ ലിങ്ക് ചെയ്യുക:

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

ഇത് പറയുന്നു ld എന്ന ഒരു ഫയൽ ഹാജരാക്കാൻ ഔട്ട്പുട്ട് ഫയൽ ലിങ്ക് ചെയ്തതിന്റെ ഫലമായി
"hello.o" ഉള്ള "/lib/crt0.o", സ്റ്റാൻഡേർഡിൽ നിന്ന് വരുന്ന "libc.a" എന്ന ലൈബ്രറിയും
ഡയറക്ടറികൾ തിരയുക. (ഇതിന്റെ ചർച്ച കാണുക -l താഴെയുള്ള ഓപ്ഷൻ.)

ചില കമാൻഡ്-ലൈൻ ഓപ്ഷനുകൾ ld കമാൻഡ് ലൈനിലെ ഏത് പോയിന്റിലും വ്യക്തമാക്കിയേക്കാം.
എന്നിരുന്നാലും, ഫയലുകളെ പരാമർശിക്കുന്ന ഓപ്ഷനുകൾ -l or -T, ഫയൽ വായിക്കാൻ കാരണമാകുന്നു
കമാൻഡ് ലൈനിൽ ഓപ്ഷൻ ദൃശ്യമാകുന്ന പോയിന്റ്, ഒബ്ജക്റ്റ് ഫയലുകളുമായി ബന്ധപ്പെട്ടതും
മറ്റ് ഫയൽ ഓപ്ഷനുകൾ. മറ്റൊരു ആർഗ്യുമെന്റിനൊപ്പം ഫയൽ ഇതര ഓപ്ഷനുകൾ ആവർത്തിക്കുന്നത് ഒന്നുകിൽ ഉണ്ടാകും
കൂടുതൽ ഫലങ്ങളൊന്നുമില്ല, അല്ലെങ്കിൽ മുൻ സംഭവങ്ങൾ അസാധുവാക്കരുത് (കമാൻഡിൽ ഇടതുവശത്തുള്ളവ
ലൈൻ) ആ ഓപ്ഷന്റെ. ഒന്നിലധികം തവണ അർത്ഥപൂർവ്വം വ്യക്തമാക്കിയേക്കാവുന്ന ഓപ്ഷനുകൾ
ചുവടെയുള്ള വിവരണങ്ങളിൽ രേഖപ്പെടുത്തിയിട്ടുണ്ട്.

നോൺ-ഓപ്‌ഷൻ ആർഗ്യുമെന്റുകൾ ഒബ്‌ജക്റ്റ് ഫയലുകളോ ആർക്കൈവുകളോ ആണ്, അവ ഒരുമിച്ച് ലിങ്ക് ചെയ്യണം. അവർ
ഒരു ഒബ്‌ജക്‌റ്റ് ഫയൽ ഒഴികെയുള്ള കമാൻഡ്-ലൈൻ ഓപ്‌ഷനുകളുമായി പിന്തുടരുകയോ മുൻകൈ എടുക്കുകയോ അല്ലെങ്കിൽ മിക്സ് ചെയ്യുകയോ ചെയ്യാം
ഒരു ഓപ്‌ഷനും അതിന്റെ ആർഗ്യുമെന്റും തമ്മിൽ ആർഗ്യുമെന്റ് സ്ഥാപിക്കാൻ പാടില്ല.

സാധാരണയായി ലിങ്കർ ഒരു ഒബ്‌ജക്റ്റ് ഫയലെങ്കിലും ഉപയോഗിച്ചാണ് വിളിക്കുന്നത്, എന്നാൽ നിങ്ങൾക്ക് മറ്റൊന്ന് വ്യക്തമാക്കാൻ കഴിയും
ഉപയോഗിക്കുന്ന ബൈനറി ഇൻപുട്ട് ഫയലുകളുടെ രൂപങ്ങൾ -l, -R, കൂടാതെ സ്ക്രിപ്റ്റ് കമാൻഡ് ഭാഷയും. എങ്കിൽ ഇല്ല ബൈനറി
ഇൻപുട്ട് ഫയലുകൾ എല്ലാം വ്യക്തമാക്കിയിട്ടുണ്ട്, ലിങ്കർ ഒരു ഔട്ട്പുട്ടും ഉൽപ്പാദിപ്പിക്കുന്നില്ല, കൂടാതെ ഇഷ്യൂ ചെയ്യുന്നു
സന്ദേശം ഇല്ല ഇൻപുട്ട് ഫയലുകൾ.

ലിങ്കർക്ക് ഒരു ഒബ്‌ജക്റ്റ് ഫയലിന്റെ ഫോർമാറ്റ് തിരിച്ചറിയാൻ കഴിയുന്നില്ലെങ്കിൽ, അത് a ആണെന്ന് അനുമാനിക്കും
ലിങ്കർ സ്ക്രിപ്റ്റ്. ഈ രീതിയിൽ വ്യക്തമാക്കിയ ഒരു സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്ന പ്രധാന ലിങ്കർ സ്ക്രിപ്റ്റ് വർദ്ധിപ്പിക്കുന്നു
ലിങ്ക് (ഡിഫോൾട്ട് ലിങ്കർ സ്ക്രിപ്റ്റ് അല്ലെങ്കിൽ ഉപയോഗിച്ചുകൊണ്ട് വ്യക്തമാക്കിയ ഒന്ന് -T). ഈ
ഒരു ഒബ്ജക്റ്റ് അല്ലെങ്കിൽ ഒരു ഫയലിനെതിരെ ലിങ്ക് ചെയ്യാൻ ഫീച്ചർ ലിങ്കറിനെ അനുവദിക്കുന്നു
ആർക്കൈവ്, എന്നാൽ യഥാർത്ഥത്തിൽ ചില ചിഹ്ന മൂല്യങ്ങൾ നിർവചിക്കുന്നു, അല്ലെങ്കിൽ "INPUT" അല്ലെങ്കിൽ "GROUP" ഉപയോഗിക്കുന്നു
മറ്റ് വസ്തുക്കൾ ലോഡ് ചെയ്യുക. ഈ രീതിയിൽ ഒരു സ്‌ക്രിപ്‌റ്റ് വ്യക്തമാക്കുന്നത് പ്രധാനം വർദ്ധിപ്പിക്കുന്നു എന്നത് ശ്രദ്ധിക്കുക
ലിങ്കർ സ്ക്രിപ്റ്റ്; ഉപയോഗിക്കുക -T ഡിഫോൾട്ട് ലിങ്കർ സ്ക്രിപ്റ്റ് പൂർണ്ണമായും മാറ്റിസ്ഥാപിക്കാനുള്ള ഓപ്ഷൻ.

പേരുകൾ ഒറ്റ അക്ഷരമായ ഓപ്‌ഷനുകൾക്ക്, ഓപ്‌ഷൻ ആർഗ്യുമെന്റുകൾ ഒന്നുകിൽ പിന്തുടരേണ്ടതാണ്
വൈറ്റ്‌സ്‌പെയ്‌സിൽ ഇടപെടാതെയുള്ള ഓപ്ഷൻ അക്ഷരം, അല്ലെങ്കിൽ പ്രത്യേക ആർഗ്യുമെന്റുകളായി നൽകണം
അവ ആവശ്യമുള്ള ഓപ്ഷൻ ഉടൻ പിന്തുടരുന്നു.

ഒന്നിലധികം അക്ഷരങ്ങളുള്ള ഓപ്‌ഷനുകൾക്ക്, ഒന്നോ രണ്ടോ ഡാഷുകൾക്ക് മുമ്പായി വരാം
ഓപ്ഷന്റെ പേര്; ഉദാഹരണത്തിന്, -ട്രേസ്-ചിഹ്നം ഒപ്പം --ട്രേസ്-ചിഹ്നം തുല്യമാണ്. ശ്രദ്ധിക്കുക---അവിടെ
ഈ നിയമത്തിന് ഒരു അപവാദമാണ്. 'o' എന്ന ചെറിയ അക്ഷരത്തിൽ ആരംഭിക്കുന്ന ഒന്നിലധികം അക്ഷര ഓപ്ഷനുകൾ
രണ്ട് ഡാഷുകൾക്ക് മുമ്പായി മാത്രമേ കഴിയൂ. എന്ന ആശയക്കുഴപ്പം കുറയ്ക്കാനാണിത് -o ഓപ്ഷൻ. അങ്ങനെ
ഉദാഹരണത്തിന് - ഒമാജിക് ഔട്ട്പുട്ട് ഫയലിന്റെ പേര് സജ്ജമാക്കുന്നു ജാലവിദ്യ അതേസമയം --ഓമാജിക് NMAGIC സജ്ജമാക്കുന്നു
ഔട്ട്പുട്ടിൽ പതാക.

ഒന്നിലധികം-അക്ഷര ഓപ്‌ഷനുകളിലേക്കുള്ള ആർഗ്യുമെന്റുകൾ ഒന്നുകിൽ ഓപ്‌ഷൻ പേരിൽ നിന്ന് വേർതിരിക്കേണ്ടതാണ്
തുല്യ ചിഹ്നം, അല്ലെങ്കിൽ ഓപ്‌ഷനുശേഷം ഉടനടി പ്രത്യേക ആർഗ്യുമെന്റുകളായി നൽകണം
അവരെ ആവശ്യപ്പെടുന്നു. ഉദാഹരണത്തിന്, --ട്രേസ്-ചിഹ്നം ഫൂ ഒപ്പം --trace-symbol=foo തുല്യമാണ്.
ഒന്നിലധികം-അക്ഷര ഓപ്ഷനുകളുടെ പേരുകളുടെ അദ്വിതീയ ചുരുക്കങ്ങൾ സ്വീകരിക്കുന്നു.

ശ്രദ്ധിക്കുക --- ഒരു കംപൈലർ ഡ്രൈവർ വഴി പരോക്ഷമായി ലിങ്കർ അഭ്യർത്ഥിക്കുകയാണെങ്കിൽ (ഉദാ ജിസി) പിന്നെ
എല്ലാ ലിങ്കർ കമാൻഡ് ലൈൻ ഓപ്ഷനുകളും പ്രിഫിക്സ് ചെയ്യണം -Wl, (അല്ലെങ്കിൽ ഉചിതമായത്
പ്രത്യേക കംപൈലർ ഡ്രൈവർക്കായി) ഇതുപോലെ:

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

ഇത് പ്രധാനമാണ്, അല്ലാത്തപക്ഷം കംപൈലർ ഡ്രൈവർ പ്രോഗ്രാം നിശബ്ദമായി ഡ്രോപ്പ് ചെയ്തേക്കാം
ലിങ്കർ ഓപ്‌ഷനുകൾ, ഒരു മോശം ലിങ്കിന് കാരണമാകുന്നു.

GNU ലിങ്കർ അംഗീകരിച്ച ജനറിക് കമാൻഡ് ലൈൻ സ്വിച്ചുകളുടെ ഒരു പട്ടിക ഇതാ:

-aകീവേഡ്
HP/UX അനുയോജ്യതയ്ക്കായി ഈ ഓപ്ഷൻ പിന്തുണയ്ക്കുന്നു. ദി കീവേഡ് വാദം അതിലൊന്നായിരിക്കണം
ചരടുകൾ ആർക്കൈവ്, പങ്കിട്ടു, അഥവാ സ്ഥിരസ്ഥിതി. - ആർക്കൈവ് പ്രവർത്തനപരമായി തുല്യമാണ്
- ബിസ്റ്റാറ്റിക്, കൂടാതെ മറ്റ് രണ്ട് കീവേഡുകൾ പ്രവർത്തനപരമായി ഇതിന് തുല്യമാണ് -Bdynamic. ഈ
ഓപ്ഷൻ എത്ര തവണ വേണമെങ്കിലും ഉപയോഗിക്കാം.

-Aവാസ്തുവിദ്യ
--വാസ്തുവിദ്യ=വാസ്തുവിദ്യ
നിലവിലെ റിലീസിൽ ld, ഈ ഓപ്ഷൻ ഇന്റൽ 960 കുടുംബത്തിന് മാത്രമേ ഉപയോഗപ്രദമാകൂ
വാസ്തുവിദ്യകൾ. അതിൽ ld കോൺഫിഗറേഷൻ, ദി വാസ്തുവിദ്യ വാദം തിരിച്ചറിയുന്നു
960 കുടുംബത്തിലെ പ്രത്യേക വാസ്തുവിദ്യ, ചില സംരക്ഷണങ്ങൾ പ്രാപ്തമാക്കുകയും പരിഷ്ക്കരിക്കുകയും ചെയ്യുന്നു
ആർക്കൈവ്-ലൈബ്രറി തിരയൽ പാത.

യുടെ ഭാവി റിലീസുകൾ ld മറ്റ് ആർക്കിടെക്ചറുകൾക്ക് സമാനമായ പ്രവർത്തനത്തെ പിന്തുണച്ചേക്കാം
കുടുംബങ്ങൾ.

-b ഇൻപുട്ട് ഫോർമാറ്റ്
--ഫോർമാറ്റ്=ഇൻപുട്ട് ഫോർമാറ്റ്
ld ഒന്നിലധികം തരം ഒബ്‌ജക്‌റ്റ് ഫയലുകളെ പിന്തുണയ്‌ക്കാൻ കോൺഫിഗർ ചെയ്‌തേക്കാം. എങ്കിൽ നിങ്ങളുടെ ld is
ഈ രീതിയിൽ ക്രമീകരിച്ചു, നിങ്ങൾക്ക് ഉപയോഗിക്കാം -b ഇൻപുട്ടിനുള്ള ബൈനറി ഫോർമാറ്റ് വ്യക്തമാക്കുന്നതിനുള്ള ഓപ്ഷൻ
കമാൻഡ് ലൈനിൽ ഈ ഓപ്ഷൻ പിന്തുടരുന്ന ഒബ്ജക്റ്റ് ഫയലുകൾ. എപ്പോൾ പോലും ld ക്രമീകരിച്ചിരിക്കുന്നു
ഇതര ഒബ്‌ജക്റ്റ് ഫോർമാറ്റുകളെ പിന്തുണയ്ക്കുന്നതിന്, നിങ്ങൾ സാധാരണയായി ഇത് വ്യക്തമാക്കേണ്ടതില്ല ld
ഓരോന്നിലും ഏറ്റവും സാധാരണമായ ഫോർമാറ്റ് ഒരു ഡിഫോൾട്ട് ഇൻപുട്ട് ഫോർമാറ്റായി പ്രതീക്ഷിക്കുന്നതിനായി കോൺഫിഗർ ചെയ്യണം
യന്ത്രം. ഇൻപുട്ട് ഫോർമാറ്റ് ഒരു ടെക്സ്റ്റ് സ്ട്രിംഗ് ആണ്, പിന്തുണയ്ക്കുന്ന ഒരു പ്രത്യേക ഫോർമാറ്റിന്റെ പേര്
BFD ലൈബ്രറികൾ. (ലഭ്യമായ ബൈനറി ഫോർമാറ്റുകൾ നിങ്ങൾക്ക് ലിസ്റ്റ് ചെയ്യാം objdump -i.)

നിങ്ങൾ ഫയലുകൾ അസാധാരണമായ ബൈനറിയുമായി ലിങ്ക് ചെയ്യുകയാണെങ്കിൽ ഈ ഓപ്ഷൻ ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം
ഫോർമാറ്റ്. നിങ്ങൾക്ക് ഉപയോഗിക്കാനും കഴിയും -b ഫോർമാറ്റുകൾ വ്യക്തമായി മാറുന്നതിന് (ഒബ്ജക്റ്റ് ഫയലുകൾ ലിങ്ക് ചെയ്യുമ്പോൾ
വിവിധ ഫോർമാറ്റുകൾ), ഉൾപ്പെടെ -b ഇൻപുട്ട് ഫോർമാറ്റ് ഒബ്ജക്റ്റ് ഫയലുകളുടെ ഓരോ ഗ്രൂപ്പിനും മുമ്പായി
ഒരു പ്രത്യേക ഫോർമാറ്റിൽ.

"GNUTARGET" എന്ന എൻവയോൺമെന്റ് വേരിയബിളിൽ നിന്നാണ് ഡിഫോൾട്ട് ഫോർമാറ്റ് എടുത്തിരിക്കുന്നത്.

"TARGET" എന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു സ്ക്രിപ്റ്റിൽ നിന്ന് ഇൻപുട്ട് ഫോർമാറ്റ് നിർവചിക്കാം;

-c എംആർഐ-കമാൻഡ്ഫയൽ
--mri-script=എംആർഐ-കമാൻഡ്ഫയൽ
എംആർഐ നിർമ്മിക്കുന്ന ലിങ്കറുകളുമായുള്ള അനുയോജ്യതയ്ക്കായി, ld a-ൽ എഴുതിയ സ്ക്രിപ്റ്റ് ഫയലുകൾ സ്വീകരിക്കുന്നു
MRI അനുയോജ്യമായ സ്ക്രിപ്റ്റ് ഫയലുകളിൽ വിവരിച്ചിരിക്കുന്ന ഇതര, നിയന്ത്രിത കമാൻഡ് ഭാഷ
GNU ld ഡോക്യുമെന്റേഷന്റെ വിഭാഗം. ഓപ്ഷൻ ഉപയോഗിച്ച് MRI സ്ക്രിപ്റ്റ് ഫയലുകൾ അവതരിപ്പിക്കുക -c; ഉപയോഗിക്കുക
The -T പൊതു ആവശ്യത്തിൽ എഴുതിയ ലിങ്കർ സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാനുള്ള ഓപ്ഷൻ ld സ്ക്രിപ്റ്റിംഗ്
ഭാഷ. എങ്കിൽ MRI-cmdfile നിലവിലില്ല, ld നിർദ്ദിഷ്ട ഡയറക്ടറികളിൽ അത് തിരയുന്നു
ഏതെങ്കിലും വഴി -L ഓപ്ഷനുകൾ.

-d
-ഡിസി
-dp ഈ മൂന്ന് ഓപ്ഷനുകളും തുല്യമാണ്; അനുയോജ്യതയ്ക്കായി ഒന്നിലധികം ഫോമുകൾ പിന്തുണയ്ക്കുന്നു
മറ്റ് ലിങ്കറുകൾക്കൊപ്പം. മാറ്റിസ്ഥാപിക്കാവുന്ന ഔട്ട്പുട്ട് ആണെങ്കിൽപ്പോലും അവർ പൊതുവായ ചിഹ്നങ്ങൾക്ക് ഇടം നൽകുന്നു
ഫയൽ വ്യക്തമാക്കിയിരിക്കുന്നു (കൂടെ -r). "FORCE_COMMON_ALLOCATION" എന്ന സ്‌ക്രിപ്റ്റ് കമാൻഡിന് ഉണ്ട്
അതേ പ്രഭാവം.

-e എൻട്രി
--പ്രവേശനം=എൻട്രി
ഉപയോഗം എൻട്രി നിങ്ങളുടെ പ്രോഗ്രാമിന്റെ എക്സിക്യൂഷൻ ആരംഭിക്കുന്നതിനുള്ള വ്യക്തമായ ചിഹ്നമായി, പകരം
ഡിഫോൾട്ട് എൻട്രി പോയിന്റ്. പേരുള്ള ഒരു ചിഹ്നവും ഇല്ലെങ്കിൽ എൻട്രി, ലിങ്കർ ശ്രമിക്കും
പാഴ്‌സ് എൻട്രി ഒരു സംഖ്യയായി, അത് എൻട്രി വിലാസമായി ഉപയോഗിക്കുക (നമ്പർ ആയിരിക്കും
അടിസ്ഥാനം 10-ൽ വ്യാഖ്യാനിച്ചു; നിങ്ങൾക്ക് ഒരു ലീഡിംഗ് ഉപയോഗിക്കാം 0x അടിസ്ഥാനം 16, അല്ലെങ്കിൽ ഒരു ലീഡിംഗ് 0 അടിത്തറയ്ക്കായി
8).

--ഒഴിവാക്കുക-ലിബ്സ് ലിബ്,ലിബ്...
ചിഹ്നങ്ങൾ സ്വയമേവ ഉണ്ടാകാൻ പാടില്ലാത്ത ആർക്കൈവ് ലൈബ്രറികളുടെ ഒരു ലിസ്റ്റ് വ്യക്തമാക്കുന്നു
കയറ്റുമതി ചെയ്തു. ലൈബ്രറിയുടെ പേരുകൾ കോമകളോ കോളണുകളോ ഉപയോഗിച്ച് വേർതിരിച്ചേക്കാം. വ്യക്തമാക്കുന്നത്
"--exclude-libs ALL" എന്നത് സ്വയമേവയുള്ള കയറ്റുമതിയിൽ നിന്ന് എല്ലാ ആർക്കൈവ് ലൈബ്രറികളിലെയും ചിഹ്നങ്ങളെ ഒഴിവാക്കുന്നു.
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിനും ELF-നും മാത്രമേ ഈ ഓപ്ഷൻ ലഭ്യമാകൂ
ലക്ഷ്യമിടുന്ന തുറമുഖങ്ങൾ. i386 PE-യ്‌ക്ക്, ഒരു .def ഫയലിൽ വ്യക്തമായി ലിസ്റ്റുചെയ്തിരിക്കുന്ന ചിഹ്നങ്ങൾ ഇപ്പോഴും നിലവിലുണ്ട്
ഈ ഓപ്ഷൻ പരിഗണിക്കാതെ തന്നെ കയറ്റുമതി ചെയ്തു. ELF ടാർഗെറ്റുചെയ്‌ത പോർട്ടുകൾക്കായി, ഇത് ബാധിച്ച ചിഹ്നങ്ങൾ
ഓപ്ഷൻ മറഞ്ഞിരിക്കുന്നതായി കണക്കാക്കും.

-E
--കയറ്റുമതി-ഡൈനാമിക്
ചലനാത്മകമായി ലിങ്ക് ചെയ്‌ത എക്‌സിക്യൂട്ടബിൾ സൃഷ്‌ടിക്കുമ്പോൾ, ഡൈനാമിക് ചിഹ്നത്തിലേക്ക് എല്ലാ ചിഹ്നങ്ങളും ചേർക്കുക
മേശ. ചലനാത്മക ചിഹ്ന പട്ടിക എന്നത് ചലനാത്മകത്തിൽ നിന്ന് ദൃശ്യമാകുന്ന ചിഹ്നങ്ങളുടെ കൂട്ടമാണ്
റൺ ടൈമിലെ വസ്തുക്കൾ.

നിങ്ങൾ ഈ ഓപ്‌ഷൻ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, ഡൈനാമിക് ചിഹ്ന പട്ടികയിൽ സാധാരണയായി മാത്രമേ അടങ്ങിയിരിക്കൂ
ലിങ്കിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ചില ചലനാത്മക ഒബ്‌ജക്‌റ്റുകൾ പരാമർശിച്ചിരിക്കുന്ന ആ ചിഹ്നങ്ങൾ.

ഒരു ഡൈനാമിക് ഒബ്‌ജക്‌റ്റ് ലോഡുചെയ്യാൻ നിങ്ങൾ "dlopen" ഉപയോഗിക്കുകയാണെങ്കിൽ, അത് ചിഹ്നങ്ങളിലേക്ക് റഫർ ചെയ്യേണ്ടതുണ്ട്
മറ്റേതെങ്കിലും ചലനാത്മക ഒബ്‌ജക്‌റ്റിനേക്കാൾ പ്രോഗ്രാം നിർവചിച്ചിരിക്കുന്നത്, നിങ്ങൾ ഒരുപക്ഷേ അങ്ങനെ ചെയ്യും
പ്രോഗ്രാം തന്നെ ലിങ്ക് ചെയ്യുമ്പോൾ ഈ ഓപ്ഷൻ ഉപയോഗിക്കേണ്ടതുണ്ട്.

ഏത് ചിഹ്നങ്ങളിൽ ചേർക്കണം എന്നത് നിയന്ത്രിക്കാൻ നിങ്ങൾക്ക് പതിപ്പ് സ്ക്രിപ്റ്റ് ഉപയോഗിക്കാനും കഴിയും
ഔട്ട്പുട്ട് ഫോർമാറ്റ് പിന്തുണയ്ക്കുന്നുവെങ്കിൽ ഡൈനാമിക് ചിഹ്ന പട്ടിക. എന്നതിന്റെ വിവരണം കാണുക
--പതിപ്പ്-സ്ക്രിപ്റ്റ് @ref{VERSION}-ൽ.

-ഇ.ബി ബിഗ്-എൻഡിയൻ ഒബ്‌ജക്‌റ്റുകൾ ലിങ്ക് ചെയ്യുക. ഇത് ഡിഫോൾട്ട് ഔട്ട്പുട്ട് ഫോർമാറ്റിനെ ബാധിക്കുന്നു.

-ഇഎൽ ലിറ്റിൽ-എൻഡിയൻ ഒബ്‌ജക്‌റ്റുകൾ ലിങ്ക് ചെയ്യുക. ഇത് ഡിഫോൾട്ട് ഔട്ട്പുട്ട് ഫോർമാറ്റിനെ ബാധിക്കുന്നു.

-f
--ഓക്സിലറി പേര്
ഒരു ELF പങ്കിട്ട ഒബ്‌ജക്റ്റ് സൃഷ്‌ടിക്കുമ്പോൾ, ആന്തരിക DT_AUXILIARY ഫീൽഡ് എന്നതിലേക്ക് സജ്ജമാക്കുക
നിർദ്ദിഷ്ട പേര്. പങ്കിട്ടതിന്റെ ചിഹ്ന പട്ടിക ഡൈനാമിക് ലിങ്കറിനോട് ഇത് പറയുന്നു
പങ്കിട്ട വസ്തുവിന്റെ ചിഹ്ന പട്ടികയിൽ ഒബ്‌ജക്റ്റ് ഒരു സഹായ ഫിൽട്ടറായി ഉപയോഗിക്കണം
പേര്.

നിങ്ങൾ പിന്നീട് ഈ ഫിൽട്ടർ ഒബ്‌ജക്‌റ്റിനെതിരെ ഒരു പ്രോഗ്രാം ലിങ്ക് ചെയ്‌താൽ, നിങ്ങൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ
പ്രോഗ്രാം, ഡൈനാമിക് ലിങ്കർ DT_AUXILIARY ഫീൽഡ് കാണും. ഡൈനാമിക് ലിങ്കർ ആണെങ്കിൽ
ഫിൽട്ടർ ഒബ്‌ജക്‌റ്റിൽ നിന്ന് ഏതെങ്കിലും ചിഹ്നങ്ങൾ പരിഹരിക്കുന്നു, അത് ആദ്യം a ഉണ്ടോ എന്ന് പരിശോധിക്കും
പങ്കിട്ട വസ്തുവിലെ നിർവ്വചനം പേര്. ഒന്ന് ഉണ്ടെങ്കിൽ, അത് പകരം ഉപയോഗിക്കും
ഫിൽട്ടർ ഒബ്ജക്റ്റിലെ നിർവചനം. പങ്കിട്ട വസ്തു പേര് നിലവിലില്ല. അങ്ങനെ ദി
പങ്കിട്ട വസ്തു പേര് ചിലവയുടെ ബദൽ നടപ്പാക്കൽ നൽകുന്നതിന് ഉപയോഗിച്ചേക്കാം
ഫംഗ്‌ഷനുകൾ, ഒരുപക്ഷേ ഡീബഗ്ഗിംഗിനോ അല്ലെങ്കിൽ മെഷീൻ നിർദ്ദിഷ്ട പ്രകടനത്തിനോ വേണ്ടി.

ഈ ഓപ്ഷൻ ഒന്നിലധികം തവണ വ്യക്തമാക്കിയേക്കാം. DT_AUXILIARY എൻട്രികൾ സൃഷ്ടിക്കപ്പെടും
കമാൻഡ് ലൈനിൽ അവ ദൃശ്യമാകുന്ന ക്രമത്തിൽ.

-F പേര്
--ഫിൽട്ടർ പേര്
ഒരു ELF പങ്കിട്ട ഒബ്‌ജക്‌റ്റ് സൃഷ്‌ടിക്കുമ്പോൾ, ആന്തരിക DT_FILTER ഫീൽഡ് വ്യക്തമാക്കിയതിലേക്ക് സജ്ജമാക്കുക
പേര്. പങ്കിട്ട ഒബ്‌ജക്‌റ്റിന്റെ ചിഹ്ന പട്ടിക ഇത് ഡൈനാമിക് ലിങ്കറോട് പറയുന്നു
സൃഷ്‌ടിക്കുന്നത് പങ്കിട്ട ഒബ്‌ജക്‌റ്റിന്റെ ചിഹ്ന പട്ടികയിൽ ഒരു ഫിൽട്ടറായി ഉപയോഗിക്കണം
പേര്.

നിങ്ങൾ പിന്നീട് ഈ ഫിൽട്ടർ ഒബ്‌ജക്‌റ്റിനെതിരെ ഒരു പ്രോഗ്രാം ലിങ്ക് ചെയ്‌താൽ, നിങ്ങൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ
പ്രോഗ്രാം, ഡൈനാമിക് ലിങ്കർ DT_FILTER ഫീൽഡ് കാണും. ഡൈനാമിക് ലിങ്കർ ചെയ്യും
സാധാരണ പോലെ ഫിൽട്ടർ ഒബ്ജക്റ്റിന്റെ ചിഹ്ന പട്ടിക അനുസരിച്ച് ചിഹ്നങ്ങൾ പരിഹരിക്കുക, പക്ഷേ അത്
പങ്കിട്ട ഒബ്‌ജക്റ്റിൽ കാണുന്ന നിർവചനങ്ങളുമായി യഥാർത്ഥത്തിൽ ലിങ്ക് ചെയ്യും പേര്. അങ്ങനെ
ഒബ്‌ജക്‌റ്റ് നൽകുന്ന ചിഹ്നങ്ങളുടെ ഒരു ഉപവിഭാഗം തിരഞ്ഞെടുക്കാൻ ഫിൽട്ടർ ഒബ്‌ജക്റ്റ് ഉപയോഗിക്കാം
പേര്.

ചില പഴയ ലിങ്കർമാർ ഉപയോഗിച്ചു -F എന്നതിനായുള്ള ഒരു സമാഹാര ടൂൾചെയിനിലുടനീളം ഓപ്ഷൻ
ഇൻപുട്ട്, ഔട്ട്പുട്ട് ഒബ്ജക്റ്റ് ഫയലുകൾക്കായി ഒബ്ജക്റ്റ്-ഫയൽ ഫോർമാറ്റ് വ്യക്തമാക്കുന്നു. GNU ലിങ്കർ
ഈ ആവശ്യത്തിനായി മറ്റ് സംവിധാനങ്ങൾ ഉപയോഗിക്കുന്നു: -b, --ഫോർമാറ്റ്, --ഓഫോർമാറ്റ് ഓപ്ഷനുകൾ, ദി
ലിങ്കർ സ്ക്രിപ്റ്റുകളിൽ "TARGET" കമാൻഡ്, കൂടാതെ "GNUTARGET" എൻവയോൺമെന്റ് വേരിയബിളും. GNU
ലിങ്കർ അവഗണിക്കും -F ഒരു ELF പങ്കിട്ട ഒബ്‌ജക്റ്റ് സൃഷ്‌ടിക്കാത്തപ്പോൾ ഓപ്ഷൻ.

-ഫിനി പേര്
ഒരു ELF എക്‌സിക്യൂട്ടബിൾ അല്ലെങ്കിൽ പങ്കിട്ട ഒബ്‌ജക്റ്റ് സൃഷ്‌ടിക്കുമ്പോൾ, എക്‌സിക്യൂട്ടബിൾ ആയിരിക്കുമ്പോൾ NAME-നെ വിളിക്കുക അല്ലെങ്കിൽ
ഫംഗ്‌ഷന്റെ വിലാസത്തിലേക്ക് DT_FINI സജ്ജീകരിച്ച് പങ്കിട്ട ഒബ്‌ജക്റ്റ് അൺലോഡ് ചെയ്‌തു. എഴുതിയത്
സ്ഥിരസ്ഥിതിയായി, വിളിക്കാനുള്ള ഫംഗ്‌ഷനായി ലിങ്കർ "_fini" ഉപയോഗിക്കുന്നു.

-g അവഗണിച്ചു. മറ്റ് ഉപകരണങ്ങളുമായി അനുയോജ്യതയ്ക്കായി നൽകിയിരിക്കുന്നു.

-Gമൂല്യം
--gpsize=മൂല്യം
ജിപി രജിസ്റ്റർ ഉപയോഗിച്ച് ഒപ്റ്റിമൈസ് ചെയ്യേണ്ട ഒബ്ജക്റ്റുകളുടെ പരമാവധി വലുപ്പം സജ്ജമാക്കുക വലുപ്പം. ഈ
പുട്ടിംഗ് പിന്തുണയ്ക്കുന്ന MIPS ECOFF പോലുള്ള ഒബ്‌ജക്റ്റ് ഫയൽ ഫോർമാറ്റുകൾക്ക് മാത്രമേ അർത്ഥമുള്ളൂ
വലുതും ചെറുതുമായ വസ്തുക്കൾ വ്യത്യസ്ത വിഭാഗങ്ങളായി. മറ്റ് ഒബ്ജക്റ്റിനായി ഇത് അവഗണിക്കപ്പെടുന്നു
ഫയൽ ഫോർമാറ്റുകൾ.

-hപേര്
-സോനാമേ=പേര്
ഒരു ELF പങ്കിട്ട ഒബ്‌ജക്റ്റ് സൃഷ്‌ടിക്കുമ്പോൾ, ആന്തരിക DT_SONAME ഫീൽഡ് വ്യക്തമാക്കിയതായി സജ്ജമാക്കുക
പേര്. ഒരു DT_SONAME ഫീൽഡ് ഉള്ള ഒരു പങ്കിട്ട ഒബ്‌ജക്‌റ്റുമായി എക്‌സിക്യൂട്ടബിൾ ലിങ്ക് ചെയ്യുമ്പോൾ,
എക്സിക്യൂട്ടബിൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ ഡൈനാമിക് ലിങ്കർ പങ്കിട്ടത് ലോഡ് ചെയ്യാൻ ശ്രമിക്കും
നൽകിയിരിക്കുന്ന ഫയൽ നാമം ഉപയോഗിക്കുന്നതിന് പകരം DT_SONAME ഫീൽഡ് വ്യക്തമാക്കിയ ഒബ്ജക്റ്റ്
ലിങ്കർ.

-i ഒരു ഇൻക്രിമെന്റൽ ലിങ്ക് നടത്തുക (ഓപ്ഷൻ പോലെ തന്നെ -r).

-init പേര്
ഒരു ELF എക്‌സിക്യൂട്ടബിൾ അല്ലെങ്കിൽ പങ്കിട്ട ഒബ്‌ജക്റ്റ് സൃഷ്‌ടിക്കുമ്പോൾ, എക്‌സിക്യൂട്ടബിൾ ആയിരിക്കുമ്പോൾ NAME-നെ വിളിക്കുക അല്ലെങ്കിൽ
ഫംഗ്‌ഷന്റെ വിലാസത്തിലേക്ക് DT_INIT സജ്ജീകരിക്കുന്നതിലൂടെ പങ്കിട്ട ഒബ്‌ജക്റ്റ് ലോഡ് ചെയ്‌തു. എഴുതിയത്
സ്ഥിരസ്ഥിതിയായി, വിളിക്കാനുള്ള ഫംഗ്‌ഷനായി ലിങ്കർ "_init" ഉപയോഗിക്കുന്നു.

-lആർക്കൈവ്
--ലൈബ്രറി=ആർക്കൈവ്
ആർക്കൈവ് ഫയൽ ചേർക്കുക ആർക്കൈവ് ലിങ്ക് ചെയ്യേണ്ട ഫയലുകളുടെ ലിസ്റ്റിലേക്ക്. ഈ ഓപ്ഷൻ ഏത് വേണമെങ്കിലും ഉപയോഗിക്കാം
തവണകളുടെ എണ്ണം. ld "lib" ന്റെ സംഭവവികാസങ്ങൾക്കായി അതിന്റെ പാത്ത്-ലിസ്റ്റ് തിരയുംആർക്കൈവ്.എ" വേണ്ടി
ഓരോ ആർക്കൈവ് വ്യക്തമാക്കിയ.

പങ്കിട്ട ലൈബ്രറികളെ പിന്തുണയ്ക്കുന്ന സിസ്റ്റങ്ങളിൽ, ld ഉപയോഗിച്ച് ലൈബ്രറികൾക്കായി തിരയുകയും ചെയ്യാം
".a" ഒഴികെയുള്ള വിപുലീകരണങ്ങൾ. പ്രത്യേകിച്ചും, ELF, SunOS സിസ്റ്റങ്ങളിൽ, ld എ അന്വേഷിക്കും
ഒരു ലൈബ്രറിക്കായി തിരയുന്നതിന് മുമ്പ് ".so" എന്നതിന്റെ വിപുലീകരണമുള്ള ഒരു ലൈബ്രറിയുടെ ഡയറക്ടറി
".a" എന്നതിന്റെ വിപുലീകരണം. കൺവെൻഷൻ പ്രകാരം, ".so" വിപുലീകരണം ഒരു പങ്കിട്ട ലൈബ്രറിയെ സൂചിപ്പിക്കുന്നു.

ഒരു ആർക്കൈവ് വ്യക്തമാക്കിയിട്ടുള്ള സ്ഥലത്ത് ലിങ്കർ ഒരിക്കൽ മാത്രം തിരയും
കമാൻഡ് ലൈൻ. ചില ഒബ്‌ജക്‌റ്റിൽ നിർവചിക്കാത്ത ഒരു ചിഹ്നത്തെ ആർക്കൈവ് നിർവചിക്കുന്നുവെങ്കിൽ
കമാൻഡ് ലൈനിലെ ആർക്കൈവിന് മുമ്പായി പ്രത്യക്ഷപ്പെട്ട, ലിങ്കർ ഉൾപ്പെടും
ആർക്കൈവിൽ നിന്ന് ഉചിതമായ ഫയൽ(കൾ). എന്നിരുന്നാലും, ഒരു വസ്തുവിൽ നിർവചിക്കപ്പെടാത്ത ചിഹ്നം
കമാൻഡ് ലൈനിൽ പിന്നീട് ദൃശ്യമാകുന്നത് ലിങ്കർ ആർക്കൈവ് തിരയുന്നതിന് കാരണമാകില്ല
വീണ്ടും.

കാണുക -( ആർക്കൈവുകൾ ഒന്നിലധികം തവണ തിരയാൻ ലിങ്കറെ നിർബന്ധിക്കുന്നതിനുള്ള ഒരു മാർഗ്ഗം.

കമാൻഡ് ലൈനിൽ നിങ്ങൾക്ക് ഒരേ ആർക്കൈവ് ഒന്നിലധികം തവണ ലിസ്റ്റ് ചെയ്യാം.

ഇത്തരത്തിലുള്ള ആർക്കൈവ് തിരയൽ Unix ലിങ്കറുകൾക്ക് സാധാരണമാണ്. എന്നിരുന്നാലും, നിങ്ങളാണെങ്കിൽ
ഉപയോഗിച്ച് ld AIX-ൽ, ഇത് AIX ലിങ്കറിന്റെ സ്വഭാവത്തിൽ നിന്ന് വ്യത്യസ്തമാണെന്നത് ശ്രദ്ധിക്കുക.

-Lതിരയുക
--library-path=തിരയുക
പാത ചേർക്കുക തിരയുക ആ പാതകളുടെ പട്ടികയിലേക്ക് ld ആർക്കൈവ് ലൈബ്രറികൾക്കായി തിരയുകയും ചെയ്യും
ld നിയന്ത്രണ സ്ക്രിപ്റ്റുകൾ. നിങ്ങൾക്ക് ഈ ഓപ്ഷൻ എത്ര തവണ വേണമെങ്കിലും ഉപയോഗിക്കാം. ഡയറക്ടറികൾ ആകുന്നു
കമാൻഡ് ലൈനിൽ അവ വ്യക്തമാക്കിയിരിക്കുന്ന ക്രമത്തിൽ തിരഞ്ഞു. ഡയറക്ടറികൾ
കമാൻഡ് ലൈനിൽ വ്യക്തമാക്കിയിട്ടുള്ളവ സ്ഥിരസ്ഥിതി ഡയറക്ടറികൾക്ക് മുമ്പായി തിരയുന്നു. എല്ലാം -L
ഓപ്ഷനുകൾ എല്ലാവർക്കും ബാധകമാണ് -l ഓപ്ഷനുകൾ, ഓപ്‌ഷനുകൾ ദൃശ്യമാകുന്ന ക്രമം പരിഗണിക്കാതെ തന്നെ.

If തിരയുക "=" എന്നതിൽ ആരംഭിക്കുന്നു, തുടർന്ന് "=" എന്നത് മാറ്റിസ്ഥാപിക്കും സിസ് റൂട്ട് പ്രിഫിക്‌സ്ഒരു
ലിങ്കർ കോൺഫിഗർ ചെയ്യുമ്പോൾ പാത വ്യക്തമാക്കിയിരിക്കുന്നു.

തിരഞ്ഞ പാതകളുടെ സ്ഥിരസ്ഥിതി സെറ്റ് (കൂടാതെ -L) ഏതിനെ ആശ്രയിച്ചിരിക്കുന്നു
എമുലേഷൻ മോഡ് ld ഉപയോഗിക്കുന്നു, ചില സന്ദർഭങ്ങളിൽ ഇത് എങ്ങനെ ക്രമീകരിച്ചു എന്നതിനെക്കുറിച്ചും.

"SEARCH_DIR" കമാൻഡ് ഉള്ള ഒരു ലിങ്ക് സ്ക്രിപ്റ്റിലും പാതകൾ വ്യക്തമാക്കാം.
ഈ രീതിയിൽ വ്യക്തമാക്കിയ ഡയറക്‌ടറികൾ ലിങ്കർ സ്‌ക്രിപ്റ്റ് ഉള്ള പോയിന്റിൽ തിരയുന്നു
കമാൻഡ് ലൈനിൽ ദൃശ്യമാകുന്നു.

-mഎമുലേഷൻ
അനുകരിക്കുക എമുലേഷൻ ലിങ്കർ. ഉപയോഗിച്ച് നിങ്ങൾക്ക് ലഭ്യമായ അനുകരണങ്ങൾ ലിസ്റ്റ് ചെയ്യാം
--വാക്കുകൾ or -V ഓപ്ഷനുകൾ.

എങ്കില് -m ഓപ്ഷൻ ഉപയോഗിക്കുന്നില്ല, "LDEMULATION" എന്നതിൽ നിന്നാണ് എമുലേഷൻ എടുത്തത്
പരിസ്ഥിതി വേരിയബിൾ, അത് നിർവചിച്ചാൽ.

അല്ലെങ്കിൽ, ഡിഫോൾട്ട് എമുലേഷൻ ലിങ്കർ എങ്ങനെ ക്രമീകരിച്ചു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു.

-M
--പ്രിന്റ്-മാപ്പ്
സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് ഒരു ലിങ്ക് മാപ്പ് പ്രിന്റ് ചെയ്യുക. ഒരു ലിങ്ക് മാപ്പ് ഇതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ നൽകുന്നു
ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ ലിങ്ക്:

* ഒബ്‌ജക്‌റ്റ് ഫയലുകളും ചിഹ്നങ്ങളും മെമ്മറിയിലേക്ക് മാപ്പ് ചെയ്‌തിരിക്കുന്നിടത്ത്.

* എങ്ങനെയാണ് പൊതുവായ ചിഹ്നങ്ങൾ അനുവദിച്ചിരിക്കുന്നത്.

* എല്ലാ ആർക്കൈവ് അംഗങ്ങളും ലിങ്കിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, ചിഹ്നത്തിന്റെ പരാമർശം
ആർക്കൈവ് അംഗത്തെ കൊണ്ടുവരാൻ കാരണമായി.

-n
--മാജിക്
വിഭാഗങ്ങളുടെ പേജ് വിന്യാസം ഓഫാക്കുക, സാധ്യമെങ്കിൽ ഔട്ട്പുട്ട് "NMAGIC" എന്ന് അടയാളപ്പെടുത്തുക.

-N
--ഓമാജിക്
ടെക്‌സ്‌റ്റ്, ഡാറ്റ വിഭാഗങ്ങൾ വായിക്കാനും എഴുതാനും കഴിയുന്ന തരത്തിൽ സജ്ജമാക്കുക. കൂടാതെ, പേജ് അലൈൻ ചെയ്യരുത്
ഡാറ്റ സെഗ്‌മെന്റ്, പങ്കിട്ട ലൈബ്രറികൾക്കെതിരായ ലിങ്കിംഗ് പ്രവർത്തനരഹിതമാക്കുക. ഔട്ട്പുട്ട് ഫോർമാറ്റ് ആണെങ്കിൽ
Unix സ്റ്റൈൽ മാജിക് നമ്പറുകൾ പിന്തുണയ്ക്കുന്നു, ഔട്ട്പുട്ട് "OMAGIC" എന്ന് അടയാളപ്പെടുത്തുക. ശ്രദ്ധിക്കുക: എങ്കിലും എ
PE-COFF ടാർഗെറ്റുകൾക്കായി എഴുതാവുന്ന ടെക്‌സ്‌റ്റ് വിഭാഗം അനുവദനീയമാണ്, ഇത് ഇനിപ്പറയുന്നവയുമായി പൊരുത്തപ്പെടുന്നില്ല
മൈക്രോസോഫ്റ്റ് പ്രസിദ്ധീകരിച്ച ഫോർമാറ്റ് സ്പെസിഫിക്കേഷൻ.

--നോ-ഓമാജിക്
ഈ ഓപ്ഷൻ മിക്ക ഫലങ്ങളെയും നിരാകരിക്കുന്നു -N ഓപ്ഷൻ. ഇത് ടെക്സ്റ്റ് സെക്ഷനെ സജ്ജമാക്കുന്നു
വായിക്കാൻ മാത്രം, കൂടാതെ ഡാറ്റ സെഗ്‌മെന്റിനെ പേജ് വിന്യസിക്കാൻ പ്രേരിപ്പിക്കുന്നു. ശ്രദ്ധിക്കുക - ഈ ഓപ്ഷൻ ചെയ്യുന്നു
പങ്കിട്ട ലൈബ്രറികൾക്കെതിരായ ലിങ്കിംഗ് പ്രവർത്തനക്ഷമമാക്കുന്നില്ല. ഉപയോഗിക്കുക -Bdynamic ഇതിനായി.

-o ഔട്ട്പുട്ട്
--ഔട്ട്‌പുട്ട്=ഔട്ട്പുട്ട്
ഉപയോഗം ഔട്ട്പുട്ട് നിർമ്മിച്ച പ്രോഗ്രാമിന്റെ പേരായി ld; ഈ ഓപ്ഷൻ ഇല്ലെങ്കിൽ
വ്യക്തമാക്കിയ, പേര് a.out സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുന്നു. "OUTPUT" എന്ന സ്ക്രിപ്റ്റ് കമാൻഡിനും കഴിയും
ഔട്ട്പുട്ട് ഫയലിന്റെ പേര് വ്യക്തമാക്കുക.

-O ലെവൽ
If ലെവൽ പൂജ്യത്തേക്കാൾ വലിയ ഒരു സംഖ്യാ മൂല്യമാണ് ld ഔട്ട്പുട്ട് ഒപ്റ്റിമൈസ് ചെയ്യുന്നു. ഇത് ഒരുപക്ഷേ
കാര്യമായ സമയമെടുക്കും, അതിനാൽ ഒരുപക്ഷേ ഫൈനലിനായി മാത്രമേ പ്രവർത്തനക്ഷമമാക്കാവൂ
ബൈനറി.

-q
--എമിറ്റ്-റെലോക്ക്സ്
പൂർണ്ണമായി ലിങ്ക് ചെയ്‌ത എക്‌സിക്യുട്ടബിളുകളിൽ റീലൊക്കേഷൻ വിഭാഗങ്ങളും ഉള്ളടക്കങ്ങളും വിടുക. പോസ്റ്റ് ലിങ്ക്
വിശകലനത്തിനും ഒപ്റ്റിമൈസേഷൻ ടൂളുകൾക്കും ശരിയായി പ്രവർത്തിക്കുന്നതിന് ഈ വിവരങ്ങൾ ആവശ്യമായി വന്നേക്കാം
എക്സിക്യൂട്ടബിളുകളുടെ പരിഷ്ക്കരണങ്ങൾ. ഇത് വലിയ എക്സിക്യൂട്ടബിളുകൾക്ക് കാരണമാകുന്നു.

ഈ ഓപ്‌ഷൻ നിലവിൽ ELF പ്ലാറ്റ്‌ഫോമുകളിൽ മാത്രമേ പിന്തുണയ്ക്കൂ.

-r
-- സ്ഥലം മാറ്റാവുന്നത്
മാറ്റിസ്ഥാപിക്കാവുന്ന ഔട്ട്പുട്ട് ജനറേറ്റ് ചെയ്യുക---അതായത്, ഒരു ഔട്ട്പുട്ട് ഫയൽ ജനറേറ്റ് ചെയ്യുക
ഇൻപുട്ട് ld. ഇത് പലപ്പോഴും വിളിക്കപ്പെടുന്നു ഭാഗികം ലിങ്കുചെയ്യുന്നു. ഒരു പാർശ്വഫലമായി, പരിസരങ്ങളിൽ
സ്റ്റാൻഡേർഡ് Unix മാജിക് നമ്പറുകളെ പിന്തുണയ്ക്കുന്ന, ഈ ഓപ്ഷൻ ഔട്ട്പുട്ട് ഫയലുകളും സജ്ജമാക്കുന്നു
"OMAGIC" എന്നതിലേക്ക് മാന്ത്രിക നമ്പർ. ഈ ഓപ്ഷൻ വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, ഒരു സമ്പൂർണ്ണ ഫയൽ ആണ്
ഉൽപ്പാദിപ്പിച്ചു. C++ പ്രോഗ്രാമുകൾ ലിങ്ക് ചെയ്യുമ്പോൾ, ഈ ഓപ്ഷൻ ഉദ്ദേശിക്കുന്ന അല്ല റഫറൻസുകൾ പരിഹരിക്കുക
കൺസ്ട്രക്റ്റർമാർ; അത് ചെയ്യാൻ, ഉപയോഗിക്കുക -ഉർ.

ഒരു ഇൻപുട്ട് ഫയലിന് ഔട്ട്പുട്ട് ഫയലിന്റെ അതേ ഫോർമാറ്റ് ഇല്ലെങ്കിൽ, ഭാഗിക ലിങ്കിംഗ്
ആ ഇൻപുട്ട് ഫയലിൽ റീലോക്കേഷനുകളൊന്നും അടങ്ങിയിട്ടില്ലെങ്കിൽ മാത്രമേ പിന്തുണയ്ക്കൂ. വ്യത്യസ്ത
ഔട്ട്പുട്ട് ഫോർമാറ്റുകൾക്ക് കൂടുതൽ നിയന്ത്രണങ്ങൾ ഉണ്ടാകാം; ഉദാഹരണത്തിന് ചില "a.out"-അടിസ്ഥാന ഫോർമാറ്റുകൾ
മറ്റ് ഫോർമാറ്റുകളിലെ ഇൻപുട്ട് ഫയലുകളുമായുള്ള ഭാഗിക ലിങ്കിംഗിനെ പിന്തുണയ്‌ക്കരുത്.

ഈ ഓപ്‌ഷനും അതേ കാര്യം തന്നെ ചെയ്യുന്നു -i.

-R ഫയലിന്റെ പേര്
--വെറും-ചിഹ്നങ്ങൾ=ഫയലിന്റെ പേര്
ചിഹ്ന നാമങ്ങളും അവയുടെ വിലാസങ്ങളും വായിക്കുക ഫയലിന്റെ പേര്, എന്നാൽ അത് മാറ്റി സ്ഥാപിക്കുകയോ ഉൾപ്പെടുത്തുകയോ ചെയ്യരുത്
അത് ഔട്ട്പുട്ടിൽ. ഇത് നിങ്ങളുടെ ഔട്ട്‌പുട്ട് ഫയലിനെ പ്രതീകാത്മകമായി സമ്പൂർണ്ണതയിലേക്ക് റഫർ ചെയ്യാൻ അനുവദിക്കുന്നു
മറ്റ് പ്രോഗ്രാമുകളിൽ നിർവ്വചിച്ച മെമ്മറിയുടെ സ്ഥാനങ്ങൾ. നിങ്ങൾക്ക് കൂടുതൽ ഈ ഓപ്ഷൻ ഉപയോഗിക്കാം
ഒരിക്കല്.

മറ്റ് ELF ലിങ്കറുകളുമായുള്ള അനുയോജ്യതയ്ക്കായി, എങ്കിൽ -R ഓപ്ഷന് ശേഷം ഒരു ഡയറക്‌ടറി
പേര്, ഒരു ഫയലിന്റെ പേരിനുപകരം, ഇത് ആയി കണക്കാക്കപ്പെടുന്നു -rpath ഓപ്ഷൻ.

-s
--സ്ട്രിപ്പ്-എല്ലാം
ഔട്ട്പുട്ട് ഫയലിൽ നിന്ന് എല്ലാ ചിഹ്ന വിവരങ്ങളും ഒഴിവാക്കുക.

-S
--സ്ട്രിപ്പ്-ഡീബഗ്
ഔട്ട്‌പുട്ട് ഫയലിൽ നിന്ന് ഡീബഗ്ഗർ ചിഹ്ന വിവരങ്ങൾ (എല്ലാ ചിഹ്നങ്ങളും അല്ല) ഒഴിവാക്കുക.

-t
--ട്രേസ്
ഇൻപുട്ട് ഫയലുകളുടെ പേരുകൾ ഇതായി പ്രിന്റ് ചെയ്യുക ld അവരെ പ്രോസസ്സ് ചെയ്യുന്നു.

-T സ്ക്രിപ്റ്റ്ഫയൽ
--സ്ക്രിപ്റ്റ്=സ്ക്രിപ്റ്റ്ഫയൽ
ഉപയോഗം സ്ക്രിപ്റ്റ്ഫയൽ ലിങ്കർ സ്ക്രിപ്റ്റ് ആയി. ഈ സ്ക്രിപ്റ്റ് മാറ്റിസ്ഥാപിക്കുന്നു ldയുടെ ഡിഫോൾട്ട് ലിങ്കർ സ്ക്രിപ്റ്റ്
(അതിലേക്ക് ചേർക്കുന്നതിനുപകരം), അങ്ങനെ കമാൻഡ് ഫയൽ ആവശ്യമായ എല്ലാം വ്യക്തമാക്കണം
ഔട്ട്പുട്ട് ഫയൽ വിവരിക്കുക. എങ്കിൽ സ്ക്രിപ്റ്റ്ഫയൽ നിലവിലെ ഡയറക്ടറിയിൽ നിലവിലില്ല,
"ld" അതിന് മുമ്പുള്ള ഏതെങ്കിലും ഡയറക്‌ടറികളിൽ തിരയുന്നു -L ഓപ്ഷനുകൾ. ഒന്നിലധികം
-T ഓപ്ഷനുകൾ കുമിഞ്ഞുകൂടുന്നു.

-u ചിഹ്നം
--defined=ചിഹ്നം
ശക്തിയാണ് ചിഹ്നം നിർവചിക്കാത്ത ചിഹ്നമായി ഔട്ട്‌പുട്ട് ഫയലിൽ നൽകണം. ഇത് ചെയ്യുന്നത്,
ഉദാഹരണത്തിന്, സ്റ്റാൻഡേർഡ് ലൈബ്രറികളിൽ നിന്നുള്ള അധിക മൊഡ്യൂളുകളുടെ ലിങ്കിംഗ് ട്രിഗർ ചെയ്യുക. -u ഒരുപക്ഷേ
അധിക നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ നൽകുന്നതിന് വ്യത്യസ്ത ഓപ്‌ഷൻ ആർഗ്യുമെന്റുകൾ ഉപയോഗിച്ച് ആവർത്തിക്കുന്നു. ഈ
ഓപ്ഷൻ "EXTERN" ലിങ്കർ സ്ക്രിപ്റ്റ് കമാൻഡിന് തുല്യമാണ്.

-ഉർ C++ പ്രോഗ്രാമുകൾ ഒഴികെ മറ്റെന്തെങ്കിലും, ഈ ഓപ്ഷൻ ഇതിന് തുല്യമാണ് -r: അത് സൃഷ്ടിക്കുന്നു
മാറ്റിസ്ഥാപിക്കാവുന്ന ഔട്ട്പുട്ട്---അതായത്, ഇൻപുട്ടായി സേവിക്കാൻ കഴിയുന്ന ഒരു ഔട്ട്പുട്ട് ഫയൽ ld. എപ്പോൾ
C++ പ്രോഗ്രാമുകൾ ലിങ്ക് ചെയ്യുന്നു, -ഉർ ചെയ്യുന്നവൻ കൺസ്‌ട്രക്‌ടറുകൾക്കുള്ള റഫറൻസുകൾ പരിഹരിക്കുക -r. അത് ചെയ്യുന്നു
ഉപയോഗിക്കാൻ പ്രവർത്തിക്കുന്നില്ല -ഉർ സ്വയം ലിങ്ക് ചെയ്ത ഫയലുകളിൽ -ഉർ; ഒരിക്കൽ
കൺസ്ട്രക്റ്റർ ടേബിൾ നിർമ്മിച്ചു, ഇതിലേക്ക് ചേർക്കാൻ കഴിയില്ല. ഉപയോഗിക്കുക -ഉർ അവസാനത്തേതിന് മാത്രം
ഭാഗിക ലിങ്ക്, ഒപ്പം -r മറ്റുള്ളവർക്ക്.

--അതുല്യം[=വിഭാഗം]
ഓരോ ഇൻപുട്ട് സെക്ഷൻ പൊരുത്തപ്പെടുത്തലിനും ഒരു പ്രത്യേക ഔട്ട്പുട്ട് വിഭാഗം സൃഷ്ടിക്കുന്നു വിഭാഗം, അല്ലെങ്കിൽ
ഓപ്ഷണൽ വൈൽഡ്കാർഡ് വിഭാഗം ഓരോ അനാഥ ഇൻപുട്ട് വിഭാഗത്തിനും ആർഗ്യുമെന്റ് കാണുന്നില്ല. എ
ഒരു ലിങ്കർ സ്ക്രിപ്റ്റിൽ പ്രത്യേകമായി പരാമർശിക്കാത്ത ഒന്നാണ് അനാഥ വിഭാഗം. നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം
കമാൻഡ് ലൈനിൽ ഒന്നിലധികം തവണ ഓപ്ഷൻ; ഇത് ഇൻപുട്ടിന്റെ സാധാരണ ലയനം തടയുന്നു
ഒരു ലിങ്കർ സ്ക്രിപ്റ്റിലെ ഔട്ട്പുട്ട് സെക്ഷൻ അസൈൻമെന്റുകളെ അസാധുവാക്കിക്കൊണ്ട്, അതേ പേരിലുള്ള വിഭാഗങ്ങൾ.

-v
--പതിപ്പ്
-V ഇതിനായുള്ള പതിപ്പ് നമ്പർ പ്രദർശിപ്പിക്കുക ld. ദി -V ഓപ്ഷൻ പിന്തുണയ്ക്കുന്ന എമുലേഷനുകളും ലിസ്റ്റുചെയ്യുന്നു.

-x
--എല്ലാം ഉപേക്ഷിക്കുക
എല്ലാ പ്രാദേശിക ചിഹ്നങ്ങളും ഇല്ലാതാക്കുക.

-X
--പ്രാദേശികരെ നിരസിക്കുക
എല്ലാ താൽക്കാലിക പ്രാദേശിക ചിഹ്നങ്ങളും ഇല്ലാതാക്കുക. മിക്ക ടാർഗെറ്റുകൾക്കും, ഇതെല്ലാം പ്രാദേശിക ചിഹ്നങ്ങളാണ്
പേരുകൾ തുടങ്ങുന്നു L.

-y ചിഹ്നം
--trace-symbol=ചിഹ്നം
ലിങ്ക് ചെയ്‌തിരിക്കുന്ന ഓരോ ഫയലിന്റെയും പേര് പ്രിന്റ് ചെയ്യുക ചിഹ്നം പ്രത്യക്ഷപ്പെടുന്നു. ഈ ഓപ്ഷൻ നൽകാം
എത്ര തവണ വേണമെങ്കിലും. പല സിസ്റ്റങ്ങളിലും ഒരു അടിവരയിടേണ്ടത് ആവശ്യമാണ്.

നിങ്ങളുടെ ലിങ്കിൽ നിർവചിക്കാത്ത ചിഹ്നമുണ്ടെങ്കിലും അറിയാത്തപ്പോൾ ഈ ഓപ്ഷൻ ഉപയോഗപ്രദമാണ്
എവിടെ നിന്നാണ് പരാമർശം വരുന്നത്.

-Y പാത
ചേർക്കുക പാത സ്ഥിരസ്ഥിതി ലൈബ്രറി തിരയൽ പാതയിലേക്ക്. സോളാരിസിന് ഈ ഓപ്ഷൻ നിലവിലുണ്ട്
അനുയോജ്യത.

-z കീവേഡ്
അംഗീകൃത കീവേഡുകൾ ഇവയാണ്:

കോംബ്രെലോക്ക്
ഒന്നിലധികം റീലോക്ക് വിഭാഗങ്ങൾ സംയോജിപ്പിച്ച് ഡൈനാമിക് സിംബൽ ലുക്കപ്പ് ഉണ്ടാക്കാൻ അവയെ അടുക്കുന്നു
കാഷിംഗ് സാധ്യമാണ്.

defs
ഒബ്ജക്റ്റ് ഫയലുകളിൽ നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ അനുവദിക്കുന്നില്ല. പങ്കിട്ടതിൽ നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ
ലൈബ്രറികൾ ഇപ്പോഴും അനുവദനീയമാണ്.

ആദ്യം
ഒരു പങ്കിട്ട ഒബ്‌ജക്‌റ്റ് നിർമ്മിക്കുമ്പോൾ മാത്രമേ ഈ ഓപ്ഷൻ അർത്ഥമുള്ളൂ. ഇത് വസ്തുവിനെ അടയാളപ്പെടുത്തുന്നു
എന്നതിന്റെ റൺടൈം ഇനീഷ്യലൈസേഷന് മുമ്പ് അതിന്റെ റൺടൈം ഇനീഷ്യലൈസേഷൻ സംഭവിക്കും
ഒരേ സമയം പ്രക്രിയയിലേക്ക് കൊണ്ടുവന്ന മറ്റേതെങ്കിലും വസ്തുക്കൾ. അതുപോലെ ദി
ഒബ്ജക്റ്റിന്റെ റൺടൈം ഫൈനലൈസേഷൻ റൺടൈം ഫൈനൽ ചെയ്തതിന് ശേഷം സംഭവിക്കും
മറ്റേതെങ്കിലും വസ്തുക്കൾ.

ഇടപെടുക
ഒബ്ജക്‌റ്റിനെ അടയാളപ്പെടുത്തുന്നു, അതിന്റെ ചിഹ്ന പട്ടിക എല്ലാ ചിഹ്നങ്ങൾക്കും മുമ്പായി ഇടപെടുന്നു
പ്രാഥമിക എക്സിക്യൂട്ടബിൾ.

loadfltr
റൺടൈമിൽ ഉടനടി അതിന്റെ ഫിൽട്ടറുകൾ പ്രോസസ്സ് ചെയ്യപ്പെടുന്ന ഒബ്ജക്റ്റിനെ അടയാളപ്പെടുത്തുന്നു.

muldefs
ഒന്നിലധികം നിർവചനങ്ങൾ അനുവദിക്കുന്നു.

നോകോംബ്രെലോക്
ഒന്നിലധികം റീലോക്ക് വിഭാഗങ്ങൾ സംയോജിപ്പിക്കുന്നത് പ്രവർത്തനരഹിതമാക്കുന്നു.

നോകോപൈറലോക്ക്
കോപ്പി റീലോക്കുകളുടെ നിർമ്മാണം പ്രവർത്തനരഹിതമാക്കുന്നു.

nodefaultlib
ഈ ഒബ്‌ജക്‌റ്റിന്റെ ഡിപൻഡൻസികൾക്കായുള്ള തിരയൽ ഏതെങ്കിലുമൊന്നിനെ അവഗണിക്കുമെന്ന് ഒബ്‌ജക്‌റ്റിനെ അടയാളപ്പെടുത്തുന്നു
സ്ഥിരസ്ഥിതി ലൈബ്രറി തിരയൽ പാതകൾ.

നോഡ്ലെറ്റ്
റൺടൈമിൽ ഒബ്ജക്റ്റ് അൺലോഡ് ചെയ്യാൻ പാടില്ല എന്ന് അടയാളപ്പെടുത്തുന്നു.

നോഡ്ലോപെൻ
"dlopen" എന്നതിലേക്ക് ഒബ്ജക്റ്റ് ലഭ്യമല്ലെന്ന് അടയാളപ്പെടുത്തുന്നു.

നോഡമ്പ്
"dldump" ഉപയോഗിച്ച് ഒബ്ജക്റ്റ് ഡംപ് ചെയ്യാൻ കഴിയില്ലെന്ന് അടയാളപ്പെടുത്തുന്നു.

ഇപ്പോള് എക്സിക്യൂട്ടബിൾ അല്ലെങ്കിൽ പങ്കിട്ട ലൈബ്രറി സൃഷ്ടിക്കുമ്പോൾ, ചലനാത്മകത പറയാൻ അത് അടയാളപ്പെടുത്തുക
പ്രോഗ്രാം ആരംഭിക്കുമ്പോഴോ പങ്കിടുമ്പോഴോ എല്ലാ ചിഹ്നങ്ങളും പരിഹരിക്കാനുള്ള ലിങ്കർ
ഫംഗ്‌ഷൻ കോൾ റെസലൂഷൻ മാറ്റിവയ്ക്കുന്നതിനുപകരം dlopen ഉപയോഗിക്കുന്നതിന് ലൈബ്രറി ലിങ്ക് ചെയ്‌തിരിക്കുന്നു
ഫംഗ്ഷൻ ആദ്യം വിളിക്കപ്പെടുന്ന ഘട്ടത്തിലേക്ക്.

ഉത്ഭവം
ഒബ്‌ജക്‌റ്റിൽ $ORIGIN അടങ്ങിയിരിക്കാമെന്ന് അടയാളപ്പെടുത്തുന്നു.

സോളാരിസ് അനുയോജ്യതയ്ക്കായി മറ്റ് കീവേഡുകൾ അവഗണിക്കപ്പെടുന്നു.

-( ആർക്കൈവുകൾ -)
--ആരംഭ-ഗ്രൂപ്പ് ആർക്കൈവുകൾ --അവസാനം-ഗ്രൂപ്പ്
ദി ആർക്കൈവുകൾ ആർക്കൈവ് ഫയലുകളുടെ ഒരു ലിസ്റ്റ് ആയിരിക്കണം. അവ ഒന്നുകിൽ വ്യക്തമായ ഫയലായിരിക്കാം
പേരുകൾ, അല്ലെങ്കിൽ -l ഓപ്ഷനുകൾ.

പുതിയ നിർവചിക്കാത്ത റഫറൻസുകളൊന്നും ഉണ്ടാകുന്നതുവരെ നിർദ്ദിഷ്ട ആർക്കൈവുകൾ ആവർത്തിച്ച് തിരയുന്നു
സൃഷ്ടിച്ചു. സാധാരണയായി, ഒരു ആർക്കൈവ് അത് വ്യക്തമാക്കിയ ക്രമത്തിൽ ഒരിക്കൽ മാത്രമേ തിരയുകയുള്ളൂ
കമാൻഡ് ലൈനിൽ. നിർവചിക്കാത്തത് പരിഹരിക്കാൻ ആ ആർക്കൈവിൽ ഒരു ചിഹ്നം ആവശ്യമുണ്ടെങ്കിൽ
കമാൻഡ് ലൈനിൽ പിന്നീട് ദൃശ്യമാകുന്ന ഒരു ആർക്കൈവിലെ ഒബ്‌ജക്റ്റ് സൂചിപ്പിക്കുന്ന ചിഹ്നം,
ലിങ്കർക്ക് ആ പരാമർശം പരിഹരിക്കാൻ കഴിയില്ല. ആർക്കൈവുകൾ ഗ്രൂപ്പുചെയ്യുന്നതിലൂടെ,
സാധ്യമായ എല്ലാ റഫറൻസുകളും പരിഹരിക്കപ്പെടുന്നതുവരെ അവയെല്ലാം ആവർത്തിച്ച് തിരയുന്നു.

ഈ ഓപ്ഷൻ ഉപയോഗിക്കുന്നതിന് കാര്യമായ പ്രകടന ചിലവ് ഉണ്ട്. എപ്പോൾ മാത്രം ഉപയോഗിക്കുന്നതാണ് നല്ലത്
രണ്ടോ അതിലധികമോ ആർക്കൈവുകൾക്കിടയിൽ ഒഴിവാക്കാനാകാത്ത വൃത്താകൃതിയിലുള്ള റഫറൻസുകൾ ഉണ്ട്.

--accept-unknown-input-arch
--no-accept-unknown-input-arch
ആർക്കിടെക്ചർ തിരിച്ചറിയാൻ കഴിയാത്ത ഇൻപുട്ട് ഫയലുകൾ സ്വീകരിക്കാൻ ലിങ്കറോട് പറയുന്നു. ദി
അവർ എന്താണ് ചെയ്യുന്നതെന്ന് ഉപയോക്താവിന് അറിയാമെന്നും ബോധപൂർവ്വം ലിങ്ക് ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെന്നും അനുമാനം
ഈ അജ്ഞാത ഇൻപുട്ട് ഫയലുകളിൽ. ലിങ്കറുടെ സ്ഥിരസ്ഥിതി സ്വഭാവം ഇതായിരുന്നു, മുമ്പ്
റിലീസ് 2.14. റിലീസ് 2.14 മുതലുള്ള ഡിഫോൾട്ട് സ്വഭാവം അത്തരം ഇൻപുട്ട് നിരസിക്കുക എന്നതാണ്
ഫയലുകൾ, അങ്ങനെ --accept-unknown-input-arch പഴയത് പുനഃസ്ഥാപിക്കാൻ ഓപ്ഷൻ ചേർത്തു
പെരുമാറ്റം.

--ആവശ്യത്തിനനുസരിച്ച്
--ആവശ്യമില്ല
കമാൻഡിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഡൈനാമിക് ലൈബ്രറികൾക്കുള്ള ELF DT_NEEDED ടാഗുകളെ ഈ ഓപ്ഷൻ ബാധിക്കുന്നു
എന്നതിന് ശേഷമുള്ള വരി --ആവശ്യത്തിനനുസരിച്ച് ഓപ്ഷൻ. സാധാരണയായി, ലിങ്കർ ഇതിനായി ഒരു DT_NEEDED ടാഗ് ചേർക്കും
കമാൻഡ് ലൈനിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഓരോ ഡൈനാമിക് ലൈബ്രറിയും, ലൈബ്രറിയാണോ എന്നത് പരിഗണിക്കാതെ തന്നെ
യഥാർത്ഥത്തിൽ ആവശ്യമാണ്. --ആവശ്യത്തിനനുസരിച്ച് DT_NEEDED ടാഗുകൾ മാത്രം പുറത്തുവിടാൻ കാരണമാകുന്നു
നിർവചിക്കാത്ത സാധാരണ ഒബ്‌ജക്‌റ്റുകളിൽ നിന്നുള്ള ചില ചിഹ്ന റഫറൻസ് തൃപ്തിപ്പെടുത്തുന്ന ലൈബ്രറികൾ
ലൈബ്രറി ലിങ്ക് ചെയ്ത ഘട്ടത്തിൽ. --ആവശ്യമില്ല സ്ഥിരസ്ഥിതി പുനഃസ്ഥാപിക്കുന്നു
പെരുമാറ്റം.

--ആഡ്-ആവശ്യമുണ്ട്
--ആഡ്-ആവശ്യമില്ല
ELF DT_NEEDED ടാഗുകളിൽ നിന്നുള്ള ഡൈനാമിക് ലൈബ്രറികളുടെ ചികിത്സയെ ഈ ഓപ്ഷൻ ബാധിക്കുന്നു.
ശേഷം കമാൻഡ് ലൈനിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഡൈനാമിക് ലൈബ്രറികൾ --ആഡ്-ആവശ്യമില്ല ഓപ്ഷൻ.
സാധാരണയായി, DT_NEEDED-ൽ നിന്നുള്ള ഓരോ ഡൈനാമിക് ലൈബ്രറിക്കും ലിങ്കർ ഒരു DT_NEEDED ടാഗ് ചേർക്കും
ടാഗുകൾ. --ആഡ്-ആവശ്യമില്ല ആ ലൈബ്രറികൾക്കായി DT_NEEDED ടാഗുകൾ ഒരിക്കലും പുറപ്പെടുവിക്കില്ല
DT_NEEDED ടാഗുകളിൽ നിന്ന്. --ആഡ്-ആവശ്യമുണ്ട് സ്വതവേയുള്ള പെരുമാറ്റം പുനഃസ്ഥാപിക്കുന്നു.

-അുറപ്പിക്കുക കീവേഡ്
SunOS അനുയോജ്യതയ്ക്കായി ഈ ഓപ്ഷൻ അവഗണിക്കപ്പെട്ടിരിക്കുന്നു.

-Bdynamic
-dy
-കോൾ_ഷെയർ ചെയ്തു
ഡൈനാമിക് ലൈബ്രറികൾക്കെതിരായ ലിങ്ക്. പങ്കിട്ട പ്ലാറ്റ്‌ഫോമുകളിൽ മാത്രമേ ഇത് അർത്ഥവത്തായിട്ടുള്ളൂ
ലൈബ്രറികൾ പിന്തുണയ്ക്കുന്നു. ഇത്തരം പ്ലാറ്റ്‌ഫോമുകളിൽ ഈ ഓപ്ഷൻ സാധാരണയായി ഡിഫോൾട്ടായിരിക്കും. ദി
ഈ ഓപ്ഷന്റെ വ്യത്യസ്ത വകഭേദങ്ങൾ വിവിധ സിസ്റ്റങ്ങളുമായുള്ള അനുയോജ്യതയ്ക്കുള്ളതാണ്. ഒരുപക്ഷേ നിങ്ങൾ
കമാൻഡ് ലൈനിൽ ഒന്നിലധികം തവണ ഈ ഓപ്ഷൻ ഉപയോഗിക്കുക: ഇത് ലൈബ്രറി തിരയലിനെ ബാധിക്കുന്നു
-l അതിനെ പിന്തുടരുന്ന ഓപ്ഷനുകൾ.

- ബി ഗ്രൂപ്പ്
ഡൈനാമിക് വിഭാഗത്തിലെ "DT_FLAGS_1" എൻട്രിയിൽ "DF_1_GROUP" ഫ്ലാഗ് സജ്ജീകരിക്കുക. ഈ
റൺടൈം ലിങ്കർ ഈ ഒബ്‌ജക്‌റ്റിലെ ലുക്കപ്പുകൾ കൈകാര്യം ചെയ്യുന്നതിനും അതിന്റെ ഡിപൻഡൻസികൾ ആയിരിക്കുന്നതിനും കാരണമാകുന്നു
ഗ്രൂപ്പിനുള്ളിൽ മാത്രം അവതരിപ്പിച്ചു. --unresolved-symbols=report-all സൂചിപ്പിക്കുന്നത്. ഈ
പങ്കിട്ട ലൈബ്രറികളെ പിന്തുണയ്ക്കുന്ന ELF പ്ലാറ്റ്‌ഫോമുകളിൽ മാത്രമേ ഓപ്ഷൻ അർത്ഥമുള്ളൂ.

- ബിസ്റ്റാറ്റിക്
-dn
-പങ്കിടാത്തത്
- സ്റ്റാറ്റിക്
പങ്കിട്ട ലൈബ്രറികൾക്കെതിരെ ലിങ്ക് ചെയ്യരുത്. പ്ലാറ്റ്‌ഫോമുകളിൽ മാത്രമേ ഇത് അർത്ഥവത്തായിട്ടുള്ളൂ
പങ്കിട്ട ലൈബ്രറികൾ പിന്തുണയ്ക്കുന്നു. ഈ ഓപ്ഷന്റെ വ്യത്യസ്ത വകഭേദങ്ങൾ അതിനുള്ളതാണ്
വിവിധ സിസ്റ്റങ്ങളുമായുള്ള അനുയോജ്യത. നിങ്ങൾക്ക് ഈ ഓപ്ഷൻ ഒന്നിലധികം തവണ ഉപയോഗിക്കാം
കമാൻഡ് ലൈൻ: ഇത് ലൈബ്രറി തിരയലിനെ ബാധിക്കുന്നു -l അതിനെ പിന്തുടരുന്ന ഓപ്ഷനുകൾ. ഈ
ഓപ്ഷനും സൂചിപ്പിക്കുന്നു --unresolved-symbols=report-all.

- പ്രതീകാത്മകം
ഒരു പങ്കിട്ട ലൈബ്രറി സൃഷ്ടിക്കുമ്പോൾ, ആഗോള ചിഹ്നങ്ങളിലേക്കുള്ള റഫറൻസുകൾ നിർവചനത്തിലേക്ക് ബന്ധിപ്പിക്കുക
പങ്കിട്ട ലൈബ്രറിയിൽ, എന്തെങ്കിലും ഉണ്ടെങ്കിൽ. സാധാരണയായി, ലിങ്ക് ചെയ്ത ഒരു പ്രോഗ്രാമിന് ഇത് സാധ്യമാണ്
പങ്കിട്ട ലൈബ്രറിക്കുള്ളിലെ നിർവചനം അസാധുവാക്കാൻ ഒരു പങ്കിട്ട ലൈബ്രറിക്കെതിരെ. ഈ
പങ്കിട്ട ലൈബ്രറികളെ പിന്തുണയ്ക്കുന്ന ELF പ്ലാറ്റ്‌ഫോമുകളിൽ മാത്രമേ ഓപ്ഷൻ അർത്ഥമുള്ളൂ.

--വിഭാഗങ്ങൾ പരിശോധിക്കുക
--നോ-ചെക്ക്-സെക്ഷനുകൾ
ലിങ്കർ ചോദിക്കുന്നു അല്ല അസൈൻ ചെയ്‌ത ശേഷം സെക്ഷൻ വിലാസങ്ങൾ പരിശോധിക്കാൻ
ഏതെങ്കിലും ഓവർലാപ്സ് ഉണ്ട്. സാധാരണയായി ലിങ്കർ ഈ പരിശോധന നടത്തും, എന്തെങ്കിലും കണ്ടെത്തിയാൽ
ഓവർലാപ്പ് ചെയ്യുന്നത് അനുയോജ്യമായ പിശക് സന്ദേശങ്ങൾ സൃഷ്ടിക്കും. ലിങ്കർക്ക് ഇതിനെക്കുറിച്ച് അറിയാം, കൂടാതെ
ഓവർലേകളിലെ വിഭാഗങ്ങൾക്ക് അലവൻസുകൾ നൽകുന്നു. ഡിഫോൾട്ട് സ്വഭാവം പുനഃസ്ഥാപിക്കാൻ കഴിയും
കമാൻഡ് ലൈൻ സ്വിച്ച് ഉപയോഗിച്ച് --വിഭാഗങ്ങൾ പരിശോധിക്കുക.

--ക്രെഫ്
ഒരു ക്രോസ് റഫറൻസ് ടേബിൾ ഔട്ട്പുട്ട് ചെയ്യുക. ഒരു ലിങ്കർ മാപ്പ് ഫയൽ ജനറേറ്റുചെയ്യുകയാണെങ്കിൽ, ക്രോസ്
റഫറൻസ് ടേബിൾ മാപ്പ് ഫയലിലേക്ക് പ്രിന്റ് ചെയ്തിരിക്കുന്നു. അല്ലെങ്കിൽ, അത് സ്റ്റാൻഡേർഡിൽ പ്രിന്റ് ചെയ്യുന്നു
.ട്ട്‌പുട്ട്.

പട്ടികയുടെ ഫോർമാറ്റ് മനഃപൂർവ്വം ലളിതമാണ്, അതിനാൽ അത് എളുപ്പത്തിൽ പ്രോസസ്സ് ചെയ്യാം
ആവശ്യമെങ്കിൽ ഒരു സ്ക്രിപ്റ്റ്. ചിഹ്നങ്ങൾ പ്രിന്റ് ഔട്ട്, പേര് പ്രകാരം അടുക്കിയിരിക്കുന്നു. ഓരോ ചിഹ്നത്തിനും,
ഫയൽ പേരുകളുടെ ഒരു ലിസ്റ്റ് നൽകിയിരിക്കുന്നു. ചിഹ്നം നിർവചിച്ചിട്ടുണ്ടെങ്കിൽ, ലിസ്റ്റുചെയ്തിരിക്കുന്ന ആദ്യത്തെ ഫയൽ ഇതാണ്
നിർവചനത്തിന്റെ സ്ഥാനം. ശേഷിക്കുന്ന ഫയലുകളിൽ ചിഹ്നത്തിലേക്കുള്ള റഫറൻസുകൾ അടങ്ങിയിരിക്കുന്നു.

--no-define-common
പൊതുവായ ചിഹ്നങ്ങളിലേക്കുള്ള വിലാസങ്ങളുടെ അസൈൻമെന്റ് ഈ ഓപ്ഷൻ തടയുന്നു. തിരക്കഥ
"INHIBIT_COMMON_ALLOCATION" എന്ന കമാൻഡിനും സമാനമായ ഫലമുണ്ട്.

ദി --no-define-common വിലാസങ്ങൾ അസൈൻ ചെയ്യാനുള്ള തീരുമാനം വേർപെടുത്താൻ ഓപ്ഷൻ അനുവദിക്കുന്നു
ഔട്ട്പുട്ട് ഫയൽ തരം തിരഞ്ഞെടുക്കുന്നതിൽ നിന്നുള്ള പൊതുവായ ചിഹ്നങ്ങൾ; അല്ലാത്തപക്ഷം ഒരു നോൺ-റെലോക്കേറ്റബിൾ
ഔട്ട്‌പുട്ട് ടൈപ്പ് ഫോഴ്‌സ് കോമൺ സിംബലുകൾക്ക് വിലാസങ്ങൾ നൽകുന്നു. ഉപയോഗിക്കുന്നത് --no-define-common
ഒരു പങ്കിട്ട ലൈബ്രറിയിൽ നിന്ന് പരാമർശിച്ചിരിക്കുന്ന പൊതുവായ ചിഹ്നങ്ങൾ അസൈൻ ചെയ്യാൻ അനുവദിക്കുന്നു
പ്രധാന പ്രോഗ്രാമിൽ മാത്രം വിലാസങ്ങൾ. ഇത് ഉപയോഗിക്കാത്ത ഡ്യൂപ്ലിക്കേറ്റ് ഇടം ഇല്ലാതാക്കുന്നു
പങ്കിട്ട ലൈബ്രറി, കൂടാതെ തെറ്റ് പരിഹരിക്കുന്നതിൽ സാധ്യമായ ആശയക്കുഴപ്പം തടയുന്നു
പ്രത്യേക തിരയൽ പാതകളുള്ള നിരവധി ഡൈനാമിക് മൊഡ്യൂളുകൾ ഉള്ളപ്പോൾ തനിപ്പകർപ്പ്
റൺടൈം ചിഹ്ന മിഴിവ്.

--defsym ചിഹ്നം=പദപ്രയോഗം
ഔട്ട്‌പുട്ട് ഫയലിൽ ഒരു ആഗോള ചിഹ്നം സൃഷ്‌ടിക്കുക, അതിൽ നൽകിയിരിക്കുന്ന സമ്പൂർണ്ണ വിലാസം അടങ്ങിയിരിക്കുന്നു
പദപ്രയോഗം. ഒന്നിലധികം നിർവചിക്കുന്നതിന് നിങ്ങൾക്ക് ആവശ്യമുള്ളത്ര തവണ ഈ ഓപ്ഷൻ ഉപയോഗിക്കാം
കമാൻഡ് ലൈനിലെ ചിഹ്നങ്ങൾ. ഗണിതത്തിന്റെ പരിമിതമായ രൂപത്തെ പിന്തുണയ്ക്കുന്നു
പദപ്രയോഗം ഈ സന്ദർഭത്തിൽ: നിങ്ങൾക്ക് ഒരു ഹെക്സാഡെസിമൽ സ്ഥിരാങ്കം അല്ലെങ്കിൽ ഒരു നാമം നൽകാം
നിലവിലുള്ള ചിഹ്നം, അല്ലെങ്കിൽ ഹെക്സാഡെസിമൽ സ്ഥിരാങ്കങ്ങൾ ചേർക്കുന്നതിനോ കുറയ്ക്കുന്നതിനോ "+", "-" എന്നിവ ഉപയോഗിക്കുക
ചിഹ്നങ്ങൾ. നിങ്ങൾക്ക് കൂടുതൽ വിപുലമായ പദപ്രയോഗങ്ങൾ ആവശ്യമുണ്ടെങ്കിൽ, ലിങ്കർ കമാൻഡ് ഉപയോഗിക്കുന്നത് പരിഗണിക്കുക
ഒരു ലിപിയിൽ നിന്നുള്ള ഭാഷ. കുറിപ്പ്: ഇടയിൽ വെളുത്ത ഇടം ഉണ്ടാകരുത് ചിഹ്നം,
ചിഹ്നത്തിന് തുല്യം (``=''), ഒപ്പം പദപ്രയോഗം.

--demangle[=ശൈലി]
--നോ-ഡിമാംഗിൾ
ഈ ഓപ്‌ഷനുകൾ പിശക് സന്ദേശങ്ങളിലും മറ്റുള്ളവയിലും ചിഹ്ന നാമങ്ങൾ ഡീമാംഗിൾ ചെയ്യണോ എന്ന് നിയന്ത്രിക്കുന്നു
ഔട്ട്പുട്ട്. ലിങ്കറോട് ഡീമാംഗിൾ ചെയ്യാൻ പറയുമ്പോൾ, അത് a എന്നതിൽ ചിഹ്ന നാമങ്ങൾ അവതരിപ്പിക്കാൻ ശ്രമിക്കുന്നു
റീഡബിൾ ഫാഷൻ: ഒബ്‌ജക്റ്റ് ഫയൽ ഉപയോഗിച്ചാൽ അത് ലീഡിംഗ് അണ്ടർസ്‌കോറുകൾ സ്ട്രിപ്പ് ചെയ്യുന്നു
ഫോർമാറ്റ് ചെയ്യുക, കൂടാതെ C++ മംഗൾഡ് ചിഹ്ന നാമങ്ങൾ ഉപയോക്താക്കൾക്ക് വായിക്കാനാകുന്ന പേരുകളാക്കി മാറ്റുന്നു. വ്യത്യസ്ത
കംപൈലറുകൾക്ക് വ്യത്യസ്ത മാംഗ്ലിംഗ് ശൈലികളുണ്ട്. ഓപ്ഷണൽ ഡിമാംഗ്ലിംഗ് ശൈലി ആർഗ്യുമെന്റിന് കഴിയും
നിങ്ങളുടെ കംപൈലറിന് അനുയോജ്യമായ ഡീമാംഗ്ലിംഗ് ശൈലി തിരഞ്ഞെടുക്കാൻ ഉപയോഗിക്കുക. ലിങ്കർ ചെയ്യും
എൻവയോൺമെന്റ് വേരിയബിൾ അല്ലാതെ ഡിഫോൾട്ടായി ഡിമാംഗിൾ ചെയ്യുക COLLECT_NO_DEMANGLE സജ്ജീകരിച്ചിരിക്കുന്നു. ഇവ
ഡിഫോൾട്ട് അസാധുവാക്കാൻ ഓപ്ഷനുകൾ ഉപയോഗിക്കാം.

--ഡൈനാമിക്-ലിങ്കർ ഫയല്
ഡൈനാമിക് ലിങ്കറിന്റെ പേര് സജ്ജീകരിക്കുക. സൃഷ്ടിക്കുമ്പോൾ മാത്രമേ ഇത് അർത്ഥമുള്ളൂ
ചലനാത്മകമായി ലിങ്ക് ചെയ്‌ത ELF എക്‌സിക്യൂട്ടബിളുകൾ. ഡിഫോൾട്ട് ഡൈനാമിക് ലിങ്കർ സാധാരണയായി ശരിയാണ്;
നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് അറിയില്ലെങ്കിൽ ഇത് ഉപയോഗിക്കരുത്.

--മാരകമായ മുന്നറിയിപ്പ്
എല്ലാ മുന്നറിയിപ്പുകളും പിശകുകളായി കണക്കാക്കുക.

--force-exe-suffix
ഒരു ഔട്ട്‌പുട്ട് ഫയലിന് .exe സഫിക്സ് ഉണ്ടെന്ന് ഉറപ്പാക്കുക.

വിജയകരമായി നിർമ്മിച്ച പൂർണ്ണമായി ലിങ്ക് ചെയ്‌ത ഔട്ട്‌പുട്ട് ഫയലിന് ".exe" അല്ലെങ്കിൽ ".dll" ഇല്ലെങ്കിൽ
സഫിക്സ്, ഔട്ട്പുട്ട് ഫയൽ അതേ പേരിലുള്ള ഒന്നിലേക്ക് പകർത്താൻ ഈ ഐച്ഛികം ലിങ്കറെ നിർബന്ധിക്കുന്നു
ഒരു ".exe" സഫിക്സ് ഉപയോഗിച്ച്. a-യിൽ പരിഷ്‌ക്കരിക്കാത്ത Unix മേക്ക് ഫയലുകൾ ഉപയോഗിക്കുമ്പോൾ ഈ ഓപ്ഷൻ ഉപയോഗപ്രദമാണ്
മൈക്രോസോഫ്റ്റ് വിൻഡോസ് ഹോസ്റ്റ്, വിൻഡോസിന്റെ ചില പതിപ്പുകൾ അതല്ലാതെ ഒരു ഇമേജ് പ്രവർത്തിപ്പിക്കില്ല
ഒരു ".exe" പ്രത്യയത്തിൽ അവസാനിക്കുന്നു.

--no-gc-വിഭാഗങ്ങൾ
--ജിസി-വിഭാഗങ്ങൾ
ഉപയോഗിക്കാത്ത ഇൻപുട്ട് വിഭാഗങ്ങളുടെ മാലിന്യ ശേഖരണം പ്രവർത്തനക്ഷമമാക്കുക. ചെയ്യുന്ന ലക്ഷ്യങ്ങളിൽ ഇത് അവഗണിക്കപ്പെടുന്നു
ഈ ഓപ്ഷനെ പിന്തുണയ്ക്കുന്നില്ല. ഈ ഓപ്ഷൻ അനുയോജ്യമല്ല -r. സ്ഥിര സ്വഭാവം
(ഈ മാലിന്യ ശേഖരണം നടത്താത്തത്) വ്യക്തമാക്കുന്നതിലൂടെ പുനഃസ്ഥാപിക്കാം
--no-gc-വിഭാഗങ്ങൾ കമാൻഡ് ലൈനിൽ.

--സഹായിക്കൂ
സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ കമാൻഡ്-ലൈൻ ഓപ്ഷനുകളുടെ ഒരു സംഗ്രഹം പ്രിന്റ് ചെയ്ത് പുറത്തുകടക്കുക.

--ലക്ഷ്യം-സഹായം
സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ എല്ലാ ടാർഗെറ്റ് നിർദ്ദിഷ്ട ഓപ്ഷനുകളുടെയും ഒരു സംഗ്രഹം പ്രിന്റ് ചെയ്ത് പുറത്തുകടക്കുക.

-മാപ്പ് മാപ്പ് ഫയൽ
ഫയലിലേക്ക് ഒരു ലിങ്ക് മാപ്പ് പ്രിന്റ് ചെയ്യുക മാപ്പ് ഫയൽ. യുടെ വിവരണം കാണുക -M ഓപ്ഷൻ, മുകളിൽ.

--നോ-കീപ്പ്-മെമ്മറി
ld യുടെ ചിഹ്ന പട്ടികകൾ കാഷെ ചെയ്യുന്നതിലൂടെ മെമ്മറി ഉപയോഗത്തേക്കാൾ വേഗത സാധാരണയായി ഒപ്റ്റിമൈസ് ചെയ്യുന്നു
മെമ്മറിയിൽ ഫയലുകൾ ഇൻപുട്ട് ചെയ്യുക. ഈ ഓപ്ഷൻ പറയുന്നു ld പകരം മെമ്മറി ഉപയോഗത്തിനായി ഒപ്റ്റിമൈസ് ചെയ്യാൻ, by
ചിഹ്ന പട്ടികകൾ ആവശ്യാനുസരണം വീണ്ടും വായിക്കുന്നു. എങ്കിൽ ഇത് ആവശ്യമായി വന്നേക്കാം ld തീർന്നുപോകുന്നു
ഒരു വലിയ എക്സിക്യൂട്ടബിൾ ലിങ്ക് ചെയ്യുമ്പോൾ മെമ്മറി സ്പേസ്.

--ഇല്ല-നിർവചിക്കപ്പെട്ടിട്ടില്ല
-z defs
സാധാരണ ഒബ്‌ജക്റ്റ് ഫയലുകളിൽ നിന്ന് പരിഹരിക്കപ്പെടാത്ത ചിഹ്ന റഫറൻസുകൾ റിപ്പോർട്ട് ചെയ്യുക. ആണെങ്കിലും ഇത് ചെയ്യുന്നു
ലിങ്കർ ഒരു നോൺ-സിംബോളിക് പങ്കിട്ട ലൈബ്രറി സൃഷ്ടിക്കുന്നു. സ്വിച്ച്
--[no-]allow-shlib-undefined പരിഹരിക്കപ്പെടാതെ റിപ്പോർട്ടുചെയ്യുന്നതിനുള്ള പെരുമാറ്റം നിയന്ത്രിക്കുന്നു
ലിങ്ക് ചെയ്‌തിരിക്കുന്ന പങ്കിട്ട ലൈബ്രറികളിൽ കാണുന്ന റഫറൻസുകൾ.

--അനുവദിക്കുക-ഒന്നിലധികം-നിർവചനം
-z muldefs
സാധാരണയായി ഒരു ചിഹ്നം ഒന്നിലധികം തവണ നിർവചിക്കുമ്പോൾ, ലിങ്കർ മാരകമായ ഒരു കാര്യം റിപ്പോർട്ട് ചെയ്യും
പിശക്. ഈ ഓപ്ഷനുകൾ ഒന്നിലധികം നിർവചനങ്ങൾ അനുവദിക്കുകയും ആദ്യ നിർവചനം ഉപയോഗിക്കുകയും ചെയ്യും.

--allow-shlib-undefined
--no-allow-shlib-undefined
പങ്കിട്ട ലൈബ്രറികളിൽ നിർവചിക്കാത്ത ചിഹ്നങ്ങളെ അനുവദിക്കുന്നു (സ്ഥിരസ്ഥിതി) അല്ലെങ്കിൽ അനുവദിക്കുന്നില്ല. ഈ സ്വിച്ച്
സമാനമാണ് --ഇല്ല-നിർവചിക്കപ്പെട്ടിട്ടില്ല എപ്പോൾ പെരുമാറ്റം നിർണ്ണയിക്കുന്നു എന്നതൊഴിച്ചാൽ
നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ ഒരു സാധാരണ ഒബ്‌ജക്റ്റ് ഫയലിനേക്കാൾ പങ്കിട്ട ലൈബ്രറിയിലാണ്. അത് ചെയ്യുന്നു
സാധാരണ ഒബ്‌ജക്റ്റ് ഫയലുകളിലെ നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ എങ്ങനെ കൈകാര്യം ചെയ്യപ്പെടുന്നു എന്നതിനെ ബാധിക്കില്ല.

അതിനുള്ള കാരണം --allow-shlib-undefined പങ്കിട്ട ലൈബ്രറിയാണ് സ്ഥിരസ്ഥിതി
ലിങ്ക് സമയത്ത് വ്യക്തമാക്കിയിരിക്കുന്നത് ലോഡിൽ ലഭ്യമായതിന് സമാനമായിരിക്കില്ല
സമയം, അതിനാൽ ചിഹ്നങ്ങൾ യഥാർത്ഥത്തിൽ ലോഡ് സമയത്ത് പരിഹരിക്കാവുന്നതാണ്. കൂടാതെ ചിലത് ഉണ്ട്
സിസ്റ്റങ്ങൾ, (ഉദാ ബിഒഎസ്) പങ്കിട്ട ലൈബ്രറികളിലെ നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ സാധാരണമാണ്. (കേർണൽ
കറന്റിന് ഏറ്റവും അനുയോജ്യമായ ഫംഗ്‌ഷൻ തിരഞ്ഞെടുക്കാൻ ലോഡ് സമയത്ത് അവയെ പാച്ച് ചെയ്യുന്നു
വാസ്തുവിദ്യ. അനുയോജ്യമായ ഒരു മെംസെറ്റ് ഡൈനാമിക് ആയി തിരഞ്ഞെടുക്കുന്നതിന് ഇത് ഉദാഹരണമായി ഉപയോഗിക്കുന്നു
പ്രവർത്തനം). HPPA പങ്കിട്ട ലൈബ്രറികൾക്ക് നിർവചിക്കപ്പെടാത്തതും സ്വാഭാവികമാണ്
ചിഹ്നങ്ങൾ.

--no-undefined-version
സാധാരണയായി ഒരു ചിഹ്നത്തിന് നിർവചിക്കാത്ത പതിപ്പ് ഉണ്ടെങ്കിൽ, ലിങ്കർ അത് അവഗണിക്കും. ഈ
നിർവചിക്കാത്ത പതിപ്പുള്ള ചിഹ്നങ്ങളെ ഓപ്ഷൻ അനുവദിക്കുന്നില്ല, ഒരു മാരകമായ പിശക് നൽകും
പകരം.

--default-symver
കയറ്റുമതി ചെയ്യാത്ത ചിഹ്നങ്ങൾക്കായി സ്ഥിരസ്ഥിതി ചിഹ്ന പതിപ്പ് (സോനേം) സൃഷ്‌ടിച്ച് ഉപയോഗിക്കുക.

--default-imported-symver
പതിപ്പ് മാറ്റാത്ത ഇറക്കുമതി ചെയ്ത ചിഹ്നങ്ങൾക്കായി ഒരു ഡിഫോൾട്ട് ചിഹ്ന പതിപ്പ് (സോനേം) സൃഷ്ടിച്ച് ഉപയോഗിക്കുക.

--ഇല്ല-മുന്നറിയിപ്പ്-പൊരുത്തക്കേട്
സാധാരണയായി ld നിങ്ങൾ ഇൻപുട്ട് ഫയലുകൾ ഒരുമിച്ച് ലിങ്ക് ചെയ്യാൻ ശ്രമിക്കുകയാണെങ്കിൽ ഒരു പിശക് നൽകും
ചില കാരണങ്ങളാൽ പൊരുത്തപ്പെടുന്നില്ല, ഒരുപക്ഷേ അവ വ്യത്യസ്തമായി സമാഹരിച്ചതുകൊണ്ടാകാം
പ്രോസസ്സറുകൾ അല്ലെങ്കിൽ വ്യത്യസ്ത അന്തസ്സുകൾക്കായി. ഈ ഓപ്ഷൻ പറയുന്നു ld അത് വേണം എന്ന്
അത്തരം സാധ്യമായ പിശകുകൾ നിശബ്ദമായി അനുവദിക്കുക. ഈ ഓപ്ഷൻ ശ്രദ്ധയോടെ മാത്രമേ ഉപയോഗിക്കാവൂ
ലിങ്കർ പിശകുകൾ ഉറപ്പാക്കുന്ന ചില പ്രത്യേക നടപടികൾ നിങ്ങൾ കൈക്കൊണ്ട സന്ദർഭങ്ങളിൽ
അനുചിതം.

--no- whole-archive
ന്റെ പ്രഭാവം ഓഫാക്കുക --മുഴുവൻ ആർക്കൈവ് തുടർന്നുള്ള ആർക്കൈവ് ഫയലുകൾക്കുള്ള ഓപ്ഷൻ.

--noinhibit-exec
എക്‌സിക്യൂട്ടബിൾ ഔട്ട്‌പുട്ട് ഫയൽ ഉപയോഗിക്കാനാകുമ്പോഴെല്ലാം അത് നിലനിർത്തുക. സാധാരണയായി, ലിങ്കർ
ലിങ്ക് പ്രോസസ്സിനിടെ പിശകുകൾ നേരിട്ടാൽ ഒരു ഔട്ട്പുട്ട് ഫയൽ നിർമ്മിക്കില്ല; അത്
എന്തെങ്കിലും പിശക് സംഭവിക്കുമ്പോൾ ഔട്ട്പുട്ട് ഫയൽ എഴുതാതെ പുറത്തുകടക്കുന്നു.

-nostdlib
കമാൻഡ് ലൈനിൽ വ്യക്തമായി വ്യക്തമാക്കിയ ലൈബ്രറി ഡയറക്ടറികൾ മാത്രം തിരയുക. പുസ്തകശാല
ലിങ്കർ സ്‌ക്രിപ്‌റ്റുകളിൽ വ്യക്തമാക്കിയ ഡയറക്‌ടറികൾ (ഇതിൽ വ്യക്തമാക്കിയിട്ടുള്ള ലിങ്കർ സ്‌ക്രിപ്‌റ്റുകൾ ഉൾപ്പെടെ
കമാൻഡ് ലൈൻ) അവഗണിക്കപ്പെടുന്നു.

--ഓഫോർമാറ്റ് ഔട്ട്പുട്ട് ഫോർമാറ്റ്
ld ഒന്നിലധികം തരം ഒബ്‌ജക്‌റ്റ് ഫയലുകളെ പിന്തുണയ്‌ക്കാൻ കോൺഫിഗർ ചെയ്‌തേക്കാം. എങ്കിൽ നിങ്ങളുടെ ld is
ഈ രീതിയിൽ ക്രമീകരിച്ചു, നിങ്ങൾക്ക് ഉപയോഗിക്കാം --ഓഫോർമാറ്റ് ബൈനറി ഫോർമാറ്റ് വ്യക്തമാക്കുന്നതിനുള്ള ഓപ്ഷൻ
ഔട്ട്പുട്ട് ഒബ്ജക്റ്റ് ഫയൽ. എപ്പോൾ പോലും ld ഇതര ഒബ്‌ജക്‌റ്റിനെ പിന്തുണയ്‌ക്കുന്നതിന് കോൺഫിഗർ ചെയ്‌തിരിക്കുന്നു
ഫോർമാറ്റുകൾ, നിങ്ങൾ സാധാരണയായി ഇത് വ്യക്തമാക്കേണ്ടതില്ല ld ഉൽപ്പാദിപ്പിക്കുന്നതിന് കോൺഫിഗർ ചെയ്യണം
ഒരു ഡിഫോൾട്ട് ഔട്ട്പുട്ട് ഫോർമാറ്റ് എന്ന നിലയിൽ ഓരോ മെഷീനിലെയും ഏറ്റവും സാധാരണമായ ഫോർമാറ്റ്. ഔട്ട്പുട്ട് ഫോർമാറ്റ് ഒരു ആണ്
ടെക്സ്റ്റ് സ്ട്രിംഗ്, BFD ലൈബ്രറികൾ പിന്തുണയ്ക്കുന്ന ഒരു പ്രത്യേക ഫോർമാറ്റിന്റെ പേര്. (നിങ്ങൾക്ക് കഴിയും
ലഭ്യമായ ബൈനറി ഫോർമാറ്റുകൾ ലിസ്റ്റ് ചെയ്യുക objdump -i.) സ്ക്രിപ്റ്റ് കമാൻഡ്
"OUTPUT_FORMAT" ന് ഔട്ട്‌പുട്ട് ഫോർമാറ്റും വ്യക്തമാക്കാൻ കഴിയും, എന്നാൽ ഈ ഓപ്ഷൻ അതിനെ അസാധുവാക്കുന്നു.

-പൈ
--pic-എക്സിക്യൂട്ടബിൾ
സ്വതന്ത്ര എക്സിക്യൂട്ടബിൾ സ്ഥാനം സൃഷ്ടിക്കുക. ഇത് നിലവിൽ ELF-ൽ മാത്രമാണ് പിന്തുണയ്ക്കുന്നത്
പ്ലാറ്റ്ഫോമുകൾ. പൊസിഷൻ ഇൻഡിപെൻഡന്റ് എക്സിക്യൂട്ടബിളുകൾ അതിൽ പങ്കിട്ട ലൈബ്രറികൾക്ക് സമാനമാണ്
OS തിരഞ്ഞെടുക്കുന്ന വെർച്വൽ വിലാസത്തിലേക്ക് ഡൈനാമിക് ലിങ്കർ അവരെ മാറ്റിസ്ഥാപിക്കുന്നു
അവ (ആഭ്യർത്ഥനകൾക്കിടയിൽ വ്യത്യാസപ്പെടാം). സാധാരണ ഡൈനാമിക് ലിങ്ക്ഡ് എക്സിക്യൂട്ടബിളുകൾ പോലെ
അവ എക്സിക്യൂട്ട് ചെയ്യാനും എക്സിക്യൂട്ടബിളിൽ നിർവചിച്ചിരിക്കുന്ന ചിഹ്നങ്ങൾ അസാധുവാക്കാനും കഴിയില്ല
ലൈബ്രറികൾ പങ്കിട്ടു.

-ക്മാജിക്
Linux അനുയോജ്യതയ്ക്കായി ഈ ഓപ്ഷൻ അവഗണിക്കപ്പെട്ടിരിക്കുന്നു.

-Qy SVR4 അനുയോജ്യതയ്ക്കായി ഈ ഓപ്‌ഷൻ അവഗണിക്കപ്പെട്ടിരിക്കുന്നു.

--ശാന്തമാകൂ
മെഷീൻ ആശ്രിത ഇഫക്റ്റുകൾ ഉള്ള ഒരു ഓപ്ഷൻ. ഈ ഓപ്‌ഷൻ ചിലതിൽ മാത്രമേ പിന്തുണയ്ക്കൂ
ടാർഗെറ്റുകൾ.

ചില പ്ലാറ്റ്ഫോമുകളിൽ, ദി --ശാന്തമാകൂ ഓപ്ഷൻ ആഗോള ഒപ്റ്റിമൈസേഷനുകൾ ചെയ്യുന്നു
റിലാക്സിംഗ് വിലാസം പോലുള്ള പ്രോഗ്രാമിലെ വിലാസം ലിങ്കർ പരിഹരിക്കുമ്പോൾ സാധ്യമാണ്
ഔട്ട്പുട്ട് ഒബ്ജക്റ്റ് ഫയലിൽ മോഡുകളും പുതിയ നിർദ്ദേശങ്ങളും സമന്വയിപ്പിക്കുന്നു.

ചില പ്ലാറ്റ്‌ഫോമുകളിൽ ഈ ലിങ്ക് ടൈം ഗ്ലോബൽ ഒപ്റ്റിമൈസേഷനുകൾ പ്രതീകാത്മക ഡീബഗ്ഗിംഗ് ഉണ്ടാക്കിയേക്കാം
ഫലമായുണ്ടാകുന്ന എക്സിക്യൂട്ടബിൾ അസാധ്യമാണ്. മത്സുഷിതയ്ക്ക് ഇത് സംഭവിച്ചതായി അറിയപ്പെടുന്നു
MN10200, MN10300 പ്രോസസറുകളുടെ കുടുംബം.

ഇത് പിന്തുണയ്‌ക്കാത്ത പ്ലാറ്റ്‌ഫോമുകളിൽ, --ശാന്തമാകൂ അംഗീകരിക്കപ്പെടുന്നു, പക്ഷേ അവഗണിക്കപ്പെടുന്നു.

--retain-symbols-file ഫയലിന്റെ പേര്
നിലനിർത്തുക മാത്രം ഫയലിൽ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന ചിഹ്നങ്ങൾ ഫയലിന്റെ പേര്, മറ്റുള്ളവരെയെല്ലാം തള്ളിക്കളയുന്നു. ഫയലിന്റെ പേര്
ഒരു വരിയിൽ ഒരു ചിഹ്ന നാമമുള്ള ഒരു പരന്ന ഫയലാണ്. ഈ ഓപ്ഷൻ പ്രത്യേകിച്ചും
ഒരു വലിയ ആഗോള ചിഹ്ന പട്ടികയുള്ള പരിതസ്ഥിതികളിൽ (VxWorks പോലുള്ളവ) ഉപയോഗപ്രദമാണ്
റൺ-ടൈം മെമ്മറി സംരക്ഷിക്കുന്നതിനായി ക്രമേണ ശേഖരിക്കപ്പെടുന്നു.

--retain-symbols-file ചെയ്യുന്നവൻ അല്ല നിർവചിക്കാത്ത ചിഹ്നങ്ങൾ അല്ലെങ്കിൽ ആവശ്യമായ ചിഹ്നങ്ങൾ ഉപേക്ഷിക്കുക
സ്ഥലംമാറ്റങ്ങൾ.

നിങ്ങൾക്ക് മാത്രം വ്യക്തമാക്കാം --retain-symbols-file കമാൻഡ് ലൈനിൽ ഒരിക്കൽ. അത് മറികടക്കുന്നു -s
ഒപ്പം -S.

-rpath മുതലാളി
റൺടൈം ലൈബ്രറി തിരയൽ പാതയിലേക്ക് ഒരു ഡയറക്ടറി ചേർക്കുക. ഒരു ELF ലിങ്ക് ചെയ്യുമ്പോൾ ഇത് ഉപയോഗിക്കുന്നു
പങ്കിട്ട വസ്തുക്കൾ ഉപയോഗിച്ച് എക്സിക്യൂട്ടബിൾ. എല്ലാം -rpath വാദങ്ങൾ സംയോജിപ്പിച്ച് കൈമാറുന്നു
റൺടൈം ലിങ്കർ, റൺടൈമിൽ പങ്കിട്ട ഒബ്‌ജക്റ്റുകൾ കണ്ടെത്തുന്നതിന് അവ ഉപയോഗിക്കുന്നു. ദി -rpath
പങ്കിട്ട ഒബ്‌ജക്‌റ്റുകൾക്ക് ആവശ്യമായ പങ്കിട്ട ഒബ്‌ജക്‌റ്റുകൾ കണ്ടെത്തുമ്പോഴും ഓപ്ഷൻ ഉപയോഗിക്കുന്നു
ലിങ്കിൽ വ്യക്തമായി ഉൾപ്പെടുത്തിയിട്ടുണ്ട്; യുടെ വിവരണം കാണുക -rpath-link ഓപ്ഷൻ. എങ്കിൽ
-rpath പരിസ്ഥിതിയുടെ ഉള്ളടക്കമായ ഒരു ELF എക്സിക്യൂട്ടബിൾ ലിങ്ക് ചെയ്യുമ്പോൾ ഉപയോഗിക്കില്ല
വേരിയബിൾ "LD_RUN_PATH" നിർവചിച്ചിട്ടുണ്ടെങ്കിൽ അത് ഉപയോഗിക്കും.

ദി -rpath SunOS-ലും ഓപ്ഷൻ ഉപയോഗിക്കാം. സ്ഥിരസ്ഥിതിയായി, SunOS-ൽ, ലിങ്കർ ചെയ്യും
എല്ലാത്തിൽ നിന്നും ഒരു റൺടൈം സെർച്ച് പാച്ച് രൂപീകരിക്കുക -L ഓപ്ഷനുകൾ അത് നൽകിയിരിക്കുന്നു. അത് അങ്ങിനെയെങ്കിൽ -rpath ഓപ്ഷൻ
ഉപയോഗിക്കുന്നത്, റൺടൈം സെർച്ച് പാത്ത് ഉപയോഗിച്ച് പ്രത്യേകമായി രൂപീകരിക്കും -rpath ഓപ്ഷനുകൾ,
അവഗണിക്കുന്നു -L ഓപ്ഷനുകൾ. പലതും ചേർക്കുന്ന gcc ഉപയോഗിക്കുമ്പോൾ ഇത് ഉപയോഗപ്രദമാകും -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_RPATH" എൻട്രികളാണ്
"DT_RUNPATH" എൻട്രികൾ നിലവിലുണ്ടെങ്കിൽ അവഗണിച്ചു.

7. ഡിഫോൾട്ട് ഡയറക്ടറികൾ, സാധാരണയായി / ലിബ് ഒപ്പം / Usr / lib.

8. ഒരു ELF സിസ്റ്റത്തിലെ ഒരു നേറ്റീവ് ലിങ്കറിന്, ഫയൽ ആണെങ്കിൽ /etc/ld.so.conf നിലവിലുണ്ട്, പട്ടിക
ആ ഫയലിൽ കണ്ട ഡയറക്‌ടറികൾ.

ആവശ്യമായ പങ്കിട്ട ലൈബ്രറി കണ്ടെത്തിയില്ലെങ്കിൽ, ലിങ്കർ ഒരു മുന്നറിയിപ്പ് നൽകും
ലിങ്ക് ഉപയോഗിച്ച് തുടരുക.

- പങ്കിട്ടു
- പങ്കിടാവുന്നതാണ്
ഒരു പങ്കിട്ട ലൈബ്രറി സൃഷ്ടിക്കുക. ഇത് നിലവിൽ ELF, XCOFF, SunOS എന്നിവയിൽ മാത്രമേ പിന്തുണയ്ക്കൂ
പ്ലാറ്റ്ഫോമുകൾ. SunOS-ൽ, ലിങ്കർ സ്വയമേവ ഒരു പങ്കിട്ട ലൈബ്രറി സൃഷ്ടിക്കും -e
ഓപ്ഷൻ ഉപയോഗിക്കുന്നില്ല കൂടാതെ ലിങ്കിൽ നിർവചിക്കാത്ത ചിഹ്നങ്ങളുണ്ട്.

--സോർട്ട്-പൊതുവാണ്
ഈ ഓപ്ഷൻ പറയുന്നു ld പൊതുവായ ചിഹ്നങ്ങൾ അതിൽ സ്ഥാപിക്കുമ്പോൾ വലുപ്പമനുസരിച്ച് അടുക്കുക
ഉചിതമായ ഔട്ട്പുട്ട് വിഭാഗങ്ങൾ. ആദ്യം എല്ലാ ഒരു ബൈറ്റ് ചിഹ്നങ്ങളും വരൂ, തുടർന്ന് എല്ലാം
ബൈറ്റ്, പിന്നെ എല്ലാ നാല് ബൈറ്റും, പിന്നെ മറ്റെല്ലാം. വിടവുകൾ തടയാനാണിത്
വിന്യാസ പരിമിതികൾ കാരണം ചിഹ്നങ്ങൾക്കിടയിൽ.

--അടുക്കൽ-വിഭാഗം പേര്
ലിങ്കറിലെ എല്ലാ വൈൽഡ്കാർഡ് സെക്ഷൻ പാറ്റേണുകളിലും ഈ ഓപ്ഷൻ "SORT_BY_NAME" പ്രയോഗിക്കും
സ്ക്രിപ്റ്റ്.

--അടുക്കൽ-വിഭാഗം വിന്യാസം
ഈ ഓപ്‌ഷൻ "SORT_BY_ALIGNMENT" എന്നതിലെ എല്ലാ വൈൽഡ്കാർഡ് സെക്ഷൻ പാറ്റേണുകളിലും പ്രയോഗിക്കും
ലിങ്കർ സ്ക്രിപ്റ്റ്.

--സ്പ്ലിറ്റ്-ബൈ-ഫയൽ [വലുപ്പം]
സമാനമായ --സ്പ്ലിറ്റ്-ബൈ-റിലോക്ക് എന്നാൽ ഓരോ ഇൻപുട്ട് ഫയലിനും ഒരു പുതിയ ഔട്ട്പുട്ട് വിഭാഗം സൃഷ്ടിക്കുമ്പോൾ
വലുപ്പം എത്തി. വലുപ്പം നൽകിയിട്ടില്ലെങ്കിൽ ഡിഫോൾട്ടായി 1 വലുപ്പം.

--സ്പ്ലിറ്റ്-ബൈ-റിലോക്ക് [എണ്ണുക]
ഔട്ട്‌പുട്ട് ഫയലിൽ അധിക വിഭാഗങ്ങൾ സൃഷ്‌ടിക്കാൻ ശ്രമിക്കുന്നു, അതുവഴി ഒരൊറ്റ ഔട്ട്‌പുട്ട് വിഭാഗവും ഉണ്ടാകില്ല
ഫയലിൽ കൂടുതൽ അടങ്ങിയിരിക്കുന്നു എണ്ണുക സ്ഥലംമാറ്റങ്ങൾ. വൻതോതിൽ ഉൽപ്പാദിപ്പിക്കുമ്പോൾ ഇത് ഉപയോഗപ്രദമാണ്
COFF ഒബ്‌ജക്‌റ്റ് ഉപയോഗിച്ച് ചില തത്സമയ കേർണലുകളിലേക്ക് ഡൗൺലോഡ് ചെയ്യുന്നതിനായി മാറ്റിസ്ഥാപിക്കാവുന്ന ഫയലുകൾ
ഫയൽ ഫോർമാറ്റ്; കാരണം COFF-ന് 65535-ൽ കൂടുതൽ സ്ഥലംമാറ്റങ്ങളെ പ്രതിനിധീകരിക്കാൻ കഴിയില്ല
വിഭാഗം. ഇത് ചെയ്യാത്ത ഒബ്ജക്റ്റ് ഫയൽ ഫോർമാറ്റുകളിൽ പ്രവർത്തിക്കുന്നതിൽ പരാജയപ്പെടുമെന്നത് ശ്രദ്ധിക്കുക
അനിയന്ത്രിതമായ വിഭാഗങ്ങളെ പിന്തുണയ്ക്കുക. ലിങ്കർ വ്യക്തിഗത ഇൻപുട്ട് വിഭാഗങ്ങളെ വിഭജിക്കില്ല
പുനർവിതരണത്തിനായി, അതിനാൽ ഒരൊറ്റ ഇൻപുട്ട് വിഭാഗത്തിൽ കൂടുതൽ അടങ്ങിയിരിക്കുന്നുവെങ്കിൽ എണ്ണുക സ്ഥലംമാറ്റങ്ങൾ
ഒരു ഔട്ട്‌പുട്ട് വിഭാഗത്തിൽ അത്രയധികം റീലോക്കേഷനുകൾ അടങ്ങിയിരിക്കും. എണ്ണുക ഒരു മൂല്യത്തിലേക്ക് സ്ഥിരസ്ഥിതികൾ
32768.

-- സ്ഥിതിവിവരക്കണക്കുകൾ
എക്സിക്യൂഷൻ പോലുള്ള ലിങ്കറിന്റെ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ കണക്കാക്കുകയും പ്രദർശിപ്പിക്കുകയും ചെയ്യുക
സമയവും മെമ്മറി ഉപയോഗവും.

--sysroot=ഡയറക്ടറി
ഉപയോഗം ഡയറക്ടറി കോൺഫിഗർ-ടൈം ഡിഫോൾട്ട് അസാധുവാക്കിക്കൊണ്ട് sysroot-ന്റെ സ്ഥാനം.
ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്‌ത ലിങ്കറുകൾ മാത്രമാണ് ഈ ഓപ്‌ഷനെ പിന്തുണയ്ക്കുന്നത് --with-sysroot.

--പരമ്പരാഗത-ഫോർമാറ്റ്
ചില ലക്ഷ്യങ്ങൾക്കായി, ഔട്ട്പുട്ട് ld ചിലതിന്റെ ഔട്ട്പുട്ടിൽ നിന്ന് ചില വഴികളിൽ വ്യത്യസ്തമാണ്
നിലവിലുള്ള ലിങ്കർ. ഈ സ്വിച്ച് അഭ്യർത്ഥിക്കുന്നു ld പകരം പരമ്പരാഗത ഫോർമാറ്റ് ഉപയോഗിക്കുക.

ഉദാഹരണത്തിന്, SunOS-ൽ, ld ചിഹ്ന സ്ട്രിംഗ് പട്ടികയിലെ തനിപ്പകർപ്പ് എൻട്രികൾ സംയോജിപ്പിക്കുന്നു. ഈ
പൂർണ്ണ ഡീബഗ്ഗിംഗ് വിവരങ്ങളുള്ള ഒരു ഔട്ട്‌പുട്ട് ഫയലിന്റെ വലുപ്പം 30-ൽ കൂടുതൽ കുറയ്ക്കാൻ കഴിയും
ശതമാനം. നിർഭാഗ്യവശാൽ, SunOS "dbx" പ്രോഗ്രാമിന് ഫലമായുണ്ടാകുന്ന പ്രോഗ്രാം വായിക്കാൻ കഴിയില്ല
("gdb" ന് ഒരു കുഴപ്പവുമില്ല). ദി --പരമ്പരാഗത-ഫോർമാറ്റ് സ്വിച്ച് പറയുന്നു ld സംയോജിപ്പിക്കാതിരിക്കാൻ
ഡ്യൂപ്ലിക്കേറ്റ് എൻട്രികൾ.

--വിഭാഗം-ആരംഭം വിഭാഗത്തിന്റെ പേര്=org
നൽകിയിരിക്കുന്ന സമ്പൂർണ്ണ വിലാസത്തിൽ ഔട്ട്പുട്ട് ഫയലിൽ ഒരു വിഭാഗം കണ്ടെത്തുക org. നിങ്ങൾക്ക് ഉപയോഗിക്കാം
കമാൻഡിൽ ഒന്നിലധികം സെക്ഷനുകൾ കണ്ടെത്തുന്നതിന് ആവശ്യമായത്ര തവണ ഈ ഓപ്ഷൻ
ലൈൻ. org ഒരൊറ്റ ഹെക്സാഡെസിമൽ പൂർണ്ണസംഖ്യ ആയിരിക്കണം; മറ്റ് ലിങ്കറുകളുമായുള്ള അനുയോജ്യതയ്ക്കായി,
നിങ്ങൾക്ക് ലീഡിംഗ് ഒഴിവാക്കാം 0x സാധാരണയായി ഹെക്സാഡെസിമൽ മൂല്യങ്ങളുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. കുറിപ്പ്: അവിടെ
ഇടയിൽ വൈറ്റ് സ്പേസ് പാടില്ല വിഭാഗത്തിന്റെ പേര്, തുല്യ ചിഹ്നം (``=''), ഒപ്പം org.

-Tbss org
-ടിഡാറ്റ org
- ടെക്സ്റ്റ് org
".bss", ".data" അല്ലെങ്കിൽ ".text" എന്നിവ ഉപയോഗിച്ച് --section-start എന്നതിന് സമാനമാണ് വിഭാഗത്തിന്റെ പേര്.

--unresolved-symbols=രീതി
പരിഹരിക്കപ്പെടാത്ത ചിഹ്നങ്ങൾ എങ്ങനെ കൈകാര്യം ചെയ്യണമെന്ന് നിർണ്ണയിക്കുക. ഇതിനായി സാധ്യമായ നാല് മൂല്യങ്ങളുണ്ട്
രീതി:

അവഗണിക്കുക-എല്ലാം
പരിഹരിക്കപ്പെടാത്ത ചിഹ്നങ്ങളൊന്നും റിപ്പോർട്ട് ചെയ്യരുത്.

റിപ്പോർട്ട്-എല്ലാം
പരിഹരിക്കപ്പെടാത്ത എല്ലാ ചിഹ്നങ്ങളും റിപ്പോർട്ട് ചെയ്യുക. ഇതാണ് സ്ഥിരസ്ഥിതി.

ഒബ്ജക്റ്റ് ഫയലുകൾ അവഗണിക്കുക
പങ്കിട്ട ലൈബ്രറികളിൽ അടങ്ങിയിരിക്കുന്ന പരിഹരിക്കപ്പെടാത്ത ചിഹ്നങ്ങൾ റിപ്പോർട്ടുചെയ്യുക, എന്നാൽ അവ അവഗണിക്കുക
അവ സാധാരണ ഒബ്ജക്റ്റ് ഫയലുകളിൽ നിന്നാണ് വരുന്നതെങ്കിൽ.

അവഗണിക്കുക-ഇൻ-പങ്കിട്ട-ലിബ്സ്
സാധാരണ ഒബ്‌ജക്റ്റ് ഫയലുകളിൽ നിന്ന് വരുന്ന പരിഹരിക്കപ്പെടാത്ത ചിഹ്നങ്ങൾ റിപ്പോർട്ടുചെയ്യുക, എന്നാൽ അവ അവഗണിക്കുക
പങ്കിട്ട ലൈബ്രറികളിൽ നിന്നാണ് അവ വരുന്നത്. ഒരു ഡൈനാമിക് സൃഷ്ടിക്കുമ്പോൾ ഇത് ഉപയോഗപ്രദമാകും
ബൈനറി കൂടാതെ എല്ലാ പങ്കിട്ട ലൈബ്രറികളും റഫറൻസ് ആയിരിക്കണമെന്ന് അറിയാം
ലിങ്കറുടെ കമാൻഡ് ലൈനിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

സ്വന്തം നിലയിൽ പങ്കിട്ട ലൈബ്രറികളുടെ പെരുമാറ്റവും നിയന്ത്രിക്കാൻ കഴിയും
--[no-]allow-shlib-undefined ഓപ്ഷൻ.

സാധാരണയായി, പരിഹരിക്കപ്പെടാത്ത ഓരോ ചിഹ്നത്തിനും ലിങ്കർ ഒരു പിശക് സന്ദേശം സൃഷ്ടിക്കും
എന്നാൽ ഓപ്ഷൻ --മുന്നറിയിപ്പ്-പരിഹരിക്കപ്പെടാത്ത-ചിഹ്നങ്ങൾ ഇത് ഒരു മുന്നറിയിപ്പായി മാറ്റാം.

--dll-verbose
--വാക്കുകൾ
ഇതിനായുള്ള പതിപ്പ് നമ്പർ പ്രദർശിപ്പിക്കുക ld പിന്തുണയ്ക്കുന്ന ലിങ്കർ എമുലേഷനുകൾ ലിസ്റ്റ് ചെയ്യുക. പ്രദർശിപ്പിക്കുക
ഏത് ഇൻപുട്ട് ഫയലുകൾ തുറക്കാനും തുറക്കാനും കഴിയില്ല. ഉപയോഗിക്കുന്ന ലിങ്കർ സ്ക്രിപ്റ്റ് പ്രദർശിപ്പിക്കുക
ലിങ്കർ.

--version-script=പതിപ്പ്-സ്ക്രിപ്റ്റ് ഫയൽ
ലിങ്കറിലേക്ക് ഒരു പതിപ്പ് സ്ക്രിപ്റ്റിന്റെ പേര് വ്യക്തമാക്കുക. എപ്പോഴാണ് ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നത്
പതിപ്പിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ വ്യക്തമാക്കുന്നതിന് പങ്കിട്ട ലൈബ്രറികൾ സൃഷ്ടിക്കുന്നു
ലൈബ്രറിയുടെ ശ്രേണി സൃഷ്ടിക്കപ്പെടുന്നു. ഈ ഓപ്‌ഷൻ ELF-ൽ മാത്രമേ അർത്ഥമുള്ളൂ
പങ്കിട്ട ലൈബ്രറികളെ പിന്തുണയ്ക്കുന്ന പ്ലാറ്റ്ഫോമുകൾ.

--മുന്നറിയിപ്പ്-സാധാരണ
ഒരു പൊതു ചിഹ്നം മറ്റൊരു പൊതു ചിഹ്നത്തോടോ ഒരു ചിഹ്നത്തോടോ സംയോജിപ്പിക്കുമ്പോൾ മുന്നറിയിപ്പ് നൽകുക
നിർവചനം. Unix ലിങ്കറുകൾ ഇത് കുറച്ച് സ്ലോപ്പി പ്രാക്ടീസ് അനുവദിക്കുന്നു, എന്നാൽ ചിലതിൽ ലിങ്കറുകൾ
മറ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ അങ്ങനെ ചെയ്യുന്നില്ല. സാധ്യമായ പ്രശ്നങ്ങൾ കണ്ടെത്താൻ ഈ ഓപ്ഷൻ നിങ്ങളെ അനുവദിക്കുന്നു
ആഗോള ചിഹ്നങ്ങൾ സംയോജിപ്പിക്കുന്നതിൽ നിന്ന്. നിർഭാഗ്യവശാൽ, ചില സി ലൈബ്രറികൾ ഈ പരിശീലനം ഉപയോഗിക്കുന്നു
ലൈബ്രറികളിലും നിങ്ങളുടെ പ്രോഗ്രാമുകളിലും ചിഹ്നങ്ങളെക്കുറിച്ച് നിങ്ങൾക്ക് ചില മുന്നറിയിപ്പുകൾ ലഭിച്ചേക്കാം.

മൂന്ന് തരത്തിലുള്ള ആഗോള ചിഹ്നങ്ങളുണ്ട്, സി ഉദാഹരണങ്ങളാൽ ഇവിടെ ചിത്രീകരിച്ചിരിക്കുന്നു:

int i = 1;
ഔട്ട്പുട്ട് ഫയലിന്റെ ഇനീഷ്യലൈസ് ചെയ്ത ഡാറ്റ വിഭാഗത്തിൽ പോകുന്ന ഒരു നിർവചനം.

ബാഹ്യ int i;
നിർവചിക്കാത്ത റഫറൻസ്, അത് സ്ഥലം അനുവദിക്കുന്നില്ല. ഒന്നുകിൽ ഒരു ഉണ്ടായിരിക്കണം
എവിടെയോ വേരിയബിളിനുള്ള നിർവചനം അല്ലെങ്കിൽ ഒരു പൊതു ചിഹ്നം.

int i;
ഒരു പൊതു ചിഹ്നം. ഒരു വേരിയബിളിന് (ഒന്നോ അതിലധികമോ) പൊതുവായ ചിഹ്നങ്ങൾ മാത്രമേ ഉള്ളൂ എങ്കിൽ,
അത് ഔട്ട്പുട്ട് ഫയലിന്റെ അൺഇനിഷ്യലൈസ്ഡ് ഡാറ്റ ഏരിയയിൽ പോകുന്നു. ലിങ്കർ ലയിക്കുന്നു
ഒരേ വേരിയബിളിനുള്ള ഒന്നിലധികം പൊതു ചിഹ്നങ്ങൾ ഒരൊറ്റ ചിഹ്നത്തിലേക്ക്. അവർ ആണെങ്കിൽ
വ്യത്യസ്ത വലിപ്പത്തിലുള്ള, അത് ഏറ്റവും വലിയ വലിപ്പം തിരഞ്ഞെടുക്കുന്നു. ലിങ്കർ ഒരു പൊതു ചിഹ്നമായി മാറുന്നു
ഒരേ വേരിയബിളിന്റെ നിർവചനം ഉണ്ടെങ്കിൽ, ഒരു പ്രഖ്യാപനത്തിലേക്ക്.

ദി --മുന്നറിയിപ്പ്-സാധാരണ ഓപ്ഷന് അഞ്ച് തരത്തിലുള്ള മുന്നറിയിപ്പുകൾ നൽകാൻ കഴിയും. ഓരോ മുന്നറിയിപ്പും ഉൾക്കൊള്ളുന്നു
ഒരു ജോടി വരികൾ: ആദ്യത്തേത് ഇപ്പോൾ നേരിട്ട ചിഹ്നത്തെ വിവരിക്കുന്നു, രണ്ടാമത്തേത്
ഇതേ പേരിൽ നേരിട്ട മുൻ ചിഹ്നത്തെ വിവരിക്കുന്നു. രണ്ടിൽ ഒന്നോ രണ്ടോ
ചിഹ്നങ്ങൾ ഒരു പൊതു ചിഹ്നമായിരിക്കും.

1. ഒരു പൊതു ചിഹ്നത്തെ ഒരു റഫറൻസാക്കി മാറ്റുന്നു, കാരണം ഇതിനകം ഒരു നിർവചനം ഉണ്ട്
ചിഹ്നത്തിനായി.

( ): മുന്നറിയിപ്പ്: പൊതുവായത് ` '
നിർവചനം പ്രകാരം അസാധുവാക്കിയിരിക്കുന്നു
( ): മുന്നറിയിപ്പ്: ഇവിടെ നിർവചിച്ചിരിക്കുന്നു

2. ഒരു പൊതു ചിഹ്നത്തെ ഒരു റഫറൻസാക്കി മാറ്റുന്നു, കാരണം എന്നതിന് പിന്നീടുള്ള നിർവചനം
ചിഹ്നം നേരിട്ടു. ഇത് മുമ്പത്തെ കേസിന് സമാനമാണ്, ഒഴികെ
ചിഹ്നങ്ങൾ മറ്റൊരു ക്രമത്തിൽ കണ്ടുമുട്ടുന്നു.

( ): മുന്നറിയിപ്പ്: ` എന്നതിന്റെ നിർവചനം '
അസാധുവാക്കൽ സാധാരണ
( ): മുന്നറിയിപ്പ്: ഇവിടെ പൊതുവായതാണ്

3. മുമ്പത്തെ അതേ വലുപ്പത്തിലുള്ള ഒരു പൊതു ചിഹ്നവുമായി ഒരു പൊതു ചിഹ്നം ലയിപ്പിക്കുന്നു.

( ): മുന്നറിയിപ്പ്: ഒന്നിലധികം പൊതുവായത്
ന്റെ ` '
( ): മുന്നറിയിപ്പ്: മുമ്പത്തെ പൊതുവായത് ഇവിടെയുണ്ട്

4. മുമ്പത്തെ വലിയ പൊതു ചിഹ്നവുമായി ഒരു പൊതു ചിഹ്നം ലയിപ്പിക്കുക.

( ): മുന്നറിയിപ്പ്: പൊതുവായത് ` '
വലിയ പൊതുവായി അസാധുവാക്കുന്നു
( ): മുന്നറിയിപ്പ്: വലിയ പൊതുവായത് ഇവിടെയുണ്ട്

5. മുമ്പത്തെ ചെറിയ പൊതു ചിഹ്നവുമായി ഒരു പൊതു ചിഹ്നം ലയിപ്പിക്കുക. ഇതുതന്നെയാണ്
മുമ്പത്തെ സന്ദർഭം പോലെ, ചിഹ്നങ്ങൾ മറ്റൊരു തരത്തിൽ കണ്ടുമുട്ടുന്നു എന്നതൊഴിച്ചാൽ
ഓർഡർ.

( ): മുന്നറിയിപ്പ്: പൊതുവായത് ` '
ചെറിയ പൊതുവായതിനെ മറികടക്കുന്നു
( ): മുന്നറിയിപ്പ്: ചെറിയ പൊതുവായത് ഇവിടെയുണ്ട്

--മുന്നറിയിപ്പ്-നിർമ്മാതാക്കൾ
ഏതെങ്കിലും ഗ്ലോബൽ കൺസ്ട്രക്‌ടറുകൾ ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ മുന്നറിയിപ്പ് നൽകുക. ഇത് കുറച്ച് ഒബ്ജക്റ്റ് ഫയലുകൾക്ക് മാത്രമേ ഉപയോഗപ്രദമാകൂ
ഫോർമാറ്റുകൾ. COFF അല്ലെങ്കിൽ ELF പോലുള്ള ഫോർമാറ്റുകൾക്കായി, ലിങ്കറിന് ഗ്ലോബൽ ഉപയോഗം കണ്ടെത്താൻ കഴിയില്ല
നിർമ്മാതാക്കൾ.

--warn-multiple-gp
ഔട്ട്‌പുട്ട് ഫയലിൽ ഒന്നിലധികം ആഗോള പോയിന്റർ മൂല്യങ്ങൾ ആവശ്യമാണെങ്കിൽ മുന്നറിയിപ്പ് നൽകുക. ഇത് മാത്രം
ആൽഫ പോലുള്ള ചില പ്രോസസ്സറുകൾക്ക് അർത്ഥവത്തായതാണ്. പ്രത്യേകിച്ചും, ചില പ്രോസസ്സറുകൾ
ഒരു പ്രത്യേക വിഭാഗത്തിൽ വലിയ മൂല്യമുള്ള സ്ഥിരാങ്കങ്ങൾ ഇടുക. ഒരു പ്രത്യേക രജിസ്റ്റർ (ആഗോള
പോയിന്റർ) ഈ വിഭാഗത്തിന്റെ മധ്യത്തിലേക്ക് പോയിന്റ് ചെയ്യുന്നു, അതുവഴി സ്ഥിരാങ്കങ്ങൾ ലോഡ് ചെയ്യാൻ കഴിയും
അടിസ്ഥാന-രജിസ്റ്റർ ആപേക്ഷിക വിലാസ മോഡ് വഴി കാര്യക്ഷമമായി. ബേസിൽ ഓഫ്സെറ്റ് മുതൽ-
രജിസ്റ്റർ റിലേറ്റീവ് മോഡ് സ്ഥിരവും താരതമ്യേന ചെറുതുമാണ് (ഉദാ, 16 ബിറ്റുകൾ), ഇത് പരിമിതപ്പെടുത്തുന്നു
സ്ഥിരമായ കുളത്തിന്റെ പരമാവധി വലിപ്പം. അതിനാൽ, വലിയ പ്രോഗ്രാമുകളിൽ, അത് പലപ്പോഴും ആവശ്യമാണ്
സാധ്യമായ എല്ലാ കാര്യങ്ങളും പരിഹരിക്കുന്നതിന് ഒന്നിലധികം ആഗോള പോയിന്റർ മൂല്യങ്ങൾ ഉപയോഗിക്കുക
സ്ഥിരാങ്കങ്ങൾ. ഈ ഓപ്ഷൻ സംഭവിക്കുമ്പോഴെല്ലാം ഒരു മുന്നറിയിപ്പ് നൽകുന്നതിന് കാരണമാകുന്നു.

--മുന്നറിയിപ്പ്-ഒരിക്കൽ
നിർവചിക്കാത്ത ഓരോ ചിഹ്നത്തിനും ഒരിക്കൽ മാത്രം മുന്നറിയിപ്പ് നൽകുക, ഒരു മൊഡ്യൂളിനെ സൂചിപ്പിക്കുന്നതിന് പകരം
അതു.

--മുന്നറിയിപ്പ്-വിഭാഗം-അലൈൻ ചെയ്യുക
വിന്യാസം കാരണം ഔട്ട്‌പുട്ട് വിഭാഗത്തിന്റെ വിലാസം മാറിയെങ്കിൽ മുന്നറിയിപ്പ് നൽകുക. താരതമ്യേനെ,
ഒരു ഇൻപുട്ട് വിഭാഗം ഉപയോഗിച്ച് വിന്യാസം സജ്ജമാക്കും. വിലാസം ഉണ്ടെങ്കിൽ മാത്രമേ മാറുകയുള്ളൂ
വ്യക്തമായി വ്യക്തമാക്കിയിട്ടില്ല; അതായത്, "SECTIONS" കമാൻഡ് ഒരു ആരംഭം വ്യക്തമാക്കുന്നില്ലെങ്കിൽ
വിഭാഗത്തിന്റെ വിലാസം.

--warn-shared-textrel
പങ്കിട്ട ഒബ്‌ജക്‌റ്റിലേക്ക് ലിങ്കർ ഒരു DT_TEXTREL ചേർത്താൽ മുന്നറിയിപ്പ് നൽകുക.

--മുന്നറിയിപ്പ്-പരിഹരിക്കപ്പെടാത്ത-ചിഹ്നങ്ങൾ
പരിഹരിക്കപ്പെടാത്ത ഒരു ചിഹ്നമാണ് ലിങ്കർ റിപ്പോർട്ട് ചെയ്യാൻ പോകുന്നതെങ്കിൽ (ഓപ്ഷൻ കാണുക
--പരിഹരിക്കപ്പെടാത്ത-ചിഹ്നങ്ങൾ) ഇത് സാധാരണയായി ഒരു പിശക് സൃഷ്ടിക്കും. ഈ ഓപ്ഷൻ അത് ചെയ്യുന്നു
പകരം ഒരു മുന്നറിയിപ്പ് സൃഷ്ടിക്കുക.

--പിശക്-പരിഹരിക്കപ്പെടാത്ത-ചിഹ്നങ്ങൾ
ഇത് റിപ്പോർട്ടുചെയ്യുമ്പോൾ പിശകുകൾ സൃഷ്ടിക്കുന്ന ലിങ്കറുടെ സ്ഥിരസ്ഥിതി സ്വഭാവം പുനഃസ്ഥാപിക്കുന്നു
പരിഹരിക്കപ്പെടാത്ത ചിഹ്നങ്ങൾ.

--മുഴുവൻ ആർക്കൈവ്
ശേഷം കമാൻഡ് ലൈനിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഓരോ ആർക്കൈവിനും --മുഴുവൻ ആർക്കൈവ് ഓപ്ഷൻ,
തിരയുന്നതിനുപകരം ആർക്കൈവിലെ എല്ലാ ഒബ്ജക്റ്റ് ഫയലുകളും ലിങ്കിൽ ഉൾപ്പെടുത്തുക
ആവശ്യമായ ഒബ്ജക്റ്റ് ഫയലുകൾക്കായി ആർക്കൈവ് ചെയ്യുക. ഇത് സാധാരണയായി ഒരു ആർക്കൈവ് ഫയൽ തിരിക്കാൻ ഉപയോഗിക്കുന്നു
ഒരു പങ്കിട്ട ലൈബ്രറിയിലേക്ക്, തത്ഫലമായുണ്ടാകുന്ന പങ്കിട്ടതിൽ എല്ലാ ഒബ്ജക്റ്റും ഉൾപ്പെടുത്താൻ നിർബന്ധിതരാകുന്നു
പുസ്തകശാല. ഈ ഓപ്ഷൻ ഒന്നിലധികം തവണ ഉപയോഗിച്ചേക്കാം.

gcc-ൽ നിന്ന് ഈ ഓപ്‌ഷൻ ഉപയോഗിക്കുമ്പോൾ രണ്ട് കുറിപ്പുകൾ: ആദ്യം, gcc-ന് ഈ ഓപ്ഷനെ കുറിച്ച് അറിയില്ല,
അതിനാൽ നിങ്ങൾ ഉപയോഗിക്കേണ്ടതുണ്ട് -Wl,-മുഴുവൻ-ആർക്കൈവ്. രണ്ടാമതായി, ഉപയോഗിക്കാൻ മറക്കരുത്
-Wl,-നോ-ഹോൾ-ആർക്കൈവ് നിങ്ങളുടെ ആർക്കൈവുകളുടെ പട്ടികയ്ക്ക് ശേഷം, കാരണം gcc അതിന്റേതായ ലിസ്റ്റ് ചേർക്കും
നിങ്ങളുടെ ലിങ്കിലേക്കുള്ള ആർക്കൈവുകൾ, ഈ ഫ്ലാഗ് അവയെയും ബാധിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കില്ല.

--പൊതിയുക ചിഹ്നം
ഇതിനായി ഒരു റാപ്പർ ഫംഗ്ഷൻ ഉപയോഗിക്കുക ചിഹ്നം. നിർവചിക്കാത്ത ഏതെങ്കിലും റഫറൻസ് ചിഹ്നം പരിഹരിക്കപ്പെടും
പൊതിയാൻ_ചിഹ്നം". "__real_ എന്നതിലേക്കുള്ള ഏതെങ്കിലും നിർവചിക്കാത്ത റഫറൻസ്ചിഹ്നം" എന്ന് പരിഹരിക്കപ്പെടും
ചിഹ്നം.

ഒരു സിസ്റ്റം ഫംഗ്‌ഷനുവേണ്ടി ഒരു റാപ്പർ നൽകാൻ ഇത് ഉപയോഗിക്കാം. റാപ്പർ പ്രവർത്തനം
"__wrap_ എന്ന് വിളിക്കണംചിഹ്നം". സിസ്റ്റം ഫംഗ്‌ഷനെ വിളിക്കാൻ അത് ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അത് ചെയ്യണം
വിളിക്കുക "__real_ചിഹ്നം".

ഒരു നിസ്സാര ഉദാഹരണം ഇതാ:

അസാധു *
__wrap_malloc (size_t c)
{
printf ("malloc called with %zu\n", c);
റിട്ടേൺ __real_malloc (c);
}

നിങ്ങൾ ഈ ഫയലുമായി മറ്റ് കോഡ് ലിങ്ക് ചെയ്യുകയാണെങ്കിൽ --പൊതിയുക malloc, തുടർന്ന് എല്ലാ കോളുകളും "malloc" ലേക്ക്
പകരം ഫംഗ്‌ഷനെ "__wrap_malloc" എന്ന് വിളിക്കും. "__real_malloc" എന്നതിലേക്കുള്ള കോൾ
"__wrap_malloc" യഥാർത്ഥ "malloc" ഫംഗ്‌ഷനെ വിളിക്കും.

നിങ്ങൾ ഒരു "__real_malloc" ഫംഗ്‌ഷനും നൽകാൻ ആഗ്രഹിച്ചേക്കാം, അതുവഴി ഇതില്ലാതെ ലിങ്കുകൾ
--പൊതിയുക ഓപ്ഷൻ വിജയിക്കും. നിങ്ങൾ ഇത് ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ നിർവചനം നൽകരുത്
"__wrap_malloc" എന്ന അതേ ഫയലിൽ "__real_malloc"; നിങ്ങൾ അങ്ങനെ ചെയ്യുകയാണെങ്കിൽ, അസംബ്ലർക്ക് ചെയ്യാം
ലിങ്കർക്ക് "malloc" എന്നതിലേക്ക് അത് പൊതിയാൻ അവസരം ലഭിക്കുന്നതിന് മുമ്പ് കോൾ പരിഹരിക്കുക.

--new-dtags-പ്രവർത്തനക്ഷമമാക്കുക
--new-dtags-പ്രവർത്തനരഹിതമാക്കുക
ഈ ലിങ്കറിന് ELF-ൽ പുതിയ ഡൈനാമിക് ടാഗുകൾ സൃഷ്ടിക്കാൻ കഴിയും. എന്നാൽ പഴയ ELF സംവിധാനങ്ങൾ അങ്ങനെ ആയിരിക്കില്ല
അവരെ മനസ്സിലാക്കുക. നിങ്ങൾ വ്യക്തമാക്കിയാൽ --new-dtags-പ്രവർത്തനക്ഷമമാക്കുക, ഡൈനാമിക് ടാഗുകൾ സൃഷ്ടിക്കപ്പെടും
ആവശ്യത്തിനനുസരിച്ച്. നിങ്ങൾ വ്യക്തമാക്കിയാൽ --new-dtags-പ്രവർത്തനരഹിതമാക്കുക, പുതിയ ഡൈനാമിക് ടാഗുകളൊന്നും സൃഷ്ടിക്കില്ല.
സ്ഥിരസ്ഥിതിയായി, പുതിയ ഡൈനാമിക് ടാഗുകൾ സൃഷ്ടിക്കപ്പെടുന്നില്ല. ആ ഓപ്ഷനുകൾ മാത്രമാണെന്ന കാര്യം ശ്രദ്ധിക്കുക
ELF സിസ്റ്റങ്ങൾക്ക് ലഭ്യമാണ്.

--hash-size=അക്കം
ലിങ്കറിന്റെ ഹാഷ് ടേബിളുകളുടെ ഡിഫോൾട്ട് വലുപ്പം അടുത്തുള്ള ഒരു പ്രൈം നമ്പറായി സജ്ജമാക്കുക അക്കം.
ഈ മൂല്യം വർധിപ്പിക്കുന്നത് ലിങ്കർ അത് നിർവഹിക്കാൻ എടുക്കുന്ന സമയദൈർഘ്യം കുറയ്ക്കും
ടാസ്‌ക്കുകൾ, ലിങ്കറുടെ മെമ്മറി ആവശ്യകതകൾ വർദ്ധിപ്പിക്കുന്നതിനുള്ള ചെലവിൽ. സമാനമായി
ഈ മൂല്യം കുറയ്ക്കുന്നത് വേഗതയുടെ ചെലവിൽ മെമ്മറി ആവശ്യകതകൾ കുറയ്ക്കും.

--കുറയ്ക്കുക-മെമ്മറി-ഓവർഹെഡുകൾ
ഈ ഐച്ഛികം ld റൺടൈമിൽ, ലിങ്ക് ചെയ്യുന്നതിനുള്ള ചെലവിൽ മെമ്മറി ആവശ്യകതകൾ കുറയ്ക്കുന്നു
വേഗത. ലിങ്ക് മാപ്പ് ഫയലിനായി പഴയ O(n^2) അൽഗോരിതം തിരഞ്ഞെടുക്കുന്നതിനാണ് ഇത് അവതരിപ്പിച്ചത്
40% കൂടുതൽ മെമ്മറി ഉപയോഗിക്കുന്ന പുതിയ O(n) അൽഗോരിതത്തിനുപകരം ജനറേഷൻ
ചിഹ്ന സംഭരണം.

സ്വിച്ചിന്റെ മറ്റൊരു പ്രഭാവം ഡിഫോൾട്ട് ഹാഷ് ടേബിൾ സൈസ് 1021 ആയി സജ്ജീകരിക്കുക എന്നതാണ്
ലിങ്കറിന്റെ പ്രവർത്തന സമയം വർദ്ധിപ്പിക്കുന്നതിനുള്ള ചെലവിൽ വീണ്ടും മെമ്മറി ലാഭിക്കുന്നു. ഇത് ചെയ്തിട്ടില്ല
എന്നിരുന്നാലും എങ്കിൽ --ഹാഷ് വലിപ്പം സ്വിച്ച് ഉപയോഗിച്ചു.

ദി --കുറയ്ക്കുക-മെമ്മറി-ഓവർഹെഡുകൾ മറ്റ് ഇടപാടുകൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിനും സ്വിച്ച് ഉപയോഗിച്ചേക്കാം
ലിങ്കറിന്റെ ഭാവി പതിപ്പുകൾ.

i386 PE ലിങ്കർ പിന്തുണയ്ക്കുന്നു - പങ്കിട്ടു ഓപ്‌ഷൻ, അത് ഔട്ട്‌പുട്ട് a ആകാൻ കാരണമാകുന്നു
ഒരു സാധാരണ എക്സിക്യൂട്ടബിളിന് പകരം ഡൈനാമിക് ലിങ്ക്ഡ് ലൈബ്രറി (DLL). നിങ്ങൾ പേര് നൽകണം
നിങ്ങൾ ഈ ഓപ്ഷൻ ഉപയോഗിക്കുമ്പോൾ "*.dll" ഔട്ട്പുട്ട് ചെയ്യുക. കൂടാതെ, ലിങ്കർ പൂർണ്ണമായും പിന്തുണയ്ക്കുന്നു
സാധാരണ "*.def" ഫയലുകൾ, ഒരു ഒബ്ജക്റ്റ് പോലെ ലിങ്കർ കമാൻഡ് ലൈനിൽ വ്യക്തമാക്കിയേക്കാം
ഫയൽ (വാസ്തവത്തിൽ, അത് ചിഹ്നങ്ങൾ കയറ്റുമതി ചെയ്യുന്ന ആർക്കൈവുകൾക്ക് മുമ്പായിരിക്കണം, അവ ലഭിക്കുന്നുവെന്ന് ഉറപ്പാക്കാൻ
ഒരു സാധാരണ ഒബ്‌ജക്റ്റ് ഫയൽ പോലെ ലിങ്ക് ചെയ്‌തിരിക്കുന്നു).

എല്ലാ ടാർഗെറ്റുകൾക്കും പൊതുവായുള്ള ഓപ്ഷനുകൾക്ക് പുറമേ, i386 PE ലിങ്കർ അധികമായി പിന്തുണയ്ക്കുന്നു
i386 PE ടാർഗെറ്റിന് പ്രത്യേകമായ കമാൻഡ് ലൈൻ ഓപ്ഷനുകൾ. മൂല്യങ്ങൾ എടുക്കുന്ന ഓപ്ഷനുകൾ
അവയുടെ മൂല്യങ്ങളിൽ നിന്ന് ഒരു ഇടം അല്ലെങ്കിൽ തുല്യ ചിഹ്നം ഉപയോഗിച്ച് വേർതിരിക്കാം.

--add-stdcall-alias
നൽകിയിട്ടുണ്ടെങ്കിൽ, ഒരു stdcall സഫിക്സുള്ള ചിഹ്നങ്ങൾ (@nn) ഉള്ളതുപോലെ കയറ്റുമതി ചെയ്യും
സഫിക്സ് ഉരിഞ്ഞു. [ഈ ഓപ്ഷൻ ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകമാണ്]

--ബേസ്-ഫയൽ ഫയല്
ഉപയോഗം ഫയല് എല്ലാ ഫയലുകളുടെയും അടിസ്ഥാന വിലാസങ്ങൾ സംരക്ഷിക്കുന്നതിനുള്ള ഒരു ഫയലിന്റെ പേരായി
DLL-കൾ സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ സ്ഥലംമാറ്റങ്ങൾ dlltool. [ഇതൊരു i386 PE സ്പെസിഫിക് ആണ്
ഓപ്ഷൻ]

--dll
ഒരു സാധാരണ എക്സിക്യൂട്ടബിളിന് പകരം ഒരു DLL സൃഷ്ടിക്കുക. നിങ്ങൾക്കും ഉപയോഗിക്കാം - പങ്കിട്ടു അല്ലെങ്കിൽ എ വ്യക്തമാക്കുക
തന്നിരിക്കുന്ന ".def" ഫയലിലെ "LIBRARY". [ഈ ഓപ്ഷൻ i386 PE ടാർഗെറ്റുചെയ്‌തതിന് പ്രത്യേകമാണ്
ലിങ്കറിന്റെ തുറമുഖം]

--enable-stdcall-fixup
--disable-stdcall-fixup
ലിങ്ക് പരിഹരിക്കാൻ കഴിയാത്ത ഒരു ചിഹ്നം കണ്ടെത്തുകയാണെങ്കിൽ, അത് ``അവ്യക്തമാക്കാൻ ശ്രമിക്കും
എന്നതിന്റെ ഫോർമാറ്റിൽ മാത്രം വ്യത്യസ്‌തമായ മറ്റൊരു നിർവചിക്കപ്പെട്ട ചിഹ്നത്തിനായി നോക്കി ലിങ്കിംഗ്''
ചിഹ്ന നാമം (cdecl vs stdcall) ഒപ്പം പൊരുത്തവുമായി ലിങ്ക് ചെയ്തുകൊണ്ട് ആ ചിഹ്നം പരിഹരിക്കും.
ഉദാഹരണത്തിന്, "_foo" എന്ന നിർവചിക്കാത്ത ചിഹ്നം "_foo@12" എന്ന ഫംഗ്ഷനിലേക്ക് ലിങ്ക് ചെയ്തേക്കാം, അല്ലെങ്കിൽ
"_bar@16" എന്ന നിർവചിക്കാത്ത ചിഹ്നം "_bar" എന്ന ഫംഗ്ഷനുമായി ലിങ്ക് ചെയ്തിരിക്കാം. എപ്പോൾ
ലിങ്കർ ഇത് ചെയ്യുന്നു, ഇത് ഒരു മുന്നറിയിപ്പ് പ്രിന്റ് ചെയ്യുന്നു, കാരണം ഇത് സാധാരണയായി ലിങ്ക് ചെയ്യുന്നതിൽ പരാജയപ്പെടേണ്ടതായിരുന്നു,
എന്നാൽ ചിലപ്പോൾ മൂന്നാം കക്ഷി dll-കളിൽ നിന്ന് സൃഷ്ടിക്കുന്ന ലൈബ്രറികൾക്ക് ഈ സവിശേഷത ആവശ്യമായി വന്നേക്കാം
ഉപയോഗയോഗ്യമാക്കാൻ. നിങ്ങൾ വ്യക്തമാക്കിയാൽ --enable-stdcall-fixup, ഈ സവിശേഷത പൂർണ്ണമായും പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു
കൂടാതെ മുന്നറിയിപ്പുകൾ അച്ചടിച്ചിട്ടില്ല. നിങ്ങൾ വ്യക്തമാക്കിയാൽ --disable-stdcall-fixup, ഈ സവിശേഷതയാണ്
അപ്രാപ്തമാക്കി, അത്തരം പൊരുത്തക്കേടുകൾ പിശകുകളായി കണക്കാക്കപ്പെടുന്നു. [ഈ ഓപ്ഷൻ പ്രത്യേകമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ട്]

--എക്‌സ്‌പോർട്ട്-എല്ലാ-ചിഹ്നങ്ങളും
നൽകിയാൽ, ഒരു DLL നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്ന ഒബ്‌ജക്റ്റുകളിലെ എല്ലാ ആഗോള ചിഹ്നങ്ങളും എക്‌സ്‌പോർട്ട് ചെയ്യും
DLL. കയറ്റുമതി ചെയ്യുന്നില്ലെങ്കിൽ ഇത് സ്ഥിരസ്ഥിതിയാണെന്ന് ശ്രദ്ധിക്കുക
ചിഹ്നങ്ങൾ. ചിഹ്നങ്ങൾ DEF ഫയലുകൾ വഴി പ്രത്യക്ഷമായി എക്‌സ്‌പോർട്ടുചെയ്യുകയോ അല്ലെങ്കിൽ പരോക്ഷമായി കയറ്റുമതി ചെയ്യുകയോ ചെയ്യുമ്പോൾ
ഫംഗ്‌ഷൻ ആട്രിബ്യൂട്ടുകൾ വഴി, ഈ ഓപ്ഷൻ ഒഴികെ മറ്റൊന്നും കയറ്റുമതി ചെയ്യരുത് എന്നതാണ് സ്ഥിരസ്ഥിതി
കൊടുത്തു. "DllMain@12", "DllEntryPoint@0" എന്നീ ചിഹ്നങ്ങൾ ശ്രദ്ധിക്കുക
"DllMainCRTSstartup@12", "impure_ptr" എന്നിവ സ്വയമേവ കയറ്റുമതി ചെയ്യില്ല. കൂടാതെ,
മറ്റ് DLL-കളിൽ നിന്ന് ഇറക്കുമതി ചെയ്ത ചിഹ്നങ്ങൾ വീണ്ടും കയറ്റുമതി ചെയ്യില്ല, അല്ലെങ്കിൽ വ്യക്തമാക്കുന്ന ചിഹ്നങ്ങൾ
"_head_" എന്നതിൽ തുടങ്ങുന്നതോ അവസാനിക്കുന്നതോ ആയ DLL-ന്റെ ആന്തരിക ലേഔട്ട്
"_പേര്". കൂടാതെ, "libgcc", "libstd++", "libmingw32", അല്ലെങ്കിൽ
"crtX.o" കയറ്റുമതി ചെയ്യും. "__rtti_" അല്ലെങ്കിൽ "__builtin_" എന്നതിൽ തുടങ്ങുന്ന പേരുകളുടെ ചിഹ്നങ്ങൾ
C++ DLL-കളെ സഹായിക്കാൻ കയറ്റുമതി ചെയ്യില്ല. അവസാനമായി, വിപുലമായ ഒരു പട്ടികയുണ്ട്
കയറ്റുമതി ചെയ്യാത്ത സിഗ്വിൻ-സ്വകാര്യ ചിഹ്നങ്ങൾ (വ്യക്തമായും, ഇത് നിർമ്മിക്കുമ്പോൾ ബാധകമാണ്
സിഗ്വിൻ ടാർഗെറ്റുകൾക്കുള്ള ഡിഎൽഎൽ). ഈ cygwin-ഒഴിവാക്കലുകൾ ഇവയാണ്: "_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", "environ". [ഈ ഓപ്ഷൻ i386 PE ടാർഗെറ്റുചെയ്‌തതിന് പ്രത്യേകമാണ്
ലിങ്കറിന്റെ തുറമുഖം]

--ഒഴിവാക്കുക-ചിഹ്നങ്ങൾ ചിഹ്നം,ചിഹ്നം...
സ്വയമേവ കയറ്റുമതി ചെയ്യാൻ പാടില്ലാത്ത ചിഹ്നങ്ങളുടെ ഒരു ലിസ്റ്റ് വ്യക്തമാക്കുന്നു. ചിഹ്നം
പേരുകൾ കോമകളോ കോളണുകളോ ഉപയോഗിച്ച് വേർതിരിച്ചേക്കാം. [ഈ ഐച്ഛികം i386 PE-യുടെ പ്രത്യേകതയാണ്
ലിങ്കറിന്റെ ടാർഗെറ്റഡ് പോർട്ട്]

--ഫയൽ-വിന്യാസം
ഫയൽ വിന്യാസം വ്യക്തമാക്കുക. ഫയലിലെ വിഭാഗങ്ങൾ എല്ലായ്പ്പോഴും ഫയൽ ഓഫ്‌സെറ്റുകളിൽ ആരംഭിക്കും
ഈ സംഖ്യയുടെ ഗുണിതങ്ങൾ. ഇത് 512-ലേക്ക് ഡിഫോൾട്ട് ചെയ്യുന്നു. [ഈ ഓപ്ഷൻ നിർദ്ദിഷ്ടമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിലേക്ക്]

--കൂമ്പാരം കരുതിവയ്ക്കുക
--കൂമ്പാരം കരുതിവയ്ക്കുക,സമർപ്പിക്കുക
ഹീപ്പായി ഉപയോഗിക്കേണ്ട മെമ്മറിയുടെ അളവ് (ഓപ്ഷണലായി പ്രതിബദ്ധത) വ്യക്തമാക്കുക
ഈ പ്രോഗ്രാം. ഡിഫോൾട്ട് 1Mb റിസർവ് ചെയ്‌തതാണ്, 4K പ്രതിജ്ഞാബദ്ധമാണ്. [ഈ ഓപ്ഷൻ പ്രത്യേകമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ട്]

--ഇമേജ്-ബേസ് മൂല്യം
ഉപയോഗം മൂല്യം നിങ്ങളുടെ പ്രോഗ്രാമിന്റെ അടിസ്ഥാന വിലാസം അല്ലെങ്കിൽ dll. ഇതാണ് ഏറ്റവും കുറഞ്ഞ മെമ്മറി
നിങ്ങളുടെ പ്രോഗ്രാം അല്ലെങ്കിൽ dll ലോഡ് ചെയ്യുമ്പോൾ ഉപയോഗിക്കുന്ന സ്ഥലം. ആവശ്യം കുറയ്ക്കാൻ
നിങ്ങളുടെ dlls-ന്റെ പ്രവർത്തനം മാറ്റുകയും മെച്ചപ്പെടുത്തുകയും ചെയ്യുക, ഓരോന്നിനും തനതായ അടിസ്ഥാന വിലാസം ഉണ്ടായിരിക്കണം
കൂടാതെ മറ്റ് dllകളൊന്നും ഓവർലാപ്പ് ചെയ്യരുത്. എക്സിക്യൂട്ടബിളുകൾക്ക് ഡിഫോൾട്ട് 0x400000 ആണ്, കൂടാതെ
dll-കൾക്ക് 0x10000000. [ഈ ഓപ്‌ഷൻ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന്റെ പ്രത്യേകതയാണ്
ലിങ്കർ]

--കൊല്ലുക
നൽകിയിട്ടുണ്ടെങ്കിൽ, stdcall സഫിക്സുകൾ (@nn) ചിഹ്നങ്ങളിൽ നിന്ന് അവയ്ക്ക് മുമ്പ് അവ നീക്കം ചെയ്യപ്പെടും
കയറ്റുമതി ചെയ്തു. [ഈ ഓപ്ഷൻ ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകമാണ്]

--വലിയ വിലാസം-അറിയുക
നൽകിയിട്ടുണ്ടെങ്കിൽ, COFF ഹെഡറിലെ ``സ്വഭാവങ്ങൾ'' ഫീൽഡിലെ ഉചിതമായ ബിറ്റ്
ഈ എക്സിക്യൂട്ടബിൾ 2-ൽ കൂടുതലുള്ള വെർച്വൽ വിലാസങ്ങളെ പിന്തുണയ്ക്കുന്നുവെന്ന് സൂചിപ്പിക്കാൻ സജ്ജമാക്കുക
ജിഗാബൈറ്റുകൾ. ഇത് /3GB അല്ലെങ്കിൽ /USERVA= എന്നതിനൊപ്പം ഉപയോഗിക്കേണ്ടതാണ്മൂല്യം മെഗാബൈറ്റ്
BOOT.INI-യുടെ ``[ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ]'' വിഭാഗത്തിലേക്ക് മാറുക. അല്ലെങ്കിൽ, ഈ ബിറ്റ്
യാതൊരു ഫലവുമില്ല. [ഈ ഓപ്ഷൻ ലിങ്കറിന്റെ PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടുകൾക്ക് പ്രത്യേകമാണ്]

--മേജർ-ഇമേജ്-പതിപ്പ് മൂല്യം
`` ഇമേജ് പതിപ്പിന്റെ'' പ്രധാന നമ്പർ സജ്ജീകരിക്കുന്നു. ഡിഫോൾട്ടായി 1. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--major-os-version മൂല്യം
``OS പതിപ്പിന്റെ'' പ്രധാന നമ്പർ സജ്ജീകരിക്കുന്നു. ഡിഫോൾട്ടായി 4. [ഈ ഓപ്ഷൻ നിർദ്ദിഷ്ടമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിലേക്ക്]

--major-subsystem-version മൂല്യം
``സബ്സിസ്റ്റം പതിപ്പിന്റെ'' പ്രധാന നമ്പർ സജ്ജമാക്കുന്നു. ഡിഫോൾട്ടായി 4. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--മൈനർ-ഇമേജ്-പതിപ്പ് മൂല്യം
`` ഇമേജ് പതിപ്പിന്റെ'' മൈനർ നമ്പർ സജ്ജീകരിക്കുന്നു. ഡിഫോൾട്ടായി 0. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--minor-os-version മൂല്യം
``OS പതിപ്പിന്റെ'' മൈനർ നമ്പർ സജ്ജീകരിക്കുന്നു. ഡിഫോൾട്ടായി 0. [ഈ ഓപ്ഷൻ നിർദ്ദിഷ്ടമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിലേക്ക്]

--മൈനർ-സബ്സിസ്റ്റം-പതിപ്പ് മൂല്യം
``സബ്സിസ്റ്റം പതിപ്പിന്റെ'' മൈനർ നമ്പർ സജ്ജീകരിക്കുന്നു. ഡിഫോൾട്ടായി 0. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--output-def ഫയല്
ലിങ്കർ ഫയൽ സൃഷ്ടിക്കും ഫയല് ഇതിന് അനുയോജ്യമായ ഒരു DEF ഫയൽ അടങ്ങിയിരിക്കും
ലിങ്കർ സൃഷ്ടിക്കുന്ന DLL. ഈ DEF ഫയൽ (ഇതിനെ "*.def" എന്ന് വിളിക്കണം) മെയ്
"dlltool" ഉപയോഗിച്ച് ഒരു ഇറക്കുമതി ലൈബ്രറി സൃഷ്ടിക്കാൻ ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ ഒരു റഫറൻസായി ഉപയോഗിക്കാം
സ്വയമേവ അല്ലെങ്കിൽ പരോക്ഷമായി കയറ്റുമതി ചെയ്ത ചിഹ്നങ്ങൾ. [ഈ ഐച്ഛികം i386 PE-യുടെ പ്രത്യേകതയാണ്
ലിങ്കറിന്റെ ടാർഗെറ്റഡ് പോർട്ട്]

--ഔട്ട്-ഇംപ്ലിബ് ഫയല്
ലിങ്കർ ഫയൽ സൃഷ്ടിക്കും ഫയല് അതിന് അനുയോജ്യമായ ഒരു ഇറക്കുമതി ലിബ് അടങ്ങിയിരിക്കും
ലിങ്കർ സൃഷ്ടിക്കുന്ന DLL. ഈ ഇറക്കുമതി ലിബ് (ഇതിനെ "*.dll.a" എന്ന് വിളിക്കണം അല്ലെങ്കിൽ
ജനറേറ്റ് ചെയ്ത DLL-നെതിരെ ക്ലയന്റുകളെ ലിങ്ക് ചെയ്യാൻ "*.a" ഉപയോഗിച്ചേക്കാം; ഈ സ്വഭാവം അത് ഉണ്ടാക്കുന്നു
ഒരു പ്രത്യേക "dlltool" ഇറക്കുമതി ലൈബ്രറി സൃഷ്ടിക്കൽ ഘട്ടം ഒഴിവാക്കാൻ സാധ്യമാണ്. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--ഓട്ടോ-ഇമേജ്-ബേസ് പ്രവർത്തനക്ഷമമാക്കുക
DLL-കൾക്കായി ഇമേജ് ബേസ് സ്വയമേവ തിരഞ്ഞെടുക്കുക, ഒന്ന് ഉപയോഗിച്ച് വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ
"--ഇമേജ്-ബേസ്" വാദം. dllname-ൽ നിന്ന് സൃഷ്ടിച്ച ഒരു ഹാഷ് ഉപയോഗിച്ച് അതുല്യമായത് സൃഷ്ടിക്കുക
ഓരോ DLL-ന്റെയും ഇമേജ് ബേസ്, ഇൻ-മെമ്മറി കൂട്ടിയിടികൾ, പ്രോഗ്രാമിനെ വൈകിപ്പിക്കുന്ന സ്ഥലമാറ്റങ്ങൾ
വധശിക്ഷ ഒഴിവാക്കപ്പെടുന്നു. [ഈ ഓപ്‌ഷൻ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന്റെ പ്രത്യേകതയാണ്
ലിങ്കർ]

--disable-auto-image-base
ഒരു അദ്വിതീയ ഇമേജ് ബേസ് സ്വയമേവ സൃഷ്ടിക്കരുത്. ഉപയോക്താവ് വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ
ഇമേജ് ബേസ് ("--image-base") തുടർന്ന് പ്ലാറ്റ്ഫോം ഡിഫോൾട്ട് ഉപയോഗിക്കുക. [ഈ ഓപ്ഷൻ നിർദ്ദിഷ്ടമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിലേക്ക്]

--dll-search-prefix സ്ട്രിംഗ്
ഒരു ഇറക്കുമതി ലൈബ്രറി ഇല്ലാതെ ഒരു dll-ലേക്ക് ഡൈനാമിക് ആയി ലിങ്ക് ചെയ്യുമ്പോൾ, തിരയുക
" .dll", "lib" എന്നതിന് മുൻഗണന നൽകുന്നു .dll". ഈ സ്വഭാവം അനുവദിക്കുന്നു
വിവിധ "സബ്‌പ്ലാറ്റ്‌ഫോമുകൾ"ക്കായി നിർമ്മിച്ച DLL-കൾ തമ്മിലുള്ള എളുപ്പത്തിൽ വ്യത്യാസം: നേറ്റീവ്, സിഗ്വിൻ,
uwin, pw, മുതലായവ. ഉദാഹരണത്തിന്, cygwin DLL-കൾ സാധാരണയായി "--dll-search-prefix=cyg" ഉപയോഗിക്കുന്നു.
[ഈ ഓപ്ഷൻ ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകമാണ്]

--സ്വയം ഇറക്കുമതി പ്രാപ്തമാക്കുക
DLL-കളിൽ നിന്നുള്ള DATA ഇമ്പോർട്ടുകൾക്കായി "_symbol" "__imp__symbol" എന്നതിലേക്ക് സങ്കീർണ്ണമായ ലിങ്ക് ചെയ്യുക,
ഇറക്കുമതി ലൈബ്രറികൾ നിർമ്മിക്കുമ്പോൾ ആവശ്യമായ തങ്കിംഗ് ചിഹ്നങ്ങൾ സൃഷ്ടിക്കുക
ആ DATA കയറ്റുമതി. ശ്രദ്ധിക്കുക: 'യാന്ത്രിക-ഇറക്കുമതി' വിപുലീകരണത്തിന്റെ ഉപയോഗം വാചകത്തിന് കാരണമാകും
ഇമേജ് ഫയലിന്റെ ഭാഗം എഴുതാൻ കഴിയും. ഇത് PE-COFF-ന് അനുരൂപമല്ല
മൈക്രോസോഫ്റ്റ് പ്രസിദ്ധീകരിച്ച ഫോർമാറ്റ് സ്പെസിഫിക്കേഷൻ.

'ഓട്ടോ-ഇറക്കുമതി' ഉപയോഗിക്കുന്നത് സാധാരണയായി 'വെറും പ്രവർത്തിക്കും' -- എന്നാൽ ചിലപ്പോൾ നിങ്ങൾ ഇത് കണ്ടേക്കാം
സന്ദേശം:

"വേരിയബിൾ ' ' സ്വയമേവ ഇറക്കുമതി ചെയ്യാൻ കഴിയില്ല. ld's ന്റെ ഡോക്യുമെന്റേഷൻ വായിക്കുക
വിശദാംശങ്ങൾക്ക് "--എനേബിൾ-ഓട്ടോ-ഇറക്കുമതി"."

ചില (സബ്) എക്സ്പ്രഷനുകൾ ആത്യന്തികമായി നൽകിയ ഒരു വിലാസത്തിലേക്ക് പ്രവേശിക്കുമ്പോൾ ഈ സന്ദേശം സംഭവിക്കുന്നു
രണ്ട് സ്ഥിരാങ്കങ്ങളുടെ ആകെത്തുക (Win32 ഇറക്കുമതി പട്ടികകൾ ഒരെണ്ണം മാത്രമേ അനുവദിക്കൂ). ഇത് ഉള്ള സന്ദർഭങ്ങൾ
ഒരു DLL-ൽ നിന്ന് ഇറക്കുമതി ചെയ്ത struct variables-ന്റെ അംഗ ഫീൽഡുകളിലേക്കുള്ള ആക്‌സസ്സ് ഉൾപ്പെടാം,
അതുപോലെ ഒരു DLL-ൽ നിന്ന് ഇറക്കുമതി ചെയ്ത ഒരു അറേ വേരിയബിളിലേക്ക് സ്ഥിരമായ സൂചിക ഉപയോഗിക്കുന്നു. ഏതെങ്കിലും
മൾട്ടിവേഡ് വേരിയബിൾ (അറേകൾ, സ്ട്രക്‌റ്റുകൾ, ദൈർഘ്യമേറിയത് മുതലായവ) ഈ പിശക് അവസ്ഥ ട്രിഗർ ചെയ്തേക്കാം.
എന്നിരുന്നാലും, കുറ്റകരമായ എക്‌സ്‌പോർട്ടുചെയ്‌ത വേരിയബിളിന്റെ കൃത്യമായ ഡാറ്റ തരം പരിഗണിക്കാതെ തന്നെ, ld ചെയ്യും
എല്ലായ്‌പ്പോഴും അത് കണ്ടെത്തി, മുന്നറിയിപ്പ് നൽകി, പുറത്തുകടക്കുക.

ഡാറ്റ തരം പരിഗണിക്കാതെ തന്നെ ഈ ബുദ്ധിമുട്ട് പരിഹരിക്കാൻ നിരവധി മാർഗങ്ങളുണ്ട്
കയറ്റുമതി ചെയ്ത വേരിയബിൾ:

ഒരു മാർഗ്ഗം --enable-runtime-pseudo-reloc സ്വിച്ച് ഉപയോഗിക്കുക എന്നതാണ്. ഇത് ചുമതല ഉപേക്ഷിക്കുന്നു
റൺടൈം എൻവയോൺമെന്റിനായി നിങ്ങളുടെ ക്ലയന്റ് കോഡിലെ റഫറൻസുകൾ ക്രമീകരിക്കുന്നു, അതിനാൽ ഈ രീതി പ്രവർത്തിക്കുന്നു
റൺടൈം പരിസ്ഥിതി ഈ സവിശേഷതയെ പിന്തുണയ്ക്കുമ്പോൾ മാത്രം.

'സ്ഥിര'ങ്ങളിലൊന്ന് ഒരു വേരിയബിൾ ആകാൻ നിർബന്ധിക്കുക എന്നതാണ് രണ്ടാമത്തെ പരിഹാരം -- അതായത്,
കംപൈൽ സമയത്ത് അജ്ഞാതവും ഒപ്റ്റിമൈസ് ചെയ്യാനാവാത്തതുമാണ്. അറേകൾക്കായി, രണ്ട് സാധ്യതകളുണ്ട്:
എ) സൂചിക (അറേയുടെ വിലാസം) ഒരു വേരിയബിൾ ആക്കുക, അല്ലെങ്കിൽ ബി) 'സ്ഥിരമായ' സൂചിക ആക്കുക
ഒരു വേരിയബിൾ. അങ്ങനെ:

ബാഹ്യ തരം extern_array[];
extern_array[1] -->
{അസ്ഥിര തരം *t=extern_array; ടി[1] }

or

ബാഹ്യ തരം extern_array[];
extern_array[1] -->
{അസ്ഥിരമായ int t=1; extern_array[t]}

സ്‌ട്രക്‌റ്റുകൾക്ക് (മറ്റ് മൾട്ടിവേഡ് ഡാറ്റ തരങ്ങൾക്കും) ഒരേയൊരു ഓപ്ഷൻ ഉണ്ടാക്കുക എന്നതാണ്
സ്വയം നിർമ്മിക്കുക (അല്ലെങ്കിൽ നീണ്ട നീളം, അല്ലെങ്കിൽ ...) വേരിയബിൾ:

ബാഹ്യഘടന s extern_struct;
extern_struct.field -->
{അസ്ഥിര ഘടന s *t=&extern_struct; t->ഫീൽഡ്}

or

എക്‌സ്‌റ്റേൺ ലോംഗ് ലോംഗ് എക്‌സ്‌റ്റേൺ_ll;
extern_ll -->
{അസ്ഥിരമായ നീളം * ലോക്കൽ_ll=&extern_ll; *local_ll}

ഈ ബുദ്ധിമുട്ട് കൈകാര്യം ചെയ്യുന്നതിനുള്ള മൂന്നാമത്തെ മാർഗ്ഗം 'ഓട്ടോ-ഇറക്കുമതി' ഉപേക്ഷിക്കുക എന്നതാണ്
കുറ്റകരമായ ചിഹ്നം "__declspec(dllimport)" എന്ന് അടയാളപ്പെടുത്തുക. എന്നിരുന്നാലും, പ്രായോഗികമായി അത്
നിങ്ങൾ ഒരു DLL നിർമ്മിക്കുകയാണോ എന്ന് സൂചിപ്പിക്കാൻ compile-time #defines ഉപയോഗിക്കേണ്ടതുണ്ട്,
DLL-ലേക്ക് ലിങ്ക് ചെയ്യുന്ന ക്ലയന്റ് കോഡ് നിർമ്മിക്കുക, അല്ലെങ്കിൽ ഒരു സ്റ്റാറ്റിക്കിലേക്ക് നിർമ്മിക്കുക/ലിങ്കുചെയ്യുക
പുസ്തകശാല. 'നേരിട്ട്' പരിഹരിക്കുന്നതിനുള്ള വിവിധ രീതികൾക്കിടയിൽ തിരഞ്ഞെടുപ്പ് നടത്തുന്നതിൽ
സ്ഥിരമായ ഓഫ്‌സെറ്റ് പ്രശ്‌നമുള്ള വിലാസം, നിങ്ങൾ സാധാരണ യഥാർത്ഥ ലോക ഉപയോഗം പരിഗണിക്കണം:

യഥാർത്ഥ:

--foo.h
extern int arr[];
--foo.c
#"foo.h" ഉൾപ്പെടുത്തുക
ശൂന്യമായ മെയിൻ(int argc, char **argv){
printf("%d\n",arr[1]);
}

പരിഹാരം 1:

--foo.h
extern int arr[];
--foo.c
#"foo.h" ഉൾപ്പെടുത്തുക
ശൂന്യമായ മെയിൻ(int argc, char **argv){
/* ഈ പ്രതിവിധി win32, cygwin എന്നിവയ്ക്കുള്ളതാണ്; "ഒപ്റ്റിമൈസ്" ചെയ്യരുത് */
അസ്ഥിരമായ int *parr = arr;
printf("%d\n",parr[1]);
}

പരിഹാരം 2:

--foo.h
/* ശ്രദ്ധിക്കുക: യാന്ത്രിക-കയറ്റുമതി അനുമാനിക്കപ്പെടുന്നു (__declspec (dllexport) ഇല്ല) */
#എങ്കിൽ (നിർവചിച്ചിരിക്കുന്നത്(_WIN32) ⎪⎪ നിർവചിച്ചിരിക്കുന്നത്(__CYGWIN__)) &&
!(defined(FOO_BUILD_DLL) ⎪⎪ defineed(FOO_STATIC))
#FOO_IMPORT __declspec (dllimport) നിർവ്വചിക്കുക
# കൂടാതെ
#FOO_IMPORT നിർവ്വചിക്കുക
#അവസാനം
എക്സ്റ്റേൺ FOO_IMPORT int arr[];
--foo.c
#"foo.h" ഉൾപ്പെടുത്തുക
ശൂന്യമായ മെയിൻ(int argc, char **argv){
printf("%d\n",arr[1]);
}

ഈ പ്രശ്നം ഒഴിവാക്കാനുള്ള നാലാമത്തെ മാർഗ്ഗം, ഒരു ഫങ്ഷണൽ ഉപയോഗിക്കുന്നതിന് നിങ്ങളുടെ ലൈബ്രറി വീണ്ടും കോഡ് ചെയ്യുക എന്നതാണ്
കുറ്റകരമായ വേരിയബിളുകൾക്കായുള്ള ഡാറ്റാ ഇന്റർഫേസിനേക്കാൾ ഇന്റർഫേസ് (ഉദാ set_foo() ഒപ്പം
get_foo() ആക്‌സസർ ഫംഗ്‌ഷനുകൾ). [ഈ ഓപ്‌ഷൻ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകമാണ്
ലിങ്കറുടെ]

--ഡിസേബിൾ-ഓട്ടോ-ഇറക്കുമതി
ഡാറ്റയ്ക്കായി "_ചിഹ്നം" "__imp__symbol" എന്നതിലേക്ക് സങ്കീർണ്ണമായ ലിങ്ക് ചെയ്യാൻ ശ്രമിക്കരുത്
DLL-കളിൽ നിന്നുള്ള ഇറക്കുമതി. [ഈ ഓപ്‌ഷൻ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന്റെ പ്രത്യേകതയാണ്
ലിങ്കർ]

--പ്രവർത്തനക്ഷമമാക്കുക-pseudo-reloc
നിങ്ങളുടെ കോഡിൽ --enable-auto-import വിഭാഗത്തിൽ വിവരിച്ചിരിക്കുന്ന പദപ്രയോഗങ്ങൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, അതായത്,
നോൺ-സീറോ ഓഫ്‌സെറ്റ് ഉപയോഗിച്ച് DLL-ൽ നിന്ന് ഡാറ്റ ഇറക്കുമതി ചെയ്യുന്നു, ഈ സ്വിച്ച് ഒരു വെക്റ്റർ സൃഷ്ടിക്കും
ക്രമീകരിക്കുന്നതിന് റൺടൈം എൻവയോൺമെന്റിന് ഉപയോഗിക്കാവുന്ന 'റൺടൈം വ്യാജ റീലോക്കേഷനുകൾ'
നിങ്ങളുടെ ക്ലയന്റ് കോഡിലെ അത്തരം ഡാറ്റയെക്കുറിച്ചുള്ള പരാമർശങ്ങൾ. [ഈ ഐച്ഛികം i386 PE-യുടെ പ്രത്യേകതയാണ്
ലിങ്കറിന്റെ ടാർഗെറ്റഡ് പോർട്ട്]

--disable-runtime-pseudo-reloc
DLL-കളിൽ നിന്നുള്ള നോൺ-സീറോ ഓഫ്‌സെറ്റ് DATA ഇമ്പോർട്ടുകൾക്കായി വ്യാജ റീലോക്കേഷനുകൾ സൃഷ്ടിക്കരുത്. ഇതാണ്
സ്ഥിരസ്ഥിതി. [ഈ ഓപ്ഷൻ ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകമാണ്]

--Enable-extra-pe-debug
യാന്ത്രിക-ഇറക്കുമതി ചിഹ്നം തങ്കിംഗുമായി ബന്ധപ്പെട്ട അധിക ഡീബഗ് വിവരങ്ങൾ കാണിക്കുക. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--വിഭാഗം-വിന്യാസം
വിഭാഗം വിന്യാസം സജ്ജമാക്കുന്നു. മെമ്മറിയിലെ വിഭാഗങ്ങൾ എല്ലായ്പ്പോഴും ഏത് വിലാസത്തിലാണ് ആരംഭിക്കുന്നത്
ഈ സംഖ്യയുടെ ഗുണിതമാണ്. 0x1000 ലേക്ക് ഡിഫോൾട്ടുകൾ. [ഈ ഓപ്ഷൻ പ്രത്യേകമാണ്
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ട്]

--സ്റ്റാക്ക് കരുതിവയ്ക്കുക
--സ്റ്റാക്ക് കരുതിവയ്ക്കുക,സമർപ്പിക്കുക
സ്റ്റാക്ക് ആയി ഉപയോഗിക്കുന്നതിന് റിസർവ് ചെയ്യേണ്ട മെമ്മറിയുടെ അളവ് വ്യക്തമാക്കുക (ഓപ്ഷണലായി കമ്മിറ്റ് ചെയ്യുക).
ഈ പ്രോഗ്രാമിനായി. ഡിഫോൾട്ട് 2Mb റിസർവ്ഡ് ആണ്, 4K പ്രതിജ്ഞാബദ്ധമാണ്. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകം]

--ഉപസിസ്റ്റം ഏത്
--ഉപസിസ്റ്റം ഏത്:പ്രധാന
--ഉപസിസ്റ്റം ഏത്:പ്രധാന.പ്രായപൂർത്തിയാകാത്ത
നിങ്ങളുടെ പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യുന്ന സബ്സിസ്റ്റം വ്യക്തമാക്കുന്നു. നിയമപരമായ മൂല്യങ്ങൾ
ഏത് "നേറ്റീവ്", "വിൻഡോസ്", "കൺസോൾ", "പോസിക്സ്", "എക്സ്ബോക്സ്" എന്നിവയാണ്. നിങ്ങൾക്ക് ഓപ്ഷണലായി സജ്ജമാക്കാം
സബ്സിസ്റ്റം പതിപ്പും. സംഖ്യാ മൂല്യങ്ങളും സ്വീകരിക്കുന്നു ഏത്. [ഈ ഓപ്ഷൻ
ലിങ്കറിന്റെ i386 PE ടാർഗെറ്റുചെയ്‌ത പോർട്ടിന് പ്രത്യേകമാണ്]

മെമ്മറി ബാങ്ക് നിയന്ത്രിക്കുന്നതിനുള്ള നിർദ്ദിഷ്ട ഓപ്ഷനുകളെ 68HC11, 68HC12 ലിങ്കറുകൾ പിന്തുണയ്ക്കുന്നു
സ്വിച്ചിംഗ് മാപ്പിംഗും ട്രാംപോളിൻ കോഡ് ജനറേഷനും.

--നോ-ട്രാംപോളിൻ
ഈ ഓപ്ഷൻ ട്രാംപോളിൻ ജനറേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു. സ്ഥിരസ്ഥിതിയായി ഒരു ട്രാംപോളിൻ ആണ്
"jsr" നിർദ്ദേശം ഉപയോഗിച്ച് വിളിക്കപ്പെടുന്ന ഓരോ ഫാർ ഫംഗ്ഷനും ജനറേറ്റ് ചെയ്യുന്നു (ഇത്
ഒരു ഫാർ ഫംഗ്‌ഷനിലേക്കുള്ള ഒരു പോയിന്റർ എടുക്കുമ്പോൾ സംഭവിക്കുന്നു).

--ബാങ്ക് വിൻഡോ പേര്
ഈ ഓപ്‌ഷൻ ലിങ്കറിന് ലെ മെമ്മറി റീജിയന്റെ പേര് സൂചിപ്പിക്കുന്നു MEMORY
മെമ്മറി ബാങ്ക് വിൻഡോ വിവരിക്കുന്ന സ്പെസിഫിക്കേഷൻ. അത്തരം പ്രദേശത്തിന്റെ നിർവചനം
തുടർന്ന് മെമ്മറി വിൻഡോയിൽ പേജിംഗും വിലാസങ്ങളും കണക്കാക്കാൻ ലിങ്കർ ഉപയോഗിക്കുന്നു.

ENVIRONMENT


നിങ്ങൾക്ക് സ്വഭാവം മാറ്റാൻ കഴിയും ld പരിസ്ഥിതി വേരിയബിളുകൾ "GNUTARGET" ഉപയോഗിച്ച്,
"LDEMULATION", "COLLECT_NO_DEMANGLE" എന്നിവ.

"GNUTARGET" നിങ്ങൾ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ ഇൻപുട്ട്-ഫയൽ ഒബ്ജക്റ്റ് ഫോർമാറ്റ് നിർണ്ണയിക്കുന്നു -b (അല്ലെങ്കിൽ അതിന്റെ പര്യായപദം
--ഫോർമാറ്റ്). ഒരു ഇൻപുട്ട് ഫോർമാറ്റിനുള്ള BFD പേരുകളിൽ ഒന്നായിരിക്കണം അതിന്റെ മൂല്യം. ഇല്ലെങ്കിൽ
പരിസ്ഥിതിയിൽ "GNUTARGET", ld ലക്ഷ്യത്തിന്റെ സ്വാഭാവിക ഫോർമാറ്റ് ഉപയോഗിക്കുന്നു. "GNUTARGET" ആണെങ്കിൽ
ബൈനറി പരിശോധിച്ച് ഇൻപുട്ട് ഫോർമാറ്റ് കണ്ടെത്താൻ BFD ശ്രമിക്കുന്നത് "ഡിഫോൾട്ട്" ആയി സജ്ജീകരിച്ചിരിക്കുന്നു
ഇൻപുട്ട് ഫയലുകൾ; ഈ രീതി പലപ്പോഴും വിജയിക്കുന്നു, പക്ഷേ അവ്യക്തതകൾ ഉണ്ട്
ഒബ്‌ജക്റ്റ്-ഫയൽ ഫോർമാറ്റുകൾ വ്യക്തമാക്കാൻ ഉപയോഗിക്കുന്ന മാജിക് നമ്പർ ആണെന്ന് ഉറപ്പാക്കുന്നതിനുള്ള ഒരു രീതിയല്ല
അതുല്യമായ. എന്നിരുന്നാലും, ഓരോ സിസ്റ്റത്തിലും BFD-യുടെ കോൺഫിഗറേഷൻ നടപടിക്രമം സ്ഥാപിക്കുന്നു
സെർച്ച് ലിസ്റ്റിൽ ആദ്യം ആ സിസ്റ്റത്തിന്റെ പരമ്പരാഗത ഫോർമാറ്റ്, അതിനാൽ അവ്യക്തതകൾ പരിഹരിക്കപ്പെടും
കൺവെൻഷന് അനുകൂലമായി.

"LDEMULATION" നിങ്ങൾ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ ഡിഫോൾട്ട് എമുലേഷൻ നിർണ്ണയിക്കുന്നു -m ഓപ്ഷൻ. ദി
എമുലേഷൻ ലിങ്കർ പെരുമാറ്റത്തിന്റെ വിവിധ വശങ്ങളെ ബാധിക്കും, പ്രത്യേകിച്ച് ഡിഫോൾട്ട് ലിങ്കർ
സ്ക്രിപ്റ്റ്. ഉപയോഗിച്ച് നിങ്ങൾക്ക് ലഭ്യമായ അനുകരണങ്ങൾ ലിസ്റ്റ് ചെയ്യാം --വാക്കുകൾ or -V ഓപ്ഷനുകൾ. എങ്കിൽ
-m ഓപ്ഷൻ ഉപയോഗിക്കുന്നില്ല, കൂടാതെ "LDEMULATION" എൻവയോൺമെന്റ് വേരിയബിൾ നിർവചിച്ചിട്ടില്ല
ഡിഫോൾട്ട് എമുലേഷൻ ലിങ്കർ എങ്ങനെ ക്രമീകരിച്ചു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു.

സാധാരണയായി, ലിങ്കർ ഡിമാൻഗ്ലിംഗ് ചിഹ്നങ്ങൾ ഡിഫോൾട്ട് ചെയ്യും. എന്നിരുന്നാലും, എങ്കിൽ
"COLLECT_NO_DEMANGLE" പരിതസ്ഥിതിയിൽ സജ്ജീകരിച്ചിരിക്കുന്നു, തുടർന്ന് അത് ഡീമാംഗ്ലിംഗ് ചെയ്യാതിരിക്കാൻ ഡിഫോൾട്ടായിരിക്കും
ചിഹ്നങ്ങൾ. ഈ എൻവയോൺമെന്റ് വേരിയബിൾ സമാനമായ രീതിയിൽ "gcc" ലിങ്കർ ഉപയോഗിക്കുന്നു
റാപ്പർ പ്രോഗ്രാം. സ്ഥിരസ്ഥിതിയെ അസാധുവാക്കാം --വിഘടിപ്പിക്കുക ഒപ്പം --നോ-ഡിമാംഗിൾ
ഓപ്ഷനുകൾ.

onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് h8300-hitachi-coff-ld ഓൺലൈനായി ഉപയോഗിക്കുക



ഏറ്റവും പുതിയ ലിനക്സ്, വിൻഡോസ് ഓൺലൈൻ പ്രോഗ്രാമുകൾ