Skip to main content

Linux / Unix கட்டளை பற்றி அனைத்து: ld

Anonim

பெயர்

ld - LD பயன்படுத்தி, குனு இணைப்பு

சுருக்கம்

ld விருப்பங்கள் objfile …

விளக்கம்

ld இல் பல பொருள் மற்றும் காப்பக கோப்புகளை ஒருங்கிணைக்கிறது, அவற்றின் தரவு மற்றும் குறியீட்டு குறிப்புகளை இணைக்கின்றன. வழக்கமாக ஒரு நிரலை தொகுக்க கடைசி வழி இயக்க உள்ளதுld இல்.

ld இல் AT & T இன் இணைப்பு ஆசிரியர் கட்டளை மொழி தொடரியல் ஒரு superset எழுதப்பட்ட இணைப்புதாரர் மொழி கோப்புகளை ஏற்றுக்கொள்கிறது, இணைக்கும் செயல்முறை மீது வெளிப்படையான மற்றும் மொத்த கட்டுப்பாட்டை வழங்க.

கட்டளை மொழியை இந்த மனிதன் விவரிக்கவில்லை; பார்க்கவும்ld இல் "தகவல்", அல்லது கையேடு ld இல் உள்ளீடு: GNU கன்டர், கட்டளை மொழியின் முழு விபரங்களுக்கு, மற்றும் ANU இணைப்பின் மற்ற அம்சங்களில்.

இந்த பதிப்பின்ld இல் பொருள் கோப்புகளை இயங்க பொது நோக்கத்திற்காக BFD நூலகங்களைப் பயன்படுத்துகிறது. இது அனுமதிக்கிறதுld இல் பல வடிவங்களில் படிக்கவும், இணைக்கவும், மற்றும் பொருள் கோப்புகளை எழுதவும் --- எடுத்துக்காட்டாக, COFF அல்லது "a.out". பல்வேறு வடிவங்கள் ஒன்றோடொன்று இணைக்கப்படலாம், அவை ஏதாவது கிடைக்கக்கூடிய வகையான கோப்பை உருவாக்கலாம்.

அதன் நெகிழ்வுத்தன்மையிலிருந்து தவிர, குனு இணைப்பானது கண்டறியும் தகவலை வழங்குவதில் மற்ற இணைப்பாளர்களைக் காட்டிலும் மிகவும் உதவியாக இருக்கும். ஒரு பிழையை எதிர்கொள்ளும்போது பல இணைப்பவர்கள் உடனடியாக மரணதண்டனை நிறைவேற்றுவர்; எப்பொழுதெல்லாம் இயலுகிறதோ,ld இல் மற்ற பிழைகளை (அல்லது, சில சந்தர்ப்பங்களில், வெளியீடு கோப்பினைப் பிழையைப் பெற) அடையாளம் காண உங்களை அனுமதிக்கிறது.

குனு இணைப்புld இல் ஒரு பரந்த அளவிலான சூழ்நிலைகளை மூடிமறைக்க மற்றும் பிற இணைப்பிகளுடன் இணக்கமானதாக இருக்க வேண்டும். இதன் விளைவாக, அதன் நடத்தையை கட்டுப்படுத்த பல விருப்பங்களைக் கொண்டுள்ளீர்கள்.

விருப்பங்கள்

இணைப்பான் கட்டளை வரி விருப்பங்களை மிகுதியாக ஆதரிக்கிறது, ஆனால் உண்மையான நடைமுறையில் சில குறிப்பிட்ட சூழலில் அவை பயன்படுத்தப்படுகின்றன. உதாரணமாக, ஒரு அடிக்கடி பயன்படுத்தld இல் ஒரு தரநிலை, ஆதார யுனிக்ஸ் அமைப்பில் தரமான யூனிக்ஸ் பொருள் கோப்புகளை இணைக்க வேண்டும். ஒரு கணினியில், "hello.o" என்ற கோப்பை இணைக்க:

நான் செய்கிறேன் /lib/crt0.o hello.o -lc

இது சொல்கிறதுld இல் என்று ஒரு கோப்பு உருவாக்க வெளியீடு "hello.o" மற்றும் "libc.a" என்ற நூலகத்துடன் "/lib/crt0.o" என்ற கோப்பை இணைப்பதன் விளைவாக, இது தரநிலை தேடல் கோப்பகங்களிலிருந்து வரும். (விவாதத்தைக் காண்க-l கீழே உள்ள விருப்பம்.)

சில கட்டளை வரி விருப்பங்கள்ld இல் கட்டளை வரியில் எந்த புள்ளியில் குறிப்பிடப்படலாம். எனினும், இது போன்ற கோப்புகளைக் குறிக்கும் விருப்பங்கள்-l அல்லது-T, கட்டளை வரி உள்ள விருப்பம், பொருள் கோப்புகள் மற்றும் பிற கோப்பு விருப்பங்களுடன் தொடர்புடைய கட்டத்தில் வாசிக்கப்பட வேண்டிய கோப்பை ஏற்படுத்தும். வேறுபட்ட வாதத்துடன் அல்லாத கோப்பு விருப்பங்களை மறுபரிசீலனை செய்யாது அல்லது அந்த விருப்பத்தின் முன் நிகழ்வுகள் (கட்டளை வரியில் இடதுபுறத்தில் இன்னும் அந்தவை) புறக்கணிக்கப்படும். கீழே குறிப்பிடப்பட்டுள்ள விடயங்களில் குறிப்பிடத்தக்க வகையில் குறிப்பிடப்பட்டிருக்கும் விருப்பங்கள் ஒன்றுக்கு மேற்பட்ட முறை குறிப்பிடப்பட்டுள்ளன.

அல்லாத விருப்பத்தை வாதங்கள் ஒன்றாக இணைக்கப்பட வேண்டிய பொருள் கோப்புகள் அல்லது காப்பகங்கள் உள்ளன. கட்டளை வரி விருப்பங்களுடன் அவர்கள் பின்பற்றலாம், முன்செல்லலாம் அல்லது கலக்கலாம், தவிர ஒரு ஆப்ஜெக்ட் கோப்பு வாதம் ஒரு விருப்பத்திற்கும் அதன் வாதத்திற்கும் இடையே வைக்கப்படாது.

வழக்கமாக இணைப்பான் குறைந்தபட்சம் ஒரு பொருள் கோப்பால் செயல்படுத்தப்படுகிறான், ஆனால் பிற பைனரி உள்ளீட்டுக் கோப்புகளைப் பயன்படுத்தி நீங்கள் குறிப்பிடலாம்-l, -R, மற்றும் ஸ்கிரிப்ட் கட்டளை மொழி. என்றால் இல்லை பைனரி உள்ளீடு கோப்புகள் அனைத்து குறிப்பிடப்பட்டுள்ளன, இணைப்பு எந்த வெளியீட்டை உருவாக்காது, செய்தியை வெளியிடுகிறதுஉள்ளீட்டு கோப்புகள் இல்லை.

இணைப்பான் ஒரு பொருளின் கோப்பு வடிவத்தை அங்கீகரிக்க முடியாவிட்டால், அது ஒரு இணைப்பு ஸ்கிரிப்ட் என்று கருதிக் கொள்ளும். இந்த வழியில் குறிப்பிடப்பட்ட ஸ்கிரிப்ட் இணைப்புக்கு பயன்படுத்தப்படும் முக்கிய இணைப்பு ஸ்கிரிப்ட்டை அதிகரிக்கிறது (இயல்புநிலை இணைப்பு ஸ்கிரிப்ட் அல்லது-T). இந்த அம்சம் ஒரு பொருளை அல்லது ஒரு காப்பகமாக தோன்றும் கோப்புக்கு எதிராக இணைக்க அனுமதிக்கிறது, ஆனால் உண்மையில் சில குறியீடு மதிப்புகளை மட்டுமே வரையறுக்கிறது அல்லது மற்ற பொருள்களை ஏற்ற "INPUT" அல்லது "GROUP" ஐ பயன்படுத்துகிறது. இந்த வழியில் ஒரு ஸ்கிரிப்ட்டை குறிப்பிடுவது முக்கிய இணைப்பு ஸ்கிரிப்ட்டை அதிகரிக்கிறது என்பதை கவனத்தில் கொள்க. பயன்படுத்த-T இயல்புநிலை இணைப்பை ஸ்கிரிப்ட் பதிலாக விருப்பத்தை.

ஒரு பெயரைக் குறிக்கும் விருப்பங்களுக்கு, விருப்பத்தேர்வு வாதங்கள் இடைவெளி இடைவெளியில்லாமல் விருப்பத்தேர்வைக் கண்டிப்பாக பின்பற்ற வேண்டும் அல்லது அவற்றிற்கு தேவைப்படும் விருப்பத்தை உடனடியாக தனி விவாதங்களாக வழங்க வேண்டும்.

பல பெயர்கள் யாருடைய பெயர்கள், ஒரு டாஷ் அல்லது இரண்டு விருப்பம் பெயர் முன்னுரிமை விருப்பங்கள்; உதாரணத்திற்கு,-trace குறியீடாக மற்றும்--trace குறியீடாக சமமானவை. குறிப்பு - இந்த விதிக்கு ஒரு விதிவிலக்கு உள்ளது. ஒரு சிறிய வழக்கு 'ஓ' என்று தொடங்கும் பல கடித விருப்பங்களை இரண்டு கோடுகளால் மட்டுமே முன்னெடுக்க முடியும். இது குழப்பத்தை குறைப்பதாகும்-o விருப்பம். உதாரணமாக-omagic வெளியீட்டு கோப்பு பெயரை அமைக்கிறதுமாய அதேசமயம்--omagic வெளியீட்டில் NMAGIC கொடியை அமைக்கிறது.

பல-கடித விருப்பங்களுக்கான வாதங்கள் ஒன்று சமிக்ஞையால் விருப்பத்தின் பெயரிலிருந்து பிரிக்கப்பட வேண்டும் அல்லது அவற்றிற்கு தேவைப்படும் விருப்பத்தை உடனடியாக தனி விவாதங்களாக அளிக்க வேண்டும். உதாரணத்திற்கு,--trace-symbol foo மற்றும்--trace குறியீடாக = foo சமமானவை. பல-கடிதம் விருப்பங்களின் பெயர்களின் தனிப்பட்ட சுருக்கங்கள் ஏற்றுக்கொள்ளப்படுகின்றன.

குறிப்பு - இணைப்பான் மறைமுகமாக, ஒரு தொகுப்பி இயக்கி வழியாக (எ.கா.GCC) பின்னர் அனைத்து இணைப்பு கட்டளை வரி விருப்பங்களும் முன்னிருப்பாக இருக்க வேண்டும்-Wl, (அல்லது குறிப்பிட்ட கம்பைலர் இயக்கிக்கு பொருத்தமானது):

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

இது முக்கியமானது, ஏனெனில் இல்லையெனில் தொகுப்பான் இயக்கி நிரல் இணைப்பு விருப்பங்களை மெதுவாக கைவிட்டு, தவறான இணைப்பை விளைவிக்கும்.

குனு இணைப்பாளரால் ஏற்றுக்கொள்ளப்பட்ட பொதுவான கட்டளை வரி சுவிட்சுகளின் அட்டவணையை இங்கே காணலாம்:

-a முக்கிய

இந்த விருப்பம் HP / UX பொருந்தக்கூடியது ஆதரிக்கப்படுகிறது. தி முக்கிய வாதம் சரங்களின் ஒன்றாகும்காப்பகத்தை, பகிர்ந்துள்ளார், அல்லதுஇயல்புநிலை. -aarchive செயல்பாடு சமமானதாகும்-Bstatic, மற்றும் மற்ற இரண்டு முக்கிய வார்த்தைகள் செயலில் சமமானவை-Bdynamic. இந்த விருப்பம் எத்தனை முறை பயன்படுத்தப்படலாம்.

-ஒரு கட்டிடக்கலை

--architecture = கட்டிடக்கலை

தற்போதைய வெளியீட்டில்ld இல், இந்த விருப்பம் இன்டெல் 960 குடும்ப கட்டமைப்புகளுக்கு மட்டுமே பயன்படுகிறது. அதில்ld இல் கட்டமைப்பு, உருக்கு கட்டிடக்கலை வாதமானது 960 குடும்பத்தில் உள்ள ஒரு குறிப்பிட்ட கட்டிடத்தை அடையாளப்படுத்துகிறது, சில பாதுகாப்புகளை செயல்படுத்தவும், காப்பக-நூலக தேடல் பாதையை மாற்றியமைக்கிறது.

எதிர்கால வெளியீடுகள்ld இல் மற்ற கட்டிடக்கலை குடும்பங்களுக்கு இதே போன்ற செயல்பாட்டை ஆதரிக்கலாம்.

-b உள்ளீடு வடிவம்

--format = உள்ளீடு வடிவம்

ld இல் ஒன்றுக்கு மேற்பட்ட வகையான பொருள் கோப்பை ஆதரிக்க கட்டமைக்கப்படலாம். உங்கள் என்றால்ld இல் இந்த வழியில் கட்டமைக்கப்பட்டுள்ளது, நீங்கள் பயன்படுத்தலாம்-b கட்டளை வரியில் இந்த விருப்பத்தை பின்பற்றும் உள்ளீட்டு பொருள் கோப்புகளை பைனரி வடிவமைப்பை குறிப்பிடுவதற்கான விருப்பம். கூடld இல் மாற்று பொருள் வடிவமைப்புகளுக்கு ஆதரவாக கட்டமைக்கப்பட்டுள்ளது, நீங்கள் வழக்கமாக இதை குறிப்பிட வேண்டும்ld இல் ஒவ்வொரு கணினியிலும் உள்ள இயல்புநிலை உள்ளீடு வடிவத்தில் மிகவும் பொதுவான வடிவமைப்பை எதிர்பார்ப்பதற்கு கட்டமைக்கப்பட வேண்டும். உள்ளீடு வடிவம் ஒரு உரை சரம், BFD நூலகங்கள் ஆதரிக்கும் ஒரு குறிப்பிட்ட வடிவமைப்பின் பெயர். (நீங்கள் கிடைக்கக்கூடிய பைனரி வடிவங்களை பட்டியலிடலாம்objdump -i.)

நீங்கள் அசாதாரண பைனரி வடிவமைப்பில் கோப்புகளை இணைக்கும்போது இந்த விருப்பத்தை பயன்படுத்தலாம். நீங்கள் பயன்படுத்தலாம்-b வெளிப்படையாக வடிவங்களை மாற்ற (வெவ்வேறு வடிவங்களின் பொருள் கோப்புகளை இணைக்கும் போது), உட்பட-b உள்ளீடு வடிவம் ஒரு குறிப்பிட்ட வடிவமைப்பில் உள்ள ஒவ்வொரு பொருளின் தொகுப்பிற்கும் முன்.

இயல்புநிலை வடிவமைப்பு சூழல் மாறி "GNUTARGET" இல் இருந்து எடுக்கப்படுகிறது.

நீங்கள் "TARGET" கட்டளையைப் பயன்படுத்தி, ஸ்கிரிப்டிலிருந்து உள்ளீடு வடிவமைப்பை வரையறுக்கலாம்;

-c எம்ஆர்ஐ-commandfile

--mri ஸ்கிரிப்ட் = எம்ஆர்ஐ-commandfile

எம்ஆர்ஐ தயாரித்த இணைப்பிகளுடன் பொருந்தக்கூடியது,ld இல் குர்ஆன் ld ஆவணத்தின் MRI தகுதியான ஸ்கிரிப்ட் கோப்புகள் பிரிவில் விவரிக்கப்பட்ட ஒரு மாற்று, வரையறுக்கப்பட்ட கட்டளை மொழியில் எழுதப்பட்ட ஸ்கிரிப்ட் கோப்புகளை ஏற்றுக்கொள்கிறது. விருப்பத்துடன் MRI ஸ்கிரிப்ட் கோப்புகளை அறிமுகப்படுத்தவும்-c; பயன்படுத்த-T பொது நோக்கத்திற்காக எழுதப்பட்ட இணைப்பு ஸ்கிரிப்ட்களை இயக்க விருப்பம்ld இல் ஸ்கிரிப்டிங் மொழி. என்றால் எம்ஆர்ஐ-cmdfile இல்லை,ld இல்எந்தவொரு குறிப்பிட்ட அடைவுகளிலும் அதைத் தேடும்-L விருப்பங்கள்.

-d

-dc

-dp

இந்த மூன்று விருப்பங்கள் சமமானவை; பல இணைப்புகள் மற்ற இணைப்புகளுடன் இணக்கத்தன்மைக்கு துணைபுரிகிறது. ஒரு இடப்பெயர்ச்சி வெளியீட்டுக் கோப்பினை குறிப்பிட்டிருந்தாலும் அவை பொதுவான அடையாளங்களுக்கான இடம் ஒதுக்கப்படுகின்றன-r). "FORCE_COMMON_ALLOCATION" ஸ்கிரிப்ட் கட்டளை அதே விளைவைக் கொண்டுள்ளது.

-e நுழைவு

--entry = நுழைவு

பயன்பாட்டு நுழைவு இயல்புநிலை நுழைவு புள்ளிக்கு பதிலாக, உங்கள் நிரல் செயல்படுத்தப்படுவதற்கு வெளிப்படையான சின்னமாக உள்ளது. பெயர் குறிப்பிடப்படவில்லை என்றால் நுழைவு , இணைப்பு இணைக்க முயற்சிக்கும் நுழைவு ஒரு எண்ணாக, மற்றும் நுழைவு முகவரியாகப் பயன்படுத்தவும் (எண் 10 இல் வரையறுக்கப்படும், நீங்கள் முன்னணி பயன்படுத்தலாம்0x அடிப்படை 16, அல்லது ஒரு முன்னணி0 அடிப்படை 8).

-E

--export-டைனமிக்

ஒரு மாறும் இணைக்கப்பட்ட இயங்கமைப்பு உருவாக்கும் போது, ​​அனைத்து சின்னங்களையும் மாறும் குறியீட்டு அட்டவணையில் சேர்க்கலாம். டைனமிக் சிம்பிள் டேபிள் டைனமிக் பொருள்களிலிருந்து ரன் நேரத்தில் காணக்கூடிய சின்னங்களின் தொகுப்பாகும்.

இந்த விருப்பத்தை நீங்கள் பயன்படுத்தவில்லையெனில், மாறும் குறியீட்டு அட்டவணை பொதுவாக குறிக்கப்படும் சில குறியீட்டு பொருள் குறிக்கப்பட்ட அந்த சின்னங்களை மட்டுமே கொண்டிருக்கும்.

நீங்கள் "dlopen" ஐப் பயன்படுத்தினால், இது மாறும் பொருளை ஏற்றினால், நிரல் மூலம் வரையறுக்கப்பட்ட குறியீட்டை மீண்டும் குறிக்க வேண்டும், வேறு சில மாறும் பொருளைக் காட்டிலும், இந்த நிரலை இணைக்கும்போது இந்த விருப்பத்தை நீங்கள் பயன்படுத்தலாம்.

வெளியீட்டு வடிவம் ஆதரிக்கிறது என்றால் மாறும் குறியீட்டு அட்டவணையில் எந்த குறியீட்டை சேர்க்க வேண்டும் என்பதை கட்டுப்படுத்த பதிப்பு ஸ்கிரிப்டையும் பயன்படுத்தலாம். விளக்கம் பார்க்கவும்--version ஸ்கிரிப்ட் @ உள்ள குறிப்பு {பதிப்பு}.

-EB

பெரிய-இறுதி பொருள்களை இணைக்கவும். இது முன்னிருப்பு வெளியீட்டு வடிவத்தை பாதிக்கிறது.

-EL

சிறிய-முடிவு பொருள்களை இணைக்கவும். இது முன்னிருப்பு வெளியீட்டு வடிவத்தை பாதிக்கிறது.

-f

--துணை பெயர்

ஒரு ELF பகிர்ந்த பொருள் உருவாக்கும் போது, ​​உள்ளக DT_AUXILIARY களத்தை குறிப்பிட்ட பெயருக்கு அமைக்கவும். பகிரப்பட்ட பொருளின் குறியீட்டு அட்டவணையில் பகிரப்பட்ட வடிகட்டி குறியீட்டு அட்டவணை பயன்படுத்தப்பட வேண்டும் என்று டைனமிக் இணைப்பியை இது சொல்கிறது. பெயர் .

நீங்கள் இந்த வடிகட்டி பொருளுக்கு எதிராக ஒரு நிரலை இணைத்திருந்தால், பின்னர் நீங்கள் நிரலை இயக்கும் போது, ​​மாறும் இணைப்பானது DT_AUXILIARY களத்தைப் பார்ப்பீர்கள். வடிகட்டி பொருளில் இருந்து எந்த குறியீடையும் டைனமிக் லிங்கர் தீர்க்கப்பட்டால், பகிரப்பட்ட பொருளில் வரையறுக்கப்பட்டதா என முதலில் பரிசோதிக்கும் பெயர் . ஒன்று இருந்தால், அது வடிப்பான் பொருளில் உள்ள வரையறைக்கு பதிலாக பயன்படுத்தப்படும். பகிரப்பட்ட பொருள் பெயர் இல்லை. இவ்வாறு பகிரப்பட்ட பொருள் பெயர் சில செயல்பாடுகளை ஒரு மாற்று செயல்படுத்த வழங்க, ஒருவேளை பிழைத்திருத்த அல்லது இயந்திர குறிப்பிட்ட செயல்திறன்.

இந்த விருப்பம் ஒருமுறைக்கு மேல் குறிப்பிடப்படலாம். கட்டளை வரியில் தோன்றும் வரிசையில் DT_AUXILIARY உள்ளீடுகள் உருவாக்கப்படும்.

-F பெயர்

--வடிகட்டி பெயர்

ஒரு ELF பகிர்ந்த பொருள் உருவாக்கும் போது, ​​குறிப்பிட்ட பெயருக்கு அக DT_FILTER புலத்தை அமைக்கவும். பகிர்வுக்குரிய பொருளின் குறியீட்டு அட்டவணையில் பகிர்மான பொருளின் குறியீட்டு அட்டவணையில் ஒரு வடிப்பான் ஆக பயன்படுத்தப்பட வேண்டும் என்பதை இது டைனமிக் இணைப்புடன் சொல்கிறது. பெயர் .

நீங்கள் இந்த வடிகட்டி பொருளுக்கு எதிராக ஒரு நிரலை இணைத்திருந்தால், நீங்கள் நிரலை இயக்கும்போது, ​​மாறும் இணைப்பானது DT_FILTER புலத்தைக் காணும். டைனமிக் லிண்டர் வழக்கம் போல் வடிகட்டி பொருளின் குறியீட்டு அட்டவணையின் படி சின்னங்களைத் தீர்க்கும், ஆனால் இது பகிரப்பட்ட பொருளில் காணப்படும் வரையறையுடன் உண்மையில் இணைக்கும் பெயர் . இதனால் வடிகட்டி பொருள் பொருள் வழங்கப்பட்ட குறியீடுகள் ஒரு துணைக்குழு தேர்ந்தெடுக்க பயன்படுத்த முடியும் பெயர் .

சில பழைய இணைப்பான்கள் பயன்படுத்தப்பட்டன-F உள்ளீடு மற்றும் வெளியீடு பொருள் கோப்புகள் இருவருக்கும் பொருள்-வடிவ வடிவமைப்பைக் குறிப்பிடுவதற்காக ஒரு தொகுப்பு கருவிப்பட்டி முழுவதும் விருப்பம். குனு இணைப்பு இந்த நோக்கத்திற்காக மற்ற வழிமுறைகளை பயன்படுத்துகிறது-b, --format, --oformat விருப்பங்கள், இணைப்பு ஸ்கிரிப்ட்களில் "TARGET" கட்டளை மற்றும் "GNUTARGET" சூழல் மாறி. குனு இணைப்பாளர் புறக்கணிப்பார்-F ஒரு ELF பகிர்ந்த பொருள் உருவாக்கும் போது விருப்பம்.

-fini பெயர்

ELF இயங்கக்கூடிய அல்லது பகிரப்பட்ட பொருளை உருவாக்கும்போது, ​​செயல்படக்கூடிய அல்லது பகிரப்பட்ட பொருளை ஏற்றப்படாத போது NAME ஐ அழைக்கவும், செயல்பாடுகளின் முகவரிக்கு DT_FINI ஐ அமைப்பதன் மூலம் அழைக்கவும். முன்னிருப்பாக, இணைப்பு "_fini" என அழைக்கிறார்.

-g

புறக்கணிக்கப்பட்டது. பிற கருவிகளுடன் இணக்கத்தன்மைக்கு வழங்கப்பட்டது.

-G மதிப்பு

--gpsize = மதிப்பு

GP பதிவு பயன்படுத்தி உகந்ததாக இருக்கும் பொருட்களின் அதிகபட்ச அளவு அமைக்க அளவு . இது MIPS ECOFF போன்ற பொருள்களின் கோப்பு வடிவங்களுக்கான அர்த்தமுள்ளதாகும், இது பெரிய மற்றும் சிறிய பொருள்களை வெவ்வேறு பிரிவுகளாக பிரிக்க உதவுகிறது. இது பிற பொருள்களின் கோப்பு வடிவங்களுக்கு புறக்கணிக்கப்படுகிறது.

-h பெயர்

-soname = பெயர்

ஒரு ELF பகிர்ந்த பொருள் உருவாக்கும் போது, ​​குறிப்பிட்ட பெயருக்கு அக DT_SONAME புலம் அமைக்கவும். இயங்கக்கூடிய ஒரு DT_SONAME புலம் கொண்ட பகிர்வுப் பொருளுடன் இணைக்கப்பட்டிருக்கும் போது, ​​இயங்கக்கூடிய இயக்கம் இயங்கும்போது, ​​இணைப்பாளருக்கு கொடுக்கப்பட்ட கோப்பு பெயரைப் பயன்படுத்துவதை விட DT_SONAME புலத்தில் குறிப்பிடப்பட்ட பகிரப்பட்ட பொருளை ஏற்ற முயற்சிக்கும்.

-நான்

ஒரு கூடுதல் இணைப்பு (விருப்பம் போலவே செய்யவும்-r).

-அதில் உள்ளது பெயர்

ELF இயங்கக்கூடிய அல்லது பகிரப்பட்ட பொருளை உருவாக்கும்போது, ​​செயல்படக்கூடிய அல்லது பகிர்வு செய்யப்பட்ட பொருள் ஏற்றப்பட்டால் NAME ஐ அழைக்கவும், DT_INIT ஐ செயல்பாட்டின் முகவரியை அமைப்பதன் மூலம் அழைக்கவும். முன்னிருப்பாக, இணைப்பு "_init" என அழைக்கிறார்.

-l காப்பகத்தை

--library = காப்பகத்தை

காப்பகக் கோப்பைச் சேர்க்கவும் காப்பகத்தை இணைக்க கோப்புகளை பட்டியல். இந்த விருப்பம் எத்தனை முறை பயன்படுத்தப்படலாம்.ld இல் ஒவ்வொன்றிற்கும் "libarchive.a" நிகழ்வுகளுக்கு அதன் பாதை-பட்டியலை தேட வேண்டும் காப்பகத்தை குறிப்பிடப்படவில்லை.

பகிர்வு நூலகங்களை ஆதரிக்கும் அமைப்புகளில்,ld இல் ".a" தவிர வேறு நீட்டிப்புகளுடன் நூலகங்களை தேடலாம். குறிப்பாக, ELF மற்றும் SunOS கணினிகளில்,ld இல் ".a" விரிவாக்கத்துடன் ஒன்றைத் தேடுவதற்கு முன் ".so" என்ற விரிவாக்கத்துடன் நூலகத்திற்கு ஒரு அடைவு தேடப்படும். மாநாட்டால், ஒரு ". அப்போ" நீட்டிப்பு பகிரப்பட்ட நூலகத்தைக் குறிக்கிறது.

இணைப்பான் கட்டளை வரியில் குறிப்பிட்டுள்ள இடத்திலேயே ஒரு காப்பகத்தை ஒரு முறை மட்டுமே தேடுவார்கள். காப்பகத்தை கட்டளை வரியில் காப்பகத்திற்கு முன் தோன்றிய சில பொருள்களில் வரையறுக்கப்படாத குறியீட்டை வரையறுத்திருந்தால், காப்பாளர் ஆவணத்தில் இருந்து பொருத்தமான கோப்பு (கள்) சேர்க்கப்படும். இருப்பினும், கட்டளை வரியில் தோன்றும் ஒரு பொருளில் வரையறுக்கப்படாத குறியீடானது இணைப்பாளரை மீண்டும் காப்பகத்தைத் தேடச் செய்யாது.

பார்க்கவும்-( காப்பாளர் பல முறை தேட இணைப்பை இணைக்க ஒரு வழி விருப்பம்.

கட்டளை வரியில் பல முறை அதே காப்பகத்தை பட்டியலிடலாம்.

இந்த வகை காப்பகத் தேடல் யுனிக்ஸ் இணைப்புகளுக்கு தரநிலையாக உள்ளது. எனினும், நீங்கள் பயன்படுத்துகிறீர்கள் என்றால்ld இல் onAIX, இது AIX இணைப்பு நடத்தை வேறுபட்டது என்பதை கவனத்தில் கொள்க.

-L searchdir

--library பாதை = searchdir

பாதையைச் சேர்க்கவும் searchdir அந்த பாதைகளின் பட்டியல்ld இல் காப்பக நூலகங்களுக்கு தேடலாம்ld இல் கட்டுப்பாட்டு ஸ்கிரிப்ட்கள். நீங்கள் இந்த விருப்பத்தை எத்தனை முறை பயன்படுத்தலாம். அடைவுகள் கட்டளை வரியில் குறிப்பிடப்பட்ட வரிசையில் தேடப்படுகின்றன. கட்டளை வரியில் குறிப்பிடப்பட்டுள்ள கோப்பகங்கள் முன்னிருப்பு அடைவுகளுக்கு முன் தேடப்படுகின்றன. அனைத்து-L விருப்பங்கள் அனைவருக்கும் பொருந்தும்-l தேர்வுகள் தோன்றும் வரிசையில் பொருட்படுத்தாமல் விருப்பங்கள்.

என்றால் searchdir "=" உடன் தொடங்குகிறது, பின்னர் "=" மாற்றப்படும் sysroot prefix , இணைப்பான் கட்டமைக்கப்படும்போது குறிப்பிடப்பட்ட பாதை.

பாதைகளின் முன்னிருப்பு தொகுப்பு தேடப்பட்டது (குறிப்பிடப்படவில்லை-L) எந்த சமன்பாடு முறைமை சார்ந்துள்ளதுld இல் பயன்படுத்துகிறது, சில சமயங்களில் இது எவ்வாறு கட்டமைக்கப்படுகிறது என்பதைப் பற்றியதாகும்.

பாதைகள் "SEARCH_DIR" கட்டளையுடன் ஒரு இணைப்பு ஸ்கிரிப்டில் குறிப்பிடப்படலாம். இந்த வழியில் குறிப்பிட்டிருக்கும் அடைவுகள் கட்டளை வரியில் இணைப்பு ஸ்கிரிப்ட் தோன்றும் புள்ளியில் தேடப்படுகின்றன.

-m முன்மாதிரி

அடக்கவும் முன்மாதிரி லிங்கரைக். நீங்கள் கிடைக்கும் மாதிரிகள் பட்டியலிட முடியும்--verbose அல்லது-Vவிருப்பங்கள்.

என்றால்-m விருப்பம் பயன்படுத்தப்படவில்லை, "LDEMULATION" சூழல் மாறியிலிருந்து எடுக்கப்பட்டது, அது வரையறுக்கப்பட்டிருந்தால்.

இல்லையெனில், இயல்புநிலை சமன்பாடு இணைப்பு எவ்வாறு கட்டமைக்கப்படுகிறது என்பதைப் பொறுத்தது.

-m

--print வரைபடத்தில்

நிலையான வெளியீட்டிற்கு இணைப்பு வரைபடத்தை அச்சிடுக. ஒரு இணைப்பு வரைபடம் பின்வரும் இணைப்பு உள்ளிட்ட தகவலை வழங்குகிறது:

*

ஆப்ஜெக்ட் கோப்புகள் மற்றும் சின்னங்கள் நினைவகத்தில் இடம்பெற்றுள்ளன.

*

பொதுவான அடையாளங்கள் எப்படி ஒதுக்கப்படுகின்றன.

*

காப்பக உறுப்பினரைக் கொண்டுவரும் சின்னத்தை குறிப்பிடுவதன் மூலம், இணைப்பில் உள்ள அனைத்து காப்பக உறுப்பினர்களும் அடங்கியுள்ளனர்.

-n

--nmagic

பிரிவுகளின் பக்கம் சீரமைப்பு அணைக்க, மற்றும் முடிந்தால் வெளியீடு "NMAGIC" என குறிக்கவும்.

-N

--omagic

உரை மற்றும் தரவு பிரிவுகளை படிக்கக்கூடிய மற்றும் எழுதக்கூடியதாக அமைக்கவும். மேலும், தரவு பிரிவை பக்கம் பக்கமாக்க வேண்டாம், பகிரப்பட்ட நூலகங்களுக்கு எதிராக இணைப்பை முடக்கவும். வெளியீடு வடிவமைப்பு யுனிக்ஸ் பாணி மேஜிக் எண்களை ஆதரிக்கிறது எனில், வெளியீடு "OMAGIC" என குறிக்கவும்.

--no-omagic

இந்த விருப்பம் பெரும்பாலான விளைவுகளை எதிர்க்கிறது-N விருப்பம். இது உரைப் பிரிவை படிக்க மட்டும்-க்கு மட்டுமே, மற்றும் தரவு பிரிவானது பக்கம்-சீரமைக்கப்படுவதைத் தூண்டுகிறது. குறிப்பு - இந்த விருப்பம் பகிர்வு நூலகங்களுக்கு எதிராக இணைப்பதை செயல்படுத்தாது. பயன்பாட்டு-Bdynamic இதற்காக.

-o வெளியீடு

--output = வெளியீடு

பயன்பாட்டு வெளியீடு தயாரித்த திட்டத்தின் பெயர்ld இல்; இந்த விருப்பத்தை குறிப்பிடவில்லை என்றால், பெயர் தனமாக a.out இயல்பாக பயன்படுத்தப்படுகிறது. ஸ்கிரிப்ட் கட்டளையான "OUTPUT" வெளியீட்டு கோப்பு பெயரையும் குறிப்பிட முடியும்.

-O நிலை

என்றால் நிலை பூஜ்ஜியத்தை விட ஒரு எண் மதிப்புகள்ld இல் வெளியீட்டை மேம்படுத்துகிறது. இது கணிசமாக நீண்ட காலம் ஆகலாம், எனவே இது இறுதி பைனரிக்கு மட்டுமே செயல்படுத்தப்பட வேண்டும்.

-q

--emit-relocs

முழுமையாக இணைக்கப்பட்ட exececutables உள்ள இடமாற்ற பிரிவுகள் மற்றும் உள்ளடக்கங்களை விட்டு. செயல்திறன் திருத்தங்கள் செய்ய சரியான மாற்றங்களைச் செய்வதற்கு இந்த இடுகை இணைப்பு பகுப்பாய்வு மற்றும் உகப்பாக்கம் கருவிகள் தேவைப்படலாம். இது பெரிய செயலாக்கங்களில் விளைகிறது.

இந்த விருப்பம் தற்போது ELF தளங்களில் மட்டுமே ஆதரிக்கப்படுகிறது.

-r

--relocateable

இடமாற்றத்தக்க வெளியீட்டை உருவாக்குதல் --- அதாவது., ஒரு வெளியீட்டு கோப்பை உருவாக்குகிறது, இது உள்ளீடாக வழங்கப்படுகிறதுld இல். இது அடிக்கடி அழைக்கப்படுகிறது பகுதி இணைப்பு . ஒரு பக்க விளைவாக, நிலையான Unix மாய எண்களை ஆதரிக்கும் சூழல்களில், இந்த விருப்பம் வெளியீட்டு கோப்பின் மாய எண்ணை "OMAGIC" க்கு அமைக்கிறது. இந்த விருப்பம் குறிப்பிடப்படவில்லை என்றால், ஒரு முழுமையான கோப்பு உருவாக்கப்படும். சி ++ நிரல்களை இணைக்கும் போது, ​​இந்த விருப்பம் முடியாது கட்டமைப்பாளர்களுக்கான குறிப்புகள் தீர்க்க; அதை செய்ய, பயன்படுத்த-Ur.

வெளியீட்டு கோப்பில் ஒரு உள்ளீடு கோப்பில் அதே வடிவத்தில் இல்லாதபோது, ​​அந்த உள்ளீட்டு கோப்பில் எந்த இடமும் இல்லை என்றால் பகுதி இணைப்பு இணைக்கப்படுகிறது. வெவ்வேறு வெளியீட்டு வடிவங்கள் இன்னும் கட்டுப்பாடுகள் கொண்டிருக்கும்; உதாரணமாக சில "a.out" அடிப்படையிலான வடிவங்கள் மற்ற வடிவங்களில் உள்ளீட்டுக் கோப்புகளுடன் பகுதி இணைப்புகளை ஆதரிக்கவில்லை.

இந்த விருப்பம் அதே விஷயம்-நான்.

-R கோப்புப்பெயரை

--just-சின்னங்கள் = கோப்புப்பெயரை

குறியீட்டு பெயர்களையும் அவற்றின் முகவரிகளையும் படிக்கவும் கோப்புப்பெயரை , ஆனால் அதை மாற்றவோ அல்லது வெளியீட்டில் சேர்க்கவோ கூடாது. இது உங்கள் வெளியீட்டுக் கோப்பு மற்ற நிரல்களில் வரையறுக்கப்பட்ட நினைவகத்தின் முழுமையான இடங்களுக்கு அடையாளமாக குறிப்பிட அனுமதிக்கிறது. நீங்கள் இந்த விருப்பத்தை ஒரு முறை பயன்படுத்தலாம்.

மற்ற ELF இணைப்பாளர்களுடன் பொருந்தக்கூடியதாக இருந்தால்-R ஒரு கோப்பின் பெயரைக் காட்டிலும், ஒரு அடைவு பெயரைத் தேர்ந்தெடுத்து, அது கருதப்படுகிறது-rpath விருப்பம்.

-s

--strip அனைத்து

வெளியீட்டு கோப்பில் இருந்து எல்லா குறியீட்டு தகவல்களையும் விலக்கவும்.

-S

--strip-சரிசெய்வதற்கான

வெளியீட்டு கோப்பில் இருந்து பிழைத்திருத்த குறியீட்டு தகவலை (ஆனால் அனைத்து சின்னங்கள் அல்ல) விலக்கு.

-t

--trace

உள்ளீட்டுக் கோப்புகளின் பெயர்களை அச்சிடுld இல் அவற்றை செயல்படுத்துகிறது.

-T scriptfile

--script = scriptfile

பயன்பாட்டு scriptfile இணைப்பு ஸ்கிரிப்ட். இந்த ஸ்கிரிப்ட் மாற்றப்படுகிறதுld இல்முன்னிருப்பு இணைப்பு ஸ்கிரிப்ட் (அதனுடன் சேர்ப்பதற்கு பதிலாக), எனவே commandfile வெளியீடு கோப்பு விவரிக்க தேவையான எல்லாவற்றையும் குறிப்பிட வேண்டும். என்றால் scriptfile தற்போதைய அடைவில் இல்லை, "எல்டி" எந்த முன்னால் குறிப்பிடப்பட்ட கோப்பகங்களில் இதைப் பார்க்கிறது-L விருப்பங்கள். பல-T விருப்பங்கள் குவிந்துள்ளது.

-u சின்னமாக

--undefined = சின்னமாக

படை சின்னமாக வெளியீட்டு கோப்பில் ஒரு வரையறுக்கப்படாத சின்னமாக உள்ளிட வேண்டும். இதைச் செய்வது, உதாரணமாக, நிலையான நூலகங்களிலிருந்து கூடுதல் தொகுதிகளை இணைக்கும்.-u கூடுதல் வரையறுக்கப்படாத சின்னங்களை உள்ளிட பல்வேறு விருப்பத்தேர்வு வாதங்களுடன் மீண்டும் மீண்டும் செய்யப்படலாம். இந்த விருப்பம் "EXTERN" இணைப்பு ஸ்கிரிப்ட் கட்டளைக்கு சமமானது.

-Ur

C ++ நிரல்கள் தவிர வேறு எதுவும், இந்த விருப்பம் சமமானதாகும்-r: இது இடப்பெயர்ச்சி வெளியீடு உருவாக்குகிறது --- அதாவதுld இல். சி ++ நிரல்களை இணைக்கும்போது,-Ur செய்யும் கட்டமைப்பாளர்களுக்கான குறிப்புகளைத் தீர்க்கவும்-r. இது பயன்படுத்த வேலை செய்யாது-Ur தங்களை இணைத்திருக்கும் கோப்புகள் மீது-Ur; ஆலைக்குரிய அட்டவணை உருவாக்கப்பட்டவுடன், அது சேர்க்கப்படாது. பயன்பாட்டு-Ur கடந்த பகுதி இணைப்புக்காகவும், மற்றும்-r மற்றவர்களுக்கு.

--unique = பிரிவு

ஒவ்வொரு உள்ளீட்டு பிரிவிற்கும் ஒரு தனி வெளியீடு பிரிவை உருவாக்குகிறது பிரிவு , அல்லது விருப்ப வைல்டு கார்டு பிரிவு ஒவ்வொரு அனாதை உள்ளீடு பிரிவிற்கும் வாதம் இல்லை. ஒரு அனாதை பிரிவு ஒரு இணைப்பு ஸ்கிரிப்ட்டில் குறிப்பிடப்படவில்லை. கட்டளை வரியில் பல முறை நீங்கள் இந்த விருப்பத்தை பயன்படுத்தலாம்; இது உள்ளீட்டு பிரிவின் சாதாரண இணைப்பையும் அதே பெயருடன் தடுக்கிறது, வெளியீட்டு பிரிவில் ஒரு இணைப்பு ஸ்கிரிப்ட்டில் உள்ள ஒதுக்கீடுகளை மீறுகிறது.

-v

--version

-V

பதிப்பு எண் காட்டld இல். தி-V துணைபுரிகிறது.

-எக்ஸ்

--discard அனைத்து

எல்லா உள்ளூர் சின்னங்களையும் நீக்கவும்.

-எக்ஸ்

--discard-உள்ளூர்

அனைத்து தற்காலிக உள்ளூர் சின்னங்களையும் நீக்கவும். பெரும்பாலான இலக்குகளுக்கு, இதன் பெயர்கள் தொடங்கும் அனைத்து உள்ளூர் சின்னங்களும் ஆகும்எல்.

-y சின்னமாக

--trace குறியீடாக = சின்னமாக

ஒவ்வொரு இணைக்கப்பட்ட கோப்பின் பெயரை அச்சிடவும் சின்னமாக தோன்றுகிறது. இந்த விருப்பம் எத்தனை முறை வழங்கப்படலாம். பல முறைகளில், அடிக்கோடிட்டுக் கொள்ளுதல் அவசியம்.

உங்கள் இணைப்பில் ஒரு வரையறுக்கப்படாத சின்னத்தை வைத்திருக்கும் போது இந்த விருப்பத்தேர்வு பயனுள்ளதாக இருக்கும், ஆனால் குறிப்பு எங்கிருந்து வருகிறது என்பது தெரியாது.

-Y பாதை

கூட்டு பாதை இயல்புநிலை நூலக தேடல் பாதையில். இந்த விருப்பம் Solaris பொருந்தக்கூடியதாக உள்ளது.

-Z முக்கிய

அங்கீகரிக்கப்பட்ட சொற்கள் "initfirst", "உள்நோக்கி", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "இப்போது", "தோற்றம்", "combreloc", "nocombreloc" மற்றும் "nocopyreloc ". மற்ற சொற்கள் சோலாரிஸ் இணக்கத்தன்மையை புறக்கணிக்கின்றன. "initfirst" பொருளை வேறு ஏதேனும் பொருள்களுக்கு முன்பாக இயக்கத்தில் முதன் முதலில் ஆரம்பிக்க வேண்டும்."குறியாக்கம்" அதன் குறியீட்டு அட்டவணை அனைத்து குறியீட்டிற்கும் முன்னதாகவே குறிக்கப்படும், ஆனால் முதன்மை இயங்கக்கூடியது என்பதை குறிக்கிறது. "loadltrtr" அதன் நிரலை நேரடியாக இயக்கத்தில் கொண்டிருக்கும் பொருள் குறிக்கிறது. "nodefaultlib" இந்த பொருளின் சார்பான தேடலை புறக்கணி