Linux / Unix కమాండ్: Id

NAME

ld - LD ఉపయోగించి , GNU లింకెర్

సంక్షిప్తముగా

ld [ options ] objfile ...

వివరణ

ld అనేక వస్తువులను మరియు ఆర్కైవ్ ఫైళ్లను మిళితం చేస్తుంది, వాటి డేటాను మరియు ప్రస్తావనలను సింబల్ సూచనలు భర్తీ చేస్తుంది. సాధారణంగా ఒక ప్రోగ్రామ్ను కంపైల్ చేయడంలో చివరి దశ ld అమలు చేయడం.

AT & T యొక్క లింక్ ఎడిటర్ కమాండ్ లాంగ్వేజ్ సింటాక్స్ యొక్క superset లో వ్రాసిన లిండర్ కమాండ్ లాంగ్వేజ్ ఫైళ్ళను ld అంగీకరిస్తుంది, లింకింగ్ ప్రక్రియ మీద స్పష్టమైన మరియు పూర్తి నియంత్రణను అందించడానికి.

ఈ మనిషి పేజీ కమాండ్ భాషను వర్ణించదు; ld ఎంట్రీ లో "సమాచారం" లేదా మాన్యువల్ ld: GNU లింకెర్, కమాండ్ లాంగ్వేజ్ పై పూర్తి వివరాలు మరియు GUU లింక్దారు యొక్క ఇతర అంశాలపై చూడండి.

Ld యొక్క ఈ వెర్షన్ ఆబ్జెక్ట్ ఫైల్స్ మీద పనిచేయటానికి సాధారణ ప్రయోజన BFD లైబ్రరీలను ఉపయోగిస్తుంది. ఇది వివిధ ఫార్మాట్లలో ---, COF లేదా "a.out" - లో చదివే, మిళితం మరియు వస్తువు ఫైళ్లను రాయడానికి అనుమతిస్తుంది. వివిధ రకాల ఫార్మాట్లను ఏవైనా లభ్యమైన ఆబ్జెక్ట్ ఫైల్ను తయారుచేయడానికి కలిసి ఉండవచ్చు.

దాని వశ్యతతో పాటుగా, గ్లూ లింకెర్ డయాగ్నొస్టిక్ సమాచారం అందించడంలో ఇతర అనుసంధానాల కంటే చాలా ఉపయోగకరంగా ఉంటుంది. చాలామంది అనుసంధానులు లోపాన్ని ఎదుర్కొన్న వెంటనే అమలును వదలిస్తారు; వీలైనంతవరకూ, ld మీరు ఇతర దోషాలను (లేదా, కొన్ని సందర్భాల్లో, లోపం ఉన్నప్పటికీ అవుట్పుట్ ఫైల్ ను పొందడానికి) గుర్తించడానికి అనుమతిస్తుంది.

GNU లిండర్ ld విస్తృత శ్రేణి పరిస్థితులను కవర్ చేయడానికి ఉద్దేశించబడింది మరియు ఇతర లింక్లతో సాధ్యమైనంత అనుకూలంగా ఉంటుంది. ఫలితంగా, దాని ప్రవర్తనను నియంత్రించడానికి మీకు అనేక ఎంపికలు ఉన్నాయి.

OPTIONS

కనెక్షన్ లైన్ ఆప్షన్ల యొక్క అనేక శాఖలకు లింకెర్ మద్దతు ఇస్తుంది, కానీ వాటిలో కొన్ని ప్రత్యేకమైన సందర్భాలలో ఉపయోగించబడతాయి. ఉదాహరణకి, ప్రామాణికమైన Unix సిస్టమ్పై ప్రామాణిక Unix ఆబ్జెక్ట్ ఫైళ్లను లింక్ చేయడం ld ని తరచుగా ఉపయోగించడం. అటువంటి వ్యవస్థలో, "hello.o" ఫైల్ను లింక్ చేయడానికి:

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

ఇది "hello.o" మరియు ఫైల్ లైబ్రరీ "libc.a" తో "/lib/crt0.o" ఫైల్ను లింక్ చేయడం ఫలితంగా అవుట్పుట్ అని పిలవబడే ఒక ఫైల్ను తయారు చేయడానికి ఇది ld కి చెప్తుంది, ఇది ప్రామాణిక శోధన డైరెక్టరీల నుండి వస్తాయి. (క్రింద -l ఎంపిక యొక్క చర్చ చూడండి.)

Ld కు కమాండ్-లైన్ ఐచ్చికాల యొక్క కొన్ని కమాండ్ లైన్ లో ఎప్పుడైనా తెలుపవచ్చు. అయినప్పటికీ, -l లేదా -t వంటి ఫైళ్ళను సూచించే ఐచ్ఛికాలు ఆబ్జెక్ట్ ఫైల్స్ మరియు ఇతర ఫైల్ ఐచ్చికాలకు సంబంధించి ఆదేశం కమాండ్ లైన్లో కనిపించే బిందు వద్ద ఫైల్ను చదవటానికి కారణం అవుతుంది. వేరే వాదనలతో కాని ఫైల్ ఎంపికలను పునరావృతం చేయటం వలన ఎటువంటి ప్రభావము ఉండదు లేదా ఆ ఐచ్చికము యొక్క ముందస్తు సంఘటనలు (కమాండ్ లైన్ పై ఎడమ వైపున) భర్తీ చేయబడతాయి. క్రింద వివరించిన వివరణలలో పేర్కొన్న అర్ధరహితంగా పేర్కొన్న ఐచ్ఛికాలు ఒకటి కంటే ఎక్కువసార్లు పేర్కొనబడ్డాయి.

నాన్-ఎంపిక వాదనలు ఆబ్జెక్టివ్ ఫైల్స్ లేదా ఆర్కైవ్ లు కలిసి ఉంటాయి. ఒక ఆప్షన్ మరియు దాని వాదన మధ్య ఒక వస్తువు ఫైల్ వాదనను ఉంచరాదు తప్ప, కమాండ్ లైన్ ఎంపికలతో వారు అనుసరించవచ్చు, ముందే లేదా మిళితం కావచ్చు.

సాధారణంగా లింకర్ కనీసం ఒక ఆబ్జెక్ట్ ఫైల్తో సూచించబడుతుంది, కాని మీరు -l , -R , మరియు స్క్రిప్ట్ కమాండ్ భాషలను ఉపయోగించి ఇతర రకాల బైనరీ ఇన్పుట్ ఫైళ్ళను పేర్కొనవచ్చు. అన్ని బైనరీ ఇన్పుట్ ఫైళ్లను పేర్కొనకపోతే, లింకు ఏ అవుట్పుట్ను ఉత్పత్తి చేయదు మరియు సందేశాన్ని ఇన్పుట్ ఫైల్లను కలిగి ఉండదు .

లింకు ఒక ఆబ్జెక్టు ఫైలు యొక్క ఆకృతిని గుర్తించలేక పోతే, ఇది లింకర్ లిపి అని అనుకోవచ్చు. ఈ విధంగా పేర్కొన్న స్క్రిప్ట్ లింక్ కోసం ఉపయోగించిన ప్రధాన లింకర్ లిపిని (డిఫాల్ట్ లింకర్ స్క్రిప్ట్ లేదా -T ఉపయోగించి పేర్కొన్న ఒకటి) అగుపస్తుంది . ఈ లక్షణం ఒక వస్తువుకు లేదా ఆర్కైవ్గా కనిపించే ఫైల్కు లింక్ చేయడానికి లింక్ను అనుమతిస్తుంది, కానీ వాస్తవానికి కేవలం కొన్ని గుర్తుల విలువలను నిర్వచిస్తుంది లేదా ఇతర వస్తువులను లోడ్ చేయడానికి "INPUT" లేదా "GROUP" ను ఉపయోగిస్తుంది. ఈ విధంగా స్క్రిప్ట్ను పేర్కొనడం ప్రధాన లింకర్ స్క్రిప్ట్ను కేవలం సక్రియం చేస్తుంది; డిఫాల్ట్ లింకర్ లిపిని పూర్తిగా భర్తీ చేయడానికి -T ఎంపికను ఉపయోగించండి.

ఎంపిక చేసిన వాదనలు ఒకే అక్షరం అనే ఎంపికల కోసం, ఎంపిక వాదనలు తప్పనిసరిగా తెల్లని జోక్యం లేకుండా ఎంపిక లేఖను అనుసరించాలి లేదా వాటిని అవసరమైన ఐచ్ఛికాన్ని అనుసరించి ప్రత్యేక వాదనలుగా ఇవ్వాలి.

అనేక పేర్ల పేర్లు గల ఎంపికల కోసం, ఒక డాష్ లేదా ఇద్దరు ఎంపిక పేరుకు ముందుగానే; ఉదాహరణకు, -trace-symbol మరియు -trace-symbol సమానం. గమనిక - ఈ నియమానికి ఒక మినహాయింపు ఉంది. తక్కువ అక్షరాలతో ప్రారంభమయ్యే బహుళ అక్షరాల ఎంపికలు రెండు అడ్డంకులను మాత్రమే పూర్వం చెయ్యగలవు. ఇది -o ఐచ్చికంతో గందరగోళం తగ్గించడం. కాబట్టి ఉదాహరణకు - అవుట్పుట్ ఫైల్ పేరు మేజిక్కు అమర్చుతుంది, అయితే - అవుట్పుట్పై NAMAGIC జెండా అమర్చుతుంది.

బహుళ-అక్షరాల ఎంపికల వాదనలు ఐచ్చిక పేరు నుండి వేరు చేయబడాలి, లేదా వాటికి అవసరమైన ఐచ్ఛికాన్ని అనుసరించి ప్రత్యేక వాదనలుగా ఇవ్వబడతాయి. ఉదాహరణకు, --trace-symbol foo మరియు --trace-symbol = foo సమానమైనవి. బహుళ అక్షరాల ఎంపికల పేర్ల యొక్క ప్రత్యేక నిర్వచనాలు ఆమోదించబడ్డాయి.

గమనిక - ఒక కంపైలర్ డ్రైవర్ (ఉదా. Gcc ) ద్వారా లింకును పరోక్షంగా పిలిచినట్లయితే, అన్ని కనెక్షన్ లైన్ ఆప్షన్లు -Wl, (లేదా ప్రత్యేక కంపైలర్ డ్రైవర్కు సముచితంగా ఉంటుంది) ద్వారా ఇలా ఉండాలి:

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

ఇది చాలా ముఖ్యమైనది ఎందుకంటే, లేకపోతే కంపైలర్ డ్రైవర్ ప్రోగ్రామ్ నిశ్శబ్దంగా లింక్డ్ ఐచ్చికాలను వదులుకోవచ్చు, తద్వారా ఇది ఒక చెడు లింక్.

GNU లింకెర్చే స్వీకరించబడిన జెనెరిక్ కమాండ్ లైన్ స్విచ్ల పట్టిక ఇక్కడ ఉంది:

-ఒక కీవర్డ్

ఈ ఐచ్ఛికం HP / UX అనుకూలతకు మద్దతిస్తుంది. కీవర్డ్ వాదన తీగలను ఆర్కైవ్ , భాగస్వామ్య లేదా డిఫాల్ట్లో ఒకటిగా ఉండాలి. -ఆర్కివ్ ఫంక్షనల్ సమానంగా -Bstatic , మరియు ఇతర రెండు కీలక పదాలు ఫంక్షన్ సమానంగా -బిడైనమిక్ . ఈ ఐచ్చికము ఎన్ని సార్లు వాడవచ్చు.

- ఒక నిర్మాణం

- ఆర్కిటెక్చర్ = నిర్మాణము

Ld యొక్క ప్రస్తుత విడుదలలో, ఈ ఐచ్ఛికం ఇంటెల్ 960 ఫ్యామిలీ ఆర్కిటెక్చర్లకు ఉపయోగపడుతుంది. ఆ ld ఆకృతీకరణలో, ఆర్కిటెక్చర్ వాదన 960 ఫ్యామిలీలో ప్రత్యేక నిర్మాణాన్ని గుర్తిస్తుంది, కొన్ని రక్షణలు మరియు ఆర్కైవ్-లైబ్రరీ శోధన మార్గమును సవరించుట.

LD యొక్క భవిష్యత్ విడుదలలు ఇతర నిర్మాణ కుటుంబాలకు ఇదే కార్యాచరణకు మద్దతు ఇస్తాయి.

-b ఇన్పుట్-ఫార్మాట్

--format = ఇన్పుట్-ఫార్మాట్

ld ఒకటి కంటే ఎక్కువ రకమైన ఆబ్జెక్ట్ ఫైల్కు మద్దతు ఇవ్వడానికి అమర్చవచ్చు. మీ ld ఈ విధంగా కాన్ఫిగర్ చేయబడితే, మీరు కమాండ్ లైన్ పై ఈ ఐచ్చికాన్ని అనుసరించే ఇన్పుట్ ఆబ్జెక్ట్ ఫైళ్ళకు బైనరీ ఆకృతిని తెలుపుటకు -b ఐచ్చికాన్ని ఉపయోగించవచ్చు. Ld ప్రత్యామ్నాయ ఆబ్జెక్ట్ ఫార్మాట్లకు మద్దతు ఇవ్వటానికి కాన్ఫిగర్ చేయబడినప్పుడు, మీరు దీన్ని సాధారణంగా పేర్కొనాల్సిన అవసరం లేదు, ఎందుకంటే ప్రతి మెషీన్లో చాలా డిఫాల్ట్ ఇన్పుట్ ఆకృతిగా ఆశించిన విధంగా LD కాన్ఫిగర్ చేయబడాలి. ఇన్పుట్-ఫార్మాట్ అనేది ఒక టెక్స్ట్ స్ట్రింగ్, BFD లైబ్రరీలచే మద్దతు ఇవ్వబడిన ఒక నిర్దిష్ట ఆకృతి పేరు. (మీరు objdump -i తో అందుబాటులో ఉన్న బైనరీ ఫార్మాట్లను జాబితా చేయవచ్చు.)

మీరు అసాధారణ బైనరీ ఫార్మాట్తో ఫైళ్లను లింక్ చేస్తే మీరు ఈ ఎంపికను ఉపయోగించుకోవచ్చు. -b ఇన్పుట్-ఫార్మాట్ ఒక నిర్దిష్ట ఫార్మాట్లో వస్తువులను ప్రతి సమూహంకు పూర్వం చేర్చడం ద్వారా, ప్రత్యేకంగా ఫార్మాట్లలో (వివిధ ఫార్మాట్లలోని ఆబ్జెక్ట్ ఫైళ్లను లింక్ చేసేటప్పుడు) -b కూడా మీరు ఉపయోగించగలరు.

డిఫాల్ట్ ఫార్మాట్ పర్యావరణ వేరియబుల్ "GNUTARGET" నుండి తీసుకోబడింది.

"TARGET" కమాండ్ ఉపయోగించి మీరు స్క్రిప్ట్ నుండి ఇన్పుట్ ఫార్మాట్ను కూడా నిర్వచించవచ్చు;

-c MRI-commandfile

--mri-script = MRI-commandfile

MRI చే ఉత్పత్తి చేయబడిన అనుసంధానతలకు అనుగుణంగా, LD GNU LD డాక్యుమెంటేషన్ యొక్క MRI అనుకూల స్క్రిప్ట్ ఫైల్స్ విభాగంలో వివరించిన ప్రత్యామ్నాయ, పరిమితం చేయబడిన ఆదేశ భాషలో వ్రాసిన స్క్రిప్ట్ ఫైళ్లను అంగీకరిస్తుంది. MRI స్క్రిప్ట్ ఫైళ్లను ఎంపిక -c తో ప్రవేశపెట్టండి; సాధారణ-ప్రయోజనం ld స్క్రిప్టింగ్ భాషలో వ్రాయబడిన లింక్ స్క్రిప్ట్లను అమలు చేయడానికి -T ఎంపికను ఉపయోగించండి. MRI-cmdfile ఉనికిలో లేనట్లయితే, LD-L ఆప్షన్స్ ద్వారా పేర్కొన్న డైరెక్టరీలలో దాని కొరకు చూస్తుంది.

-d

-dc

-dp

ఈ మూడు ఎంపికలు సమానం; ఇతర అనుసంధానాలతో అనుగుణ్యత కోసం బహుళ రూపాలు మద్దతిస్తాయి. ఒక పునఃస్థాపన అవుట్పుట్ ఫైల్ ( -ఆర్తో ) పేర్కొనబడినప్పటికీ వారు సాధారణ చిహ్నాలకు ఖాళీని కేటాయించారు. "FORCE_COMMON_ALLOCATION" స్క్రిప్ట్ కమాండ్ అదే ప్రభావాన్ని కలిగి ఉంది.

-e ఎంట్రీ

--entry = ఎంట్రీ

డిఫాల్ట్ ఎంట్రీ పాయింట్ కాకుండా, మీ ప్రోగ్రామ్ యొక్క అమలు ప్రారంభించడం కోసం స్పష్టమైన చిహ్నంగా ఎంట్రీని ఉపయోగించండి. ఎంట్రీ అనే ఎంట్రీ లేనట్లయితే, ఎంట్రీని అన్వయించటానికి లింకర్ ప్రయత్నిస్తుంది మరియు ఎంట్రీ అడ్రస్ (ఆ సంఖ్య 10 లో వివరించబడుతుంది; మీరు బేస్ 16 కొరకు ఒక ప్రముఖ 0x ను ఉపయోగించవచ్చు లేదా ఒక ప్రముఖ 0 బేస్ 8 కోసం).

-E

--export-డైనమిక్

డైనమిక్ లింక్డ్ ఎక్సిక్యూటబుల్ సృష్టించినప్పుడు, డైనమిక్ గుర్తు పట్టికకు అన్ని చిహ్నాలను జోడించండి. డైనమిక్ గుర్తు పట్టిక అనేది రన్ సమయానికి డైనమిక్ వస్తువుల నుండి కనిపించే చిహ్నాల సమితి.

మీరు ఈ ఐచ్ఛికాన్ని ఉపయోగించకపోతే, డైనమిక్ గుర్తు పట్టిక సాధారణంగా లింక్లో పేర్కొన్న కొన్ని డైనమిక్ వస్తువుచే సూచించబడిన చిహ్నాలను మాత్రమే కలిగి ఉంటుంది.

మీరు "dlopen" ను ఒక డైనమిక్ ఆబ్జెక్ట్ ను లోడ్ చేస్తే, ప్రోగ్రామ్ ద్వారా నిర్వచించబడిన చిహ్నాలకు తిరిగి సూచించాల్సిన అవసరం ఉంది, అది ప్రోగ్రామ్ను జతచేసినప్పుడు మీరు బహుశా ఈ ఎంపికను ఉపయోగించాలి.

అవుట్పుట్ ఫార్మాట్కు మద్దతు ఇస్తే డైనమిక్ గుర్తుల పట్టికకు ఏ గుర్తులను జోడించాలో నియంత్రించడానికి మీరు వెర్షన్ స్క్రిప్ట్ని ఉపయోగించవచ్చు. @ వివరణ {VERSION} లో - విక్షనరీ స్క్రిప్ట్ యొక్క వివరణ చూడండి.

-EB

పెద్ద-అంత్య వస్తువులను లింక్ చేయండి. ఇది డిఫాల్ట్ అవుట్పుట్ ఆకృతిని ప్రభావితం చేస్తుంది.

-EL

చిన్న-అంత్య వస్తువులను లింక్ చేయండి. ఇది డిఫాల్ట్ అవుట్పుట్ ఆకృతిని ప్రభావితం చేస్తుంది.

-f

- సహాయక పేరు

ELF భాగస్వామ్య వస్తువును సృష్టిస్తున్నప్పుడు, పేర్కొన్న పేరుకు అంతర్గత DT_AUXILIARY ఫీల్డ్ని సెట్ చేయండి. ఇది భాగస్వామ్య వస్తువు పేరు యొక్క గుర్తు పట్టికలో ఒక సహాయక వడపోతగా వాడాలి అనే అంశంగా డైనమిక్ లింక్ని చెబుతుంది.

మీరు ఈ ఫిల్టర్ ఆబ్జెక్ట్కు వ్యతిరేకంగా ప్రోగ్రామ్ను తరువాత లింక్ చేస్తే, అప్పుడు మీరు ప్రోగ్రామ్ను అమలు చేస్తున్నప్పుడు, డైనమిక్ లింకెర్ DT_AUXILIARY ఫీల్డ్ ను చూస్తారు. డైనమిక్ లింక్దారు ఫిల్టర్ ఆబ్జెక్టు నుండి ఏ గుర్తులను పరిష్కరిస్తే, అది మొదటిసారి షేర్డ్ ఆబ్జెక్ట్ పేరు లో నిర్వచనంలో ఉందా అని తనిఖీ చేస్తుంది. ఒకటి ఉంటే, ఫిల్టర్ ఆబ్జెక్ట్ లో డెఫినిషన్ బదులుగా ఇది ఉపయోగించబడుతుంది. భాగస్వామ్య వస్తువు పేరు లేదు. అందువల్ల షేర్డ్ ఆబ్జెక్ట్ పేరు కొన్ని విధులు ఒక ప్రత్యామ్నాయ అమలును అందించడానికి ఉపయోగించబడుతుంది, బహుశా డీబగ్గింగ్ కోసం లేదా యంత్రం నిర్దిష్ట పనితీరు కోసం.

ఈ ఐచ్చికము ఒకసారి కంటే ఎక్కువ తెలుపవచ్చు. DT_AUXILIARY ఎంట్రీలు కమాండ్ లైన్ లో కనిపించే క్రమంలో సృష్టించబడతాయి.

-F పేరు

- ఫిల్టర్ పేరు

ELF భాగస్వామ్య వస్తువును సృష్టిస్తున్నప్పుడు, పేర్కొన్న పేరుకు అంతర్గత DT_FILTER ఫీల్డ్ని సెట్ చేయండి. ఇది సృష్టించబడిన భాగస్వామ్య వస్తువు యొక్క చిహ్న పట్టికను పంచబడ్డ ఆబ్జెక్ట్ పేరు యొక్క చిహ్నం పట్టికలో వడపోతగా వాడాలి అని డైనమిక్ లింక్కర్కు చెబుతుంది.

మీరు ఈ ఫిల్టర్ ఆబ్జెక్ట్కు వ్యతిరేకంగా ప్రోగ్రామ్ను తర్వాత లింక్ చేస్తే, అప్పుడు మీరు ప్రోగ్రామ్ను అమలు చేస్తున్నప్పుడు, డైనమిక్ లింకెర్ DT_FILTER ఫీల్డ్ ను చూస్తారు. మామూలుగా ఫిల్టర్ వస్తువు యొక్క చిహ్న పట్టిక ప్రకారం డైనమిక్ లింకర్ గుర్తులు గుర్తిస్తుంది, కానీ ఇది వాస్తవానికి షేర్డ్ ఆబ్జెక్ట్ పేరులోని నిర్వచనాలకు అనుసంధానించబడుతుంది. ఆ విధంగా ఆబ్జెక్ట్ పేరు అందించిన చిహ్నాల ఉపసమితిని ఎంచుకోవడానికి ఫిల్టర్ వస్తువు ఉపయోగించవచ్చు.

ఇన్పుట్ మరియు అవుట్పుట్ ఆబ్జెక్ట్ ఫైళ్లకు ఆబ్జెక్ట్-ఫైల్ ఫార్మాట్ను పేర్కొనడానికి ఒక సంకలన సాధనచక్రం అంతటా -F ఎంపికను కొన్ని పాత అనుసంధానాలు ఉపయోగించాయి. GNU లింకర్ ఈ ప్రయోజనం కోసం ఇతర విధానాలను ఉపయోగిస్తుంది: -b , --format , --oformat ఎంపికలు, లింక్ స్క్రిప్ట్ లలో "TARGET" కమాండ్ మరియు "GNUTARGET" పర్యావరణ వేరియబుల్. ELF షేర్డ్ ఆబ్జెక్ట్ ను సృష్టించనప్పుడు, GNU లింకర్ -F ఐచ్చికాన్ని విస్మరిస్తుంది.

-ఫీనీ పేరు

ELF ఎగ్జిక్యూటబుల్ లేదా షేర్డ్ ఆబ్జెక్ట్ ను సృష్టిస్తున్నప్పుడు, ఫంక్షన్ యొక్క చిరునామాకు DT_FINI ను అమర్చుట ద్వారా, ఎగ్జిక్యూటబుల్ లేదా షేర్డ్ ఆబ్జెక్ట్ ను లోడ్ చేయబడినప్పుడు కాల్ చేయండి. అప్రమేయంగా, లింకర్ కాల్ "ఫంక్షన్" ఫంక్షన్ గా ఉపయోగిస్తుంది.

-G

విస్మరించబడింది. ఇతర ఉపకరణాలతో అనుగుణ్యత కోసం అందించబడింది.

-G విలువ

--gpsize = విలువ

GP రిజిస్టర్ పరిమాణాన్ని ఉపయోగించి ఆప్టిమైజ్ చేయడానికి వస్తువుల గరిష్ట పరిమాణాన్ని సెట్ చేయండి. ఇది MIPS ECOFF వంటి ఆబ్జెక్ట్ ఫైల్ ఫార్మాట్లకు మాత్రమే అర్ధవంతమైనది, ఇది పెద్ద మరియు చిన్న వస్తువులను వేర్వేరు విభాగాలలో ఉంచడానికి మద్దతు ఇస్తుంది. ఇతర ఆబ్జెక్ట్ ఫైల్ ఫార్మాట్లకు ఇది విస్మరించబడుతుంది.

-h పేరు

-సొన్నో = పేరు

ELF భాగస్వామ్య వస్తువును సృష్టిస్తున్నప్పుడు, పేర్కొన్న పేరుకు అంతర్గత DT_SONAME ఫీల్డ్ని సెట్ చేయండి. ఎగ్జిక్యూటబుల్ ఒక DT_SONAME క్షేత్రాన్ని కలిగివున్న భాగస్వామ్య వస్తువుతో అనుసంధానించబడినప్పుడు, ఎగ్జిక్యూటబుల్ రన్ అయినప్పుడు డైనమిక్ లింకర్ లింకుకు ఇచ్చిన ఫైల్ పేరును ఉపయోగించకుండా కాకుండా DT_SONAME ఫీల్డ్ ద్వారా పేర్కొన్న భాగస్వామ్య వస్తువుని ప్రయత్నిస్తుంది.

-i

పెరుగుతున్న లింకును (ఐచ్ఛికం -ఆర్ ) అదే విధంగా చేయండి.

పేరు

ELF ఎగ్జిక్యూటబుల్ లేదా షేర్డ్ ఆబ్జెక్ట్ను సృష్టిస్తున్నప్పుడు, ఫంక్షన్ యొక్క చిరునామాకు DT_INIT ను సెట్ చేయడం ద్వారా, అమలు చేయగల లేదా పంచుకోబడిన వస్తువు లోడ్ అయినప్పుడు NAME కాల్ చేయండి. అప్రమేయంగా, లింకర్ "ఫంక్షన్" గా ఫంక్షన్గా "_init" ను ఉపయోగిస్తుంది.

-l ఆర్కైవ్

--library = ఆర్కైవ్

లింక్ చేయడానికి ఫైళ్ల జాబితాకు ఆర్కైవ్ ఫైల్ ఆర్కైవ్ని జోడించండి. ఈ ఐచ్చికము ఎన్ని సార్లు వాడవచ్చు. ld పేర్కొన్న ప్రతి ఆర్కైవ్ కోసం "libarchive.a" యొక్క సంఘటనల కోసం దాని మార్గ జాబితాను శోధిస్తుంది.

భాగస్వామ్య గ్రంథాలయాలకు మద్దతు ఇచ్చే వ్యవస్థలపై, ld ".a" కంటే ఇతర పొడిగింపులతో లైబ్రరీల కోసం శోధించవచ్చు. ముఖ్యంగా, ELF మరియు SunOS వ్యవస్థలపై, ld ".a" యొక్క పొడిగింపుతో ఒకదాని కోసం శోధించడానికి ముందు ".o" పొడిగింపుతో లైబ్రరీ కోసం డైరెక్టరీని శోధిస్తుంది. సమావేశం ద్వారా, ఒక ".సో" పొడిగింపు భాగస్వామ్య లైబ్రరీని సూచిస్తుంది.

కనెక్షన్ లైన్ లో తెలుపబడిన స్థానానికి లింకు ఒక ఆర్కైవ్ను ఒకసారి మాత్రమే శోధిస్తుంది. ఆర్కైవ్ కమాండ్ లైన్ లో ఆర్కైవ్కు ముందు కనిపించిన కొన్ని వస్తువులో నిర్వచించబడని చిహ్నాన్ని నిర్వచిస్తుంటే, ఆ వ్యాసకర్త నుండి సంబంధిత ఫైల్ (ల) ను కలిగి ఉంటుంది. అయితే, కమాండ్ లైన్లో కనిపించే ఒక అంశంలో ఒక నిర్వచించబడని చిహ్నం లింక్ను ఆర్కైవ్ను మళ్ళీ శోధించటానికి కారణం చేయదు.

చూడండి - ( ఆర్కైవ్లను అనేకసార్లు శోధించడానికి లింకర్ను బలవంతం చేయడానికి ఒక మార్గం కోసం ఎంపిక.

కమాండ్ లైన్లో మీరు అదే ఆర్కైవ్ను అనేక సార్లు జాబితా చేయవచ్చు.

ఈ రకమైన ఆర్కైవ్ సెర్చ్ యునిక్స్ లింక్సర్స్కు ప్రామాణికం. అయితే, మీరు ld onAIX ను ఉపయోగిస్తున్నట్లయితే, ఇది AIX లింక్దారు యొక్క ప్రవర్తన నుండి భిన్నమైనదని గమనించండి.

-L సెర్చ్

--library-path = searchdir

Ld ఆర్కైవ్ గ్రంధాలయాలు మరియు ld నియంత్రణ స్క్రిప్ట్స్ కోసం శోధిస్తున్న మార్గాల జాబితాకు పాత్ సెర్చ్డిర్ను జోడించండి. మీరు ఎన్ని సార్లు ఈ ఎంపికను ఉపయోగించవచ్చు. డైరెక్టరీలు కమాండ్ లైన్ లో పేర్కొనబడిన క్రమంలో శోధించబడతాయి. కమాండ్ లైన్పై పేర్కొన్న డైరెక్టరీలు డిఫాల్ట్ డైరెక్టరీల ముందు శోధించబడతాయి. ఎంపికలు కనిపించే క్రమంతో సంబంధం లేకుండా అన్ని -l ఎంపికలు అన్ని -l ఎంపికలకు వర్తిస్తాయి.

Searchdir "=" తో మొదలైతే, అప్పుడు "=" sysroot prefix చేత భర్తీ చేయబడుతుంది, లింకర్ ఆకృతీకరించబడినప్పుడు తెలుపబడిన ఒక మార్గం.

ఎమ్యులేషన్ రీతి ld వుపయోగించాలో, మరియు కొన్ని సందర్భాలలో ఇది ఎలా కన్ఫిగర్ చేయబడిందో దానిపై ఆధారపడిన మార్గాల యొక్క డిఫాల్ట్ సెట్ ( -ఎల్తో పేర్కొనబడకుండా).

మార్గాలను "SEARCH_DIR" కమాండ్తో లింక్ లిపిలో పేర్కొనవచ్చు. ఈ విధంగా సూచించిన డైరెక్టరీలు కమాండ్ లైన్లో లింకర్ స్క్రిప్ట్ కనిపించే బిందువు వద్ద శోధించిన.

-m ఎమ్యులేషన్

ఎమ్యులేషన్ లింకేర్ను మార్చుకోండి. మీరు --verbose లేదా -V ఎంపికలు తో అందుబాటులో ఎమ్యులేషన్స్ జాబితా చేయవచ్చు.

-m ఐచ్ఛికం ఉపయోగించబడకపోతే, "LDEMULATION" పర్యావరణ వేరియబుల్ నుండి నిర్వచించబడుతుంది, అది నిర్వచించబడినట్లయితే.

లేకపోతే, డిఫాల్ట్ ఎమ్యులేషన్ లింకెర్ కాన్ఫిగర్ చేయబడిన దానిపై ఆధారపడి ఉంటుంది.

-M

--print పట

ప్రామాణిక అవుట్పుట్కు లింక్ మ్యాప్ను ముద్రించండి. ఒక లింక్ మ్యాప్ కింది సమాచారాన్ని సహా, లింక్ గురించి సమాచారాన్ని అందిస్తుంది:

*

ఆబ్జెక్ట్ ఫైల్స్ అండ్ సింబల్స్ మెమరీలో మ్యాప్ చేయబడతాయి.

*

ఎలా సాధారణ చిహ్నాలు కేటాయించబడ్డాయి.

*

ఆర్కైవ్ సభ్యుడిని తీసుకురావడానికి కారణమైన చిహ్నాన్ని ప్రస్తావించి, లింక్లో చేర్చిన అన్ని ఆర్కైవ్ సభ్యులు.

-n

--nmagic

విభాగాల యొక్క పేజీ అమరికను ఆపివేసి, అవుట్పుట్ను "NMAGIC" గా వీలైతే గుర్తించండి.

-n

--omagic

టెక్స్ట్ మరియు డేటా విభాగాలను చదవగలిగేది మరియు వ్రాయగలిగేలా సెట్ చేయండి. అలాగే, డేటా సెగ్మెంట్ను పేజీ-సమలేఖనం చేయవద్దు, మరియు భాగస్వామ్య గ్రంథాలయాల నుండి లింక్ చేయడాన్ని నిలిపివేయండి. అవుట్పుట్ ఫార్మాట్ Unix శైలి మ్యాజిక్ సంఖ్యలు మద్దతిస్తే, అవుట్పుట్ను "OMAGIC" గా గుర్తించండి.

--no-omagic

ఈ ఐచ్చికము -N ఐచ్ఛికం యొక్క చాలా ప్రభావాలను తొలగిస్తుంది . ఇది చదివేదిగా టెక్స్ట్ విభాగాన్ని సెట్ చేస్తుంది మరియు డేటా సెగ్మెంట్ను పేజీ సమలేఖనం చేస్తుంది. గమనిక - ఈ ఐచ్చికము షేర్డ్ లైబ్రరీలకు వ్యతిరేకంగా లింకును ఎనేబుల్ చేయదు. దీని కోసం -మద్దతు కోసం ఉపయోగించండి.

-O అవుట్పుట్

- అవుట్పుట్ = అవుట్పుట్

Ld చే ఉత్పత్తి చేయబడిన ప్రోగ్రాం కొరకు అవుట్పుట్ను ఉపయోగించండి; ఈ ఐచ్ఛికం తెలియకపోతే, అప్రమేయంగా పేరు a.out ఉపయోగించబడుతుంది. స్క్రిప్ట్ కమాండ్ "OUTPUT" అవుట్పుట్ ఫైల్ పేరును కూడా పేర్కొనవచ్చు.

-O స్థాయి

స్థాయి సున్నా ld కంటే సంఖ్యాత్మక విలువలు ఉంటే అవుట్పుట్ను ఆప్టిమైజ్ చేస్తుంది. ఇది గణనీయమైన పొడవు పడుతుంది మరియు చివరికి చివరి బైనరీకి మాత్రమే సాధ్యమవుతుంది.

-q

--emit-relocs

పూర్తిగా లింక్ చేసిన exececutables లో పునరావాస విభాగాలు మరియు విషయాలను వదిలి. పోస్ట్ విశ్లేషణ మరియు ఆప్టిమైజేషన్ టూల్స్ ఎగ్జిక్యూట్లను సరిగ్గా సవరించడానికి ఈ సమాచారం అవసరం కావచ్చు. ఇది పెద్ద కార్యనిర్వహణల ఫలితంగా ఉంది.

ఈ ఎంపిక ప్రస్తుతం ELF ప్లాట్ఫాంలపై మాత్రమే మద్దతు ఉంది.

-r

--relocateable

Relocatable అవుట్పుట్ను సృష్టించు --- అంటే, అవుట్పుట్ ఫైల్ను ld కు ఇన్పుట్ వలె అందించగలగటం . దీనిని తరచూ పాక్షిక లింకింగ్ అని పిలుస్తారు. ఒక సైడ్ ఎఫెక్ట్, ఎన్విరాన్మెంట్స్ ఆ స్టాండర్డ్ యునిక్స్ మ్యాజిక్ నంబర్లు, ఈ ఐచ్చికం అవుట్పుట్ ఫైల్ మేజిక్ సంఖ్యను "OMAGIC" కు అమర్చుతుంది. ఈ ఐచ్ఛికం తెలియకపోతే, ఒక సంపూర్ణ ఫైలు ఉత్పత్తి అవుతుంది. C ++ ప్రోగ్రామ్లను లింక్ చేస్తున్నప్పుడు, ఈ ఐచ్ఛికం నిర్మాణానికి సూచనలను పరిష్కరించదు; అలా చేయుటకు -Ur ఉపయోగించండి.

అవుట్పుట్ ఫైల్ అవుట్పుట్ ఫైల్ వలె ఒకే ఫార్మాట్ను కలిగి లేనప్పుడు, ఇన్పుట్ ఫైల్ ఏదైనా పునరావాసాలను కలిగి ఉండకపోతే పాక్షిక లింక్ని మాత్రమే మద్దతు ఇస్తుంది. వేర్వేరు అవుట్పుట్ ఆకృతులు మరింత పరిమితులను కలిగి ఉంటాయి; ఉదాహరణకు కొన్ని "a.out" ఆధారిత ఫార్మాట్లలో ఇతర ఫార్మాట్లలో ఇన్పుట్ ఫైల్లతో పాక్షిక లింక్ను మద్దతు ఇవ్వదు.

ఈ ఐచ్ఛికం -i అదే విషయం చేస్తుంది.

-R ఫైల్ పేరు

- సరి-చిహ్నాలు = ఫైల్ పేరు

ఫైల్పేరు నుండి సంకేత పేర్లు మరియు వారి చిరునామాలను చదువుకోండి, కానీ దానిని మార్చడం లేదా అవుట్పుట్లో చేర్చకండి. ఇది మీ అవుట్పుట్ ఫైల్ను ఇతర ప్రోగ్రామ్లలో నిర్వచించిన మెమరీ యొక్క సంపూర్ణ స్థానాలకు సూచించడానికి అనుమతిస్తుంది. మీరు ఈ ఐచ్ఛికాన్ని ఒకటి కంటే ఎక్కువసార్లు ఉపయోగించుకోవచ్చు.

ఇతర ELF అనుసంధానతలకు అనుగుణంగా, -R ఐచ్చికాన్ని ఒక డైరెక్టరీ పేరును అనుసరించి, ఫైల్ పేరు కాకుండా, అది -rpath ఐచ్చికంగా పరిగణించబడుతుంది.

-s

--strip-అన్ని

అవుట్పుట్ ఫైల్ నుండి అన్ని సంకేత సమాచారాన్ని వదిలేయండి.

-S

--strip-డీబగ్

అవుట్పుట్ ఫైల్ నుండి డీబగ్గర్ సంకేత సమాచారాన్ని (కాని అన్ని చిహ్నాలు కాదు) వదిలివేయి.

-t

--trace

ఇన్పుట్ ఫైళ్ళ పేర్లు వాటిని ld ప్రాసెస్లుగా ప్రింట్ చేయండి.

-T స్క్రిప్ట్ఫైల్

--script = scriptfile

లిపి స్క్రిప్ట్ వలె స్క్రిప్ట్ఫైల్ ఉపయోగించండి. ఈ స్క్రిప్ట్ ld యొక్క డిఫాల్ట్ లింకర్ స్క్రిప్ట్ను భర్తీ చేస్తుంది (దానికి బదులుగా జోడించడం కంటే), కాబట్టి కమాండ్ ఫైల్ అవుట్పుట్ ఫైల్ను వివరించడానికి అవసరమైన ప్రతిదీ తప్పక పేర్కొనాలి. స్క్రిప్టు ప్రస్తుత డైరెక్టరీలో లేకపోతే, "ld" దాని పూర్వ-L ఐచ్చికాల ద్వారా పేర్కొన్న డైరెక్టరీలలో దాని కొరకు చూస్తుంది. బహుళ-టి ఎంపికలు కూడబెట్టుతాయి.

-u చిహ్నం

--undefined = గుర్తు

ఫోర్స్ సింబల్ అవుట్పుట్ ఫైల్ లో ఒక నిర్వచించబడని చిహ్నంగా నమోదు చేయబడుతుంది. ఇలా చేయడం, ఉదాహరణకు, ప్రామాణిక లైబ్రరీల నుండి అదనపు మాడ్యూళ్ళను కలిపే ట్రిగ్గర్ కావచ్చు. -U అదనపు నిర్వచించబడని చిహ్నాలను నమోదు చేయడానికి వివిధ ఎంపిక వాదాలతో పునరావృతమవుతుంది. ఈ ఐచ్ఛికం "EXTERN" లింకర్ స్క్రిప్ట్ కమాండ్కు సమానం.

-Ur

C ++ కార్యక్రమాల కంటే ఇతర వాటికి, ఈ ఐచ్చికము -r కి సమానంగా ఉంటుంది: ఇది relocatable అవుట్పుట్ను ఉత్పత్తి చేస్తుంది --- అంటే ld కు ఇన్పుట్గా పనిచేసే ఒక అవుట్పుట్ ఫైల్. C ++ ప్రోగ్రామ్లను లింక్ చేస్తున్నప్పుడు, -ఆర్ కాకుండా, నిర్మాణానికి సూచనలను పరిష్కరించుకోవాలి. ఇది -Ur తో అనుసంధానించబడిన ఫైళ్ళ మీద -Ur ఉపయోగించడానికి పని చేయదు . కన్స్ట్రక్టర్ పట్టిక నిర్మించిన తరువాత, దానిని జోడించలేము. చివరి పాక్షిక లింక్ కోసం మాత్రమే- మరియూ ఇతరులకు -r .

- ప్రత్యేకమైనవి [= SECTION ]

SECTION కు సరిపోలే ప్రతి ఇన్పుట్ విభాగానికి ప్రత్యేక అవుట్పుట్ విభాగాన్ని సృష్టిస్తుంది లేదా ప్రతి అనాధ ఇన్పుట్ విభాగానికి ఐచ్ఛిక వైల్డ్కార్డ్ SECTION వాదన లేకపోతే లేదు. ఒక అనాధ విభాగం ఒక లింక్ లిపిలో ప్రత్యేకంగా పేర్కొనబడదు. కమాండ్ లైన్ పై మీరు ఈ ఐచ్చికాన్ని పలుసార్లు ఉపయోగించవచ్చు; ఇది ఇన్పుట్ విభాగాల యొక్క సాధారణ విలీనం అదే పేరుతో నిరోధిస్తుంది, లింక్ లిపిలో అవుట్పుట్ విభాగం కేటాయింపులను భర్తీ చేస్తుంది.

-v

--version

-V

Ld కోసం సంస్కరణ సంఖ్య ప్రదర్శించు. -V ఐచ్చికము మద్దతు ఉన్న ఎమ్యులేషన్ లను కూడా జాబితా చేస్తుంది.

-x

--discard-అన్ని

అన్ని స్థానిక చిహ్నాలను తొలగించండి.

-X

--discard-స్థానికులు

తాత్కాలిక స్థానిక చిహ్నాలను తొలగించండి. చాలా లక్ష్యాల కోసం, ఇది అన్ని స్థానిక చిహ్నాలు, దీని పేర్లు L తో ప్రారంభమవుతాయి.

-ఆ చిహ్నం

--trace-symbol = గుర్తు

చిహ్నం కనిపించే ప్రతి లింక్ ఫైల్ పేరును ముద్రించండి. ఈ ఐచ్చికము ఎన్నోసార్లు ఇవ్వబడుతుంది. అనేక సిస్టమ్స్లో ఒక అండర్ స్కోర్ను సిద్ధం చేయాలి.

మీరు మీ లింక్లో ఒక నిర్వచించబడని చిహ్నం ఉన్నప్పుడు ఈ ఎంపిక ఉపయోగకరంగా ఉంటుంది, కానీ సూచన ఎక్కడ నుండి వస్తున్నాయో తెలియదు.

-Y మార్గం

డిఫాల్ట్ లైబ్రరీ శోధన మార్గానికి మార్గం జోడించండి. ఈ ఐచ్చికము సోలారిస్ కంపాటిబిలిటీ కొరకు ఉంది.

-z కీవర్డ్

గుర్తించబడిన కీలక పదాలు "initfirst", "పరస్పరం", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "ఇప్పుడు", "మూలం", "combreloc", "nocombreloc" మరియు "nocopyreloc ". ఇతర కీలక పదాలు సోలారిస్ అనుకూలతకు నిర్లక్ష్యం చేయబడ్డాయి. "initfirst" వస్తువు ఏ ఇతర వస్తువులు ముందు రన్టైమ్ వద్ద మొదటి ప్రారంభించడం సూచిస్తుంది. "పరస్పరం" దాని చిహ్న పట్టిక అన్ని చిహ్నాలు, ప్రాధమిక కార్యనిర్వహణలకు ముందు ఉద్భవించిన వస్తువును సూచిస్తుంది. "loadfltr" దాని ఫిల్టీస్ రన్టైమ్ వద్ద వెంటనే ప్రాసెస్ చేయబడుతున్న వస్తువును సూచిస్తుంది. "nodefaultlib" ఈ వస్తువు యొక్క ఆధారాల కోసం అన్వేషణ విస్మరిస్తుంది ఏ డిఫాల్ట్ లైబ్రరీ శోధన మార్గాలు. "nodelete" వస్తువు రన్టైమ్ వద్ద అన్లోడ్ చేయరాదు అని సూచిస్తుంది. "nodlopen" వస్తువు "dlopen" అందుబాటులో లేదు సూచిస్తుంది. "nodump" మార్కులు ఆ వస్తువును "dldump" ద్వారా డంప్ చేయలేము. "ఇప్పుడు" ఆబ్జెక్ట్ కాని సోమరితనం రన్టైమ్ బైండింగ్ తో వస్తువును సూచిస్తుంది. "ORIGIN" ఆబ్జెక్ట్ ను కలిగి ఉన్న "మూలం" గుర్తులను సూచిస్తుంది. "defs" undefined చిహ్నాలు అనుమతించదు. "muldefs" బహుళ నిర్వచనాలు అనుమతిస్తుంది. "combreloc" బహుళ పునరావాస విభాగాలను మిళితం చేస్తుంది మరియు సాధ్యమైనంత త్వరగా డైనమిక్ సింక్ లుక్అప్ కాషింగ్ చేయటానికి వాటిని తయారు చేస్తుంది.

"nocombreloc" బహుళ పరస్పర విభాగాలను కలపడం సాధ్యం చేస్తుంది. "nocopyreloc" కాపీ relocs ఉత్పత్తి నిలిపివేస్తుంది.

- ( ఆర్కైవ్స్ -)

- స్టార్ట్-గ్రూపు ఆర్కైవ్ --end-group

ఆర్కైవ్ ఆర్కైవ్ ఫైళ్ళ జాబితా అయి ఉండాలి. వారు స్పష్టమైన ఫైల్ పేర్లు, లేదా -l ఎంపికలు కావచ్చు.

కొత్త నిర్వచించబడని సూచనలు సృష్టించబడనంత వరకు పేర్కొన్న ఆర్చివ్స్ పదేపదే శోధించబడతాయి. సాధారణంగా, ఒక ఆర్చీవ్ కమాండ్ లైన్ లో పేర్కొన్న క్రమంలో ఒకసారి మాత్రమే శోధించబడుతుంది. ఆ ఆర్కైవ్లో ఒక గుర్తును ఒక నిర్దేశిత చిహ్నాన్ని పరిష్కరించడానికి అవసరమైతే, ఆ తరువాత ఆర్కైవ్లో ఒక ఆబ్జెక్ట్ ద్వారా సూచించబడుతుంది, ఆ కమాండుపై ఆ తరువాత కనిపించేది, లింకు ఆ సూచనను పరిష్కరించలేడు. ఆర్కైవ్లను సమూహపరచడం ద్వారా, సాధ్యమయ్యే అన్ని సూచనలు పరిష్కరించబడతాయి వరకు అవి పదేపదే శోధించబడతాయి.

ఈ ఐచ్ఛికాన్ని ఉపయోగించడం వలన గణనీయమైన పనితీరు ఖర్చు ఉంటుంది. రెండు లేదా అంతకంటే ఎక్కువ ఆర్కైవ్ల మధ్య అనివార్యమైన వృత్తాకార సూచనలను మాత్రమే ఉపయోగించడం ఉత్తమం.

--accept-తెలియని-ఇన్పుట్ వంపు

--no-అంగీకార-తెలియని-ఇన్పుట్ వంపు

నిర్మాణాత్మక గుర్తింపును గుర్తించలేని ఇన్పుట్ ఫైళ్ళను ఆమోదించడానికి లింక్దారును చెపుతుంది. ఊహ వారు వినియోగదారుడు ఏమి చేస్తున్నారనేది తెలుసు మరియు ఉద్దేశపూర్వకంగా ఈ తెలియని ఇన్పుట్ ఫైళ్లలో లింక్ చేయాలనుకుంటున్నారు. ఇది లింకు యొక్క డిఫాల్ట్ ప్రవర్తన, విడుదల 2.14 ముందు. విడుదలైన 2.14 నుండి అప్రమేయ ప్రవర్తన అటువంటి ఇన్పుట్ ఫైళ్ళను తిరస్కరించటం, మరియు పాత ప్రవర్తనను పునరుద్ధరించడానికి - అంగీకరింపబడని ఇన్పుట్-వంపు ఎంపికను జతచేయబడింది.

-సృష్టించు కీవర్డ్

ఈ ఐచ్చికము SunOS అనుకూలత కొరకు నిర్లక్ష్యం చేయబడుతుంది.

-Bdynamic

-డి వై

-call_shared

డైనమిక్ లైబ్రరీలకు వ్యతిరేకంగా లింక్ చేయండి. భాగస్వామ్య గ్రంథాలయాలకు మద్దతు ఇచ్చే ప్లాట్ఫారమ్ల్లో ఇది అర్ధవంతమైనది. ఈ ఐచ్ఛికం ఇటువంటి ప్లాట్ఫారమ్లలో సాధారణంగా అప్రమేయంగా ఉంటుంది. ఈ ఐచ్చికము యొక్క వేర్వేరు వైవిధ్యాలు వివిధ వ్యవస్థలతో అనుగుణంగా ఉంటాయి. కమాండ్ లైన్ పై మీరు ఈ ఐచ్చికాన్ని చాలా సార్లు ఉపయోగించుకోవచ్చు: ఇది అనుసరించే -l ఎంపికల కోసం లైబ్రరీ శోధిస్తుంది.

-Bgroup

డైనమిక్ విభాగంలో "DT_FLAGS_1" ఎంట్రీలో "DF_1_GROUP" ఫ్లాగ్ను సెట్ చేయండి. ఇది ఈ వస్తువులో లుక్అప్లను నిర్వహించడానికి రన్టైమ్ లింక్దారుని కారణమవుతుంది మరియు సమూహంలో మాత్రమే దాని పరతంత్రతలను నిర్వహిస్తుంది. - కాని-నిర్వచించబడలేదు . భాగస్వామ్య గ్రంథాలయాలకు మద్దతు ఇచ్చే ELF ప్లాట్ఫారమ్లలో ఈ ఐచ్ఛికం అర్ధవంతమైనది.

-Bstatic

-dn

-non_shared

-static

షేర్డ్ లైబ్రరీలకు వ్యతిరేకంగా లింక్ చేయవద్దు. భాగస్వామ్య గ్రంథాలయాలకు మద్దతు ఇచ్చే ప్లాట్ఫారమ్ల్లో ఇది అర్ధవంతమైనది. ఈ ఐచ్చికము యొక్క వేర్వేరు వైవిధ్యాలు వివిధ వ్యవస్థలతో అనుగుణంగా ఉంటాయి. కమాండ్ లైన్ పై మీరు ఈ ఐచ్చికాన్ని చాలా సార్లు ఉపయోగించుకోవచ్చు: ఇది అనుసరించే -l ఎంపికల కోసం లైబ్రరీ శోధిస్తుంది.

-Bsymbolic

భాగస్వామ్య లైబ్రరీని సృష్టిస్తున్నప్పుడు, భాగస్వామ్య గ్రంథాలయంలో ఉన్న ఏదైనా నిర్వచనానికి గ్లోబల్ సింబల్స్కు సూచనలను జత చేయండి. సాధారణంగా, భాగస్వామ్య లైబ్రరీలోని నిర్వచనాన్ని భర్తీ చేయడానికి ఒక భాగస్వామ్య గ్రంథాలయంతో అనుసంధానించబడిన ఒక ప్రోగ్రామ్కు అవకాశం ఉంది. ఈ ఐచ్ఛికం ELF ప్లాట్ఫారమ్లలో మాత్రమే అర్ధవంతమైనది, ఇది షేర్డ్ లైబ్రరీలకు మద్దతు ఇస్తుంది.

--check-విభాగాలు

--no చెక్ విభాగాలు

విభాగ చిరునామాలను ఏదైనా అతివ్యాప్తి ఉన్నట్లయితే, వారు చూడటానికి కేటాయించిన తర్వాత తనిఖీ చేసేవారిని అడుగుతుంది. సాధారణంగా లింకర్ ఈ తనిఖీని చేస్తుంటుంది మరియు ఏదైనా అతివ్యాప్తాలను కనుగొంటే అది సరైన దోష సందేశాలను ఉత్పత్తి చేస్తుంది. లింకర్ గురించి తెలుసు, మరియు విస్తరణలు విభాగాల కోసం అనుమతులను చేస్తుంది. కమాండ్ లైన్ స్విచ్ - చెక్-విభాగాలు ఉపయోగించి డిఫాల్ట్ ప్రవర్తన పునరుద్ధరించబడుతుంది.

--cref

అవుట్పుట్ ఒక క్రాస్ రిఫరెన్స్ పట్టిక. ఒక లింక్ మ్యాప్ ఫైల్ ఉత్పత్తి అవుతున్నట్లయితే, క్రాస్ రిఫరెన్స్ పట్టిక మ్యాప్ ఫైల్కు ముద్రించబడుతుంది. లేకపోతే, అది ప్రామాణిక అవుట్పుట్ పై ముద్రించబడుతుంది.

టేబుల్ యొక్క ఫార్మాట్ ఉద్దేశపూర్వకంగా సులభం, అందుచేత అవసరమైతే స్క్రిప్ట్ ద్వారా సులభంగా ప్రాసెస్ చేయవచ్చు. చిహ్నాలు ముద్రించబడి, పేరుతో క్రమబద్ధీకరించబడతాయి. ప్రతి గుర్తుకు, ఫైల్ పేర్ల జాబితా ఇవ్వబడుతుంది. సంకేతం నిర్వచించబడితే, జాబితా చేయబడిన మొదటి ఫైల్ నిర్వచనం యొక్క స్థానం. మిగిలిన ఫైల్లు గుర్తుకు సూచనలను కలిగి ఉంటాయి.

--no నిర్వచించే సాధారణ

ఈ ఐచ్చికము సాధారణ చిహ్నాలకు చిరునామాల అప్పగింతను నిరోధిస్తుంది. "INHIBIT_COMMON_ALLOCATION" స్క్రిప్ట్ కమాండ్ అదే ప్రభావాన్ని కలిగి ఉంది.

అవుట్పుట్ ఫైల్ రకాన్ని ఎంపిక నుండి సాధారణ చిహ్నాలకు చిరునామాలను కేటాయించడానికి నిర్ణయాన్ని ఎక్కించకుండా - ఎన్నుకోవటానికి -సాధారణ ఎంపికను అనుమతిస్తుంది; లేకపోతే ఒక పునఃస్థాపన కాని అవుట్పుట్ రకం దళాలు సాధారణ చిహ్నాలకు చిరునామాలను కేటాయించడం. షేర్డ్ లైబ్రరీ నుండి ప్రస్తావించబడిన సాధారణ చిహ్నాలు మాత్రమే ప్రధాన కార్యక్రమంలో చిరునామాలను కేటాయించటానికి --no-define-common ను ఉపయోగించుట. ఇది భాగస్వామ్య లైబ్రరీలో ఉపయోగించని నకిలీ స్థలాన్ని తొలగిస్తుంది మరియు రన్టైమ్ చిహ్నం రిజల్యూషన్ కోసం ప్రత్యేక శోధన మార్గాలతో అనేక డైనమిక్ మాడ్యూల్స్ ఉన్నప్పుడు తప్పు నకిలీకి పరిష్కారంపై ఏదైనా గందరగోళం నిరోధిస్తుంది.

--defsym గుర్తు = వ్యక్తీకరణ

వ్యక్తీకరణ ద్వారా ఇవ్వబడిన సంపూర్ణ చిరునామాను కలిగి ఉన్న అవుట్పుట్ ఫైల్ లో ప్రపంచ చిహ్నాన్ని సృష్టించండి. కమాండ్ లైన్ లో బహుళ సంకేతాలను నిర్వచించేందుకు మీరు ఈ ఎంపికను అనేకసార్లు ఉపయోగించవచ్చు. ఈ సందర్భాలో వ్యక్తీకరణ కోసం పరిమిత రూపంలో మద్దతు ఉంది: మీరు హెక్సాడెసిమల్ స్థిరాంకం లేదా ఇప్పటికే ఉన్న చిహ్నాల పేరు లేదా హెక్సాడెసిమల్ స్థిరాంకాలు లేదా చిహ్నాలు జోడించడానికి లేదా తీసివేయడానికి "+" మరియు "-" ఉపయోగించుకోవచ్చు. మీకు మరింత విస్తృతమైన ఎక్స్ప్రెషన్స్ అవసరమైతే, స్క్రిప్ట్ నుండి లింకర్ కమాండ్ భాషను ఉపయోగించడాన్ని పరిగణించండి. గమనిక: గుర్తుకు మధ్య తెల్ల ఖాళీ ఉండకూడదు, సమానం (`` = = ") మరియు వ్యక్తీకరణకు సమానం.

--demangle [= శైలి ]

--no-demangle

దోష సందేశాలు మరియు ఇతర అవుట్పుట్ లలో సంకేత పేర్లను డిమాంండు చేయాలో లేదో ఈ ఐచ్ఛికాలు నియంత్రిస్తాయి. లింకెర్ డిమాంగిల్కు చెప్పినప్పుడు, ఇది గుర్తులవచ్చే ఫాంటులో సంకేత పేర్లను ప్రదర్శించటానికి ప్రయత్నిస్తుంది: ఆబ్జెక్ట్ ఫైల్ ఫార్మాట్ చేత ఉపయోగించినట్లయితే అది అండర్ స్కోర్ లను దారి తీస్తుంది మరియు C ++ మాయం చేయబడిన సంకేత పేర్లను యూజర్ రీడబుల్ పేర్లుగా మారుస్తుంది. వేర్వేరు కంపైలర్లకు వేర్వేరు మింగ్లింగ్ శైలులు ఉన్నాయి. మీ కంపైలర్ కొరకు తగిన డెమాంగ్లింగ్ శైలిని ఎంచుకోవడానికి ఐచ్ఛిక డిమాంజింగ్ శైలి వాదనను ఉపయోగించవచ్చు. పర్యావరణ వేరియబుల్ COLLECT_NO_DEMANGLE అమర్చబడితే తప్ప, లింకర్ డిఫాల్ట్గా డిమాండ్ అవుతుంది. డిఫాల్ట్ను భర్తీ చేయడానికి ఈ ఎంపికలు ఉపయోగించబడతాయి.

- డైనమిక్ -లింకర్ ఫైలు

డైనమిక్ లింక్దారు పేరును సెట్ చేయండి. డైనమిక్ లింక్డ్ ELF ఎక్సిక్యూబుబుల్స్ ఉత్పత్తి చేసేటప్పుడు ఇది అర్ధవంతమైనది. డిఫాల్ట్ డైనమిక్ లింకర్ సాధారణంగా సరైనది; మీరు ఏమి చేస్తున్నారో తెలియకపోతే దీనిని ఉపయోగించవద్దు.

--embedded-relocs

ఈ ఐచ్ఛికం MIPS ను పొందుపర్చిన PIC కోడ్ను లింక్ చేసేటప్పుడు అర్ధవంతమైనది, ఇది GNU కంపైలర్ మరియు అస్సాంబ్లర్లకు -membedded-pic ఎంపికచే సృష్టించబడింది. ఇది పాయింటర్ విలువలకు స్టాటిపరంగా ప్రారంభించిన ఏ డేటాను మార్చడానికి రన్టైమ్లో ఉపయోగించగల పట్టికను లింక్ చేస్తుంది. వివరాలు కోసం పరీక్షలు / ld-empic లో కోడ్ను చూడండి.

--fatal-హెచ్చరికలు

అన్ని హెచ్చరికలను లోపాలుగా పరిగణించండి .

--force-EXE-ప్రత్యయం

అవుట్పుట్ ఫైల్ ఒక .exe ప్రత్యయం కలిగి ఉందని నిర్ధారించుకోండి.

విజయవంతంగా నిర్మించబడిన పూర్తి లింక్ అవుట్పుట్ ఫైల్కు ". Exe " లేదా " .dll " suffix లేకుంటే, ఈ ఐచ్ఛికం అవుట్పుట్ ఫైల్ను ".exe" ప్రత్యయంతో అదే పేరుతో ఒకదానికి కాపీ చేయడానికి లింక్ చేస్తుంది. Microsoft Windows హోస్ట్లో unmodified Unix దోషాలను ఉపయోగించినప్పుడు ఈ ఐచ్ఛికం ఉపయోగపడుతుంది, ఎందుకంటే కొన్ని వెర్షన్లు విండోస్ ఒక ". Exe" అంత్యంలో ముగుస్తుంటే తప్ప ఇమేజ్ను అమలు చేయదు.

--no-GC-విభాగాలు

--gc-విభాగాలు

ఉపయోగించని ఇన్పుట్ విభాగాల చెత్త సేకరణను ప్రారంభించండి. ఈ ఎంపికకు మద్దతు ఇవ్వని లక్ష్యాలను ఇది విస్మరిస్తుంది. ఈ ఐచ్చికము -r తో అనుకూలం కాదు, లేదా అది డైనమిక్ లింకింగ్ తో ఉపయోగించబడదు. డిఫాల్ట్ ప్రవర్తన (ఈ చెత్త సేకరణను ప్రదర్శించడం లేదు) కమాండ్ లైన్లో --no-gc- విభాగాలను పేర్కొనడం ద్వారా పునరుద్ధరించబడుతుంది.

--సహాయం

ప్రామాణిక అవుట్పుట్ మరియు నిష్క్రమణపై కమాండ్-లైన్ ఎంపికల సారాంశాన్ని ముద్రించండి.

--target సహాయక

ప్రామాణిక అవుట్పుట్ మరియు నిష్క్రమణపై అన్ని లక్ష్య నిర్దిష్ట ఎంపికల సారాంశాన్ని ముద్రించండి.

-Map mapfile

ఫైల్ mapfile కు ఒక లింక్ మ్యాప్ను ముద్రించండి. పైన -M ఆప్షన్ యొక్క వివరణ చూడండి.

--no-ఉంచేందుకు మెమరీ

ld మెమరీలో ఇన్పుట్ ఫైళ్ళ చిహ్నాల పట్టికలను క్యాచింగ్ ద్వారా మెమరీ వినియోగానికి వేగంతో ఆప్టిమైజ్ చేస్తుంది. ఈ ఐచ్చికము బదులుగా మెమరీ వినియోగం కోసం ఆప్టిమైజ్ చేయడానికి ld కి గుర్తుచేస్తుంది, అవసరమైన గుర్తుల పట్టికలను పునఃప్రారంభించడం ద్వారా. పెద్ద ఎక్జిక్యూటబుల్ను అనుసంధానిస్తున్నప్పుడు ld మెమొరీ స్థలానికి బయట పడినట్లయితే ఇది అవసరం కావచ్చు.

--no అనిర్వచితమైన

-z defs

సాధారణంగా ఒక సంకేత-రహిత భాగస్వామ్య లైబ్రరీని సృష్టించినప్పుడు, అన్డిఫాల్డ్ చిహ్నాలు అనుమతించబడతాయి మరియు రన్టైమ్ లోడర్ ద్వారా పరిష్కరించబడుతుంది. ఈ ఎంపికలు ఇటువంటి నిర్వచించబడని చిహ్నాలను అనుమతించవు.

--allow-బహుళ-డెఫినిషన్

-z muldefs

సాధారణంగా ఒక చిహ్నం పలుమార్లు నిర్వచించినప్పుడు, లింక్దారు ఒక తీవ్రమైన దోషాన్ని నివేదిస్తాడు. ఈ ఐచ్ఛికాలు బహుళ వివరణలను అనుమతిస్తుంది మరియు మొదటి నిర్వచనం ఉపయోగించబడుతుంది.

--allow-shlib అనిర్వచితమైన

భాగస్వామ్య వస్తువులలో నిర్వచించబడని చిహ్నాలను --no-undefined సెట్ చేసినప్పుడు కూడా అనుమతించు. నిరంతర ఫలితంగా సాధారణ వస్తువుల లో నిర్వచించబడని చిహ్నాలు ఇప్పటికీ లోపాన్ని ప్రేరేపించగలవు, కానీ భాగస్వామ్య వస్తువులపై నిర్వచించబడని చిహ్నాలు విస్మరించబడతాయి. No_undefined అమలు runtime లింకు undefined చిహ్నాలు న చౌక్చును అని ఊహ చేస్తుంది. ఏది ఏమయినప్పటికీ కనీసం ఒక వ్యవస్థ (BeOS) ఉంది, ఇక్కడ షేర్డ్ లైబ్రరీలలో నిర్వచించని చిహ్నాలు సాధారణం ఎందుకంటే కెర్నెల్ వాటిని లోడ్ చేయాల్సిన సమయం నుండి ప్రస్తుత శిల్పకళకు ఏ విధమైన సముచితమైనదిగా ఎంచుకోవచ్చో ఆరంభమవుతుంది. IE డైనమిక్ తగిన మెమ్సెట్ ఫంక్షన్ ఎంచుకోండి. స్పష్టంగా అది HPPA షేర్డ్ గ్రంథాలయాల నిర్వచించబడని చిహ్నాలు కలిగి కూడా సాధారణ ఉంది.

--no-undefined-వెర్షన్

సాధారణంగా ఒక గుర్తు నిర్వచించబడని సంస్కరణను కలిగి ఉన్నప్పుడు, లింకర్ దాన్ని విస్మరిస్తాడు. ఈ ఐచ్ఛికం నిర్వచించబడని సంస్కరణలతో చిహ్నాలను అనుమతించదు మరియు బదులుగా ఒక తీవ్రమైన దోషం జారీ చేయబడుతుంది.

--no-warn-అసమతుల్యత

మీరు వేరే ప్రాసెసర్ల కోసం లేదా విభిన్న endiannesses కోసం సంకలనం ఎందుకంటే, బహుశా కొన్ని కారణం కోసం సరిపోలని ఇన్పుట్ ఫైళ్లను లింక్ ప్రయత్నించినట్లయితే సాధారణంగా LD లోపం ఇస్తుంది. ఈ ఐచ్ఛికం అటువంటి సాధ్యమైన దోషాలను నిశ్శబ్దంగా అనుమతించమని ld అని చెబుతుంది. లింకు లోపాలు సరికానివి కావని నిర్ధారిస్తున్న కొన్ని ప్రత్యేక చర్యలు తీసుకున్న సందర్భాలలో, కేవలము ఈ ఐచ్చికము జాగ్రత్తగా వుపయోగించాలి.

--no-సంపూర్ణ-ఆర్కైవ్

తదుపరి ఆర్కైవ్ ఫైళ్ళకు --whole- ఆర్కైవ్ ఎంపిక యొక్క ప్రభావాన్ని నిలిపివేయండి.

--noinhibit-కార్యనిర్వాహకుడు

అది ఇప్పటికీ ఉపయోగపడేటప్పుడు ఎగ్జిక్యూటబుల్ అవుట్పుట్ ఫైల్ను నిలబెట్టుకోండి. లింకు ప్రాసెస్లో దోషాలు ఎదురైనప్పుడు సాధారణంగా, లింకు ఒక అవుట్పుట్ ఫైల్ను ఉత్పత్తి చేయదు; ఏ అవుట్పుట్ ఫైల్ను వ్రాయకుండా అది నిష్క్రమించదు.

-nostdlib

కమాండ్ లైన్పై ప్రత్యేకంగా పేర్కొన్న లైబ్రరీ డైరెక్టరీలను మాత్రమే శోధించండి. లింకు స్క్రిప్ట్స్ లో పేర్కొన్న లైబ్రరి డైరెక్టరీలు (కమాండ్ లైన్ లో పేర్కొన్న లింక్ స్క్రిప్ట్స్తో సహా) విస్మరించబడతాయి.

- ఫార్మాట్ అవుట్పుట్-ఫార్మాట్

ld ఒకటి కంటే ఎక్కువ రకమైన ఆబ్జెక్ట్ ఫైల్కు మద్దతు ఇవ్వడానికి అమర్చవచ్చు. మీ ld ఈ విధంగా కాన్ఫిగర్ చేయబడితే, మీరు అవుట్పుట్ ఆబ్జెక్ట్ ఫైల్ కోసం బైనరీ ఆకృతిని పేర్కొనడానికి --oformat ఐచ్చికాన్ని ఉపయోగించవచ్చు. Ld ప్రత్యామ్నాయ ఆబ్జెక్ట్ ఫార్మాట్లకు మద్దతుగా కాన్ఫిగర్ చేయబడినప్పటికీ, మీరు దీన్ని సాధారణంగా పేర్కొనడం అవసరం లేదు, ఎందుకంటే LD ప్రతి మెషీన్లో అత్యంత సాధారణ ఫార్మాట్గా డిఫాల్ట్ అవుట్పుట్ ఫార్మాట్గా ఉత్పత్తి చేయడానికి కాన్ఫిగర్ చేయబడాలి. అవుట్పుట్-ఫార్మాట్ అనేది ఒక టెక్స్ట్ స్ట్రింగ్, BFD లైబ్రరీలచే మద్దతు ఇచ్చిన ఒక నిర్దిష్ట ఆకృతి యొక్క పేరు. (Objdump -i తో లభ్యమైన బైనరీ ఫార్మాట్ లను మీరు జాబితా చెయ్యవచ్చు.) స్క్రిప్ట్ కమాండ్ "OUTPUT_FORMAT" అవుట్పుట్ ఫార్మాట్ను కూడా పేర్కొనవచ్చు, కానీ ఈ ఐచ్చికాన్ని అది ఓవర్రైడ్ చేస్తుంది.

-qmagic

ఈ ఐచ్చికము లైనక్స్ కంపాటిబిలిటీ కొరకు విస్మరించబడును.

-Qy

SVR4 అనుకూలతకు ఈ ఐచ్చికం విస్మరించబడుతుంది.

--relax

యంత్రం ఆధారిత ప్రభావాలతో ఒక ఎంపిక. ఈ ఐచ్ఛికం కొన్ని లక్ష్యాలను మాత్రమే మద్దతు ఇస్తుంది.

కొన్ని ప్లాట్ఫారమ్లలో, --relax ఎంపికను అనుసంధానిస్తూ, చిరునామా రీతిలో సడలింపు మరియు అవుట్పుట్ ఆబ్జెక్ట్ ఫైల్ లో కొత్త సూచనలను సంశ్లేషణ చేయడం వంటి కార్యక్రమంలో చిరునామాను పరిష్కరిస్తున్నప్పుడు సాధ్యమయ్యే గ్లోబల్ అనుకూలీకరణలను నిర్వహిస్తుంది.

కొన్ని వేదికలపై ఈ లింక్ సమయం గ్లోబల్ అనుకూలతలు ఫలితంగా అమలు చేయదగిన అసాధ్యం యొక్క సింబాలిక్ డీబగ్గింగ్ చేయవచ్చు. ప్రాసెసర్ల Matsushita MN10200and MN10300 కుటుంబం కోసం ఈ కేసు అని పిలుస్తారు.

ఇది మద్దతు లేని వేదికలపై, --relax అంగీకరించబడింది, కానీ విస్మరించబడింది.

- ప్రింట్-చిహ్నాలు- ఫైల్ ఫైల్ పేరు

ఫైల్ ఫైల్పేరులో జాబితా చేయబడిన చిహ్నాలను మాత్రమే ఉంచండి , ఇతరులను విస్మరించాలి. ఫైల్పేరు కేవలం ఒక చదునైన ఫైల్, ఒక రేఖకు ఒక గుర్తు పేరుతో ఉంటుంది. ఈ ఐచ్చికము పరిసరాలలో (VxWorks వంటిది) చాలా ఉపయోగకరంగా ఉంటుంది, ఇక్కడ పెద్ద ప్రపంచ సంకేత పట్టిక క్రమంగా సేకరించబడుతుంది, రన్-టైం మెమొరీని రక్షించుటకు.

- ప్రింట్-చిహ్నాలు-ఫైల్ నిర్వచించబడని సంకేతాలను విస్మరించదు, లేదా పునఃసృష్టికి అవసరమైన చిహ్నాలు.

మీరు కమాండ్ లైన్లో ఒక్కసారి మాత్రమే గుర్తు పెట్టండి - గుర్తులను-ఫైల్ . ఇది ఓవర్రైడ్స్ -లు మరియు -ఎస్ .

-ఆధాపత్రం

రన్టైమ్ లైబ్రరీ శోధన పాటకు డైరెక్టరీని చేర్చుము. భాగస్వామ్య వస్తువులతో ELFexecutable ను లింక్ చేస్తున్నప్పుడు ఇది ఉపయోగించబడుతుంది. ఆల్ -ఆర్పథ్ వాదనలు అనుసంధానించబడి, రన్టైమ్ లింకుకు పంపబడతాయి, ఇది రన్టైమ్లో పంచబడ్డ వస్తువులను గుర్తించడానికి వాటిని ఉపయోగిస్తుంది. లింక్లో స్పష్టంగా చేర్చబడ్డ పంచబడ్డ వస్తువులు అవసరమయ్యే భాగస్వామ్య వస్తువులను గుర్తించేటప్పుడు -ppath ఎంపిక కూడా ఉపయోగించబడుతుంది; -rpath-link ఐచ్ఛికం యొక్క వివరణ చూడండి. ELF ఎగ్జిక్యూటబుల్ను అనుసంధానించినప్పుడు -rpath ఉపయోగించనట్లయితే, అది నిర్వచించబడితే పర్యావరణ వేరియబుల్ "LD_RUN_PATH" యొక్క విషయాలు ఉపయోగించబడతాయి.

-ఆర్థిక ఐచ్చికం కూడా SunOS లో వాడవచ్చు. డిఫాల్ట్గా, SunOS లో, లింకర్ అది ఇవ్వబడిన అన్ని -L ఎంపికల నుండి రన్టైమ్ శోధన పాచ్ను రూపొందిస్తుంది. A -rpath ఐచ్చికం వుపయోగించబడితే, runtime శోధన మార్గం ప్రత్యేకంగా -rpath ఐచ్చికాలను వుపయోగించి, -L ఐచ్ఛికాలను విస్మరిస్తుంది. Gcc వుపయోగిస్తున్నప్పుడు ఇది చాలా ఉపయోగకరంగా ఉంటుంది, ఇది NFS ఫైల్ సిస్టమ్స్ మౌంట్ అయిన చాలా -ఎల్ ఐచ్చికాలను జతచేస్తుంది.

ఇతర ELF అనుసంధానతలకు అనుగుణంగా, -R ఐచ్చికాన్ని ఒక డైరెక్టరీ పేరును అనుసరించి, ఫైల్ పేరు కాకుండా, అది -rpath ఐచ్చికంగా పరిగణించబడుతుంది.

-rpath- లింక్ DIR

ELF లేదా SunOS వుపయోగిస్తున్నప్పుడు, ఒక షేర్డ్ లైబ్రరీ మరొకటి అవసరమవుతుంది. ఇన్పుట్ ఫైల్లో ఒకటిగా "ld-shared" లింక్ భాగస్వామ్య లైబ్రరీని కలిగి ఉన్నప్పుడు ఇది జరుగుతుంది.

భాగస్వామ్యం చేయని, నాన్-బదిలీ చేయదగిన లింక్ చేస్తున్నప్పుడు లింకు అటువంటి డిపెండెన్సీని కలుసుకున్నప్పుడు, అవసరమైన భాగస్వామ్య లైబ్రరీని కనుగొని, అది స్పష్టంగా చేర్చబడకపోతే అది లింక్లో చేర్చబడుతుంది. అటువంటి సందర్భంలో, -rpath-link ఐచ్చికము మొదటి డైరెక్టరీ డైరెక్టరీని అన్వేషణ చేయును . -rpath-link ఐచ్చికము కోలన్ లచే వేరు చేయబడ్డ పేర్ల జాబితాను నిర్దేశించుట ద్వారా లేదా బహుళ సార్లు కనిపించటం ద్వారా గాని డైరెక్టరీ పేర్ల క్రమాన్ని తెలుపుతుంది.

భాగస్వామ్య లైబ్రరీలో హార్డ్ కంపైల్ చేయబడిన శోధన మార్గాన్ని భర్తీ చేస్తున్నందున ఈ ఐచ్చికము హెచ్చరికతో వాడాలి. అలాంటి సందర్భంలో, రన్టైమ్ లింకర్ చేస్తున్నదానికంటే అనుకోకుండా వేరొక శోధన పద్దతిని ఉపయోగించడం సాధ్యపడుతుంది.

కావలసిన షేర్డ్ గ్రంథాలయాలను గుర్తించడానికి లింకర్ క్రింది శోధన మార్గాలను ఉపయోగిస్తుంది.

1.

-rpath-link ఐచ్చికముల ద్వారా తెలుపబడిన డైరెక్టరీలు.

2.

-rpath ఐచ్ఛికాలు ద్వారా తెలుపబడిన ఏ డైరెక్టరీలు. -ppath మరియు -rpath-link మధ్య వ్యత్యాసం -rpath ఐచ్ఛికాలు చేత నిర్దేశించబడిన డైరెక్టరీలు ఎక్సిక్యూటబుల్ లో మరియు రన్టైమ్లో ఉపయోగించబడుతున్నాయి, అయితే -ఆర్పథ్-లింక్ ఎంపిక అనుసంధాన సమయములో మాత్రమే సమర్థవంతంగా ఉంటుంది. ఇది స్థానిక లింకేర్ మాత్రమే.

3.

ELF వ్యవస్థలో, -rpath మరియు "rpath-link" ఎంపికలు ఉపయోగించబడకపోతే, పర్యావరణ వేరియబుల్ "LD_RUN_PATH" యొక్క విషయాలను వెతకండి. ఇది స్థానిక లింకేర్ మాత్రమే.

4.

SunOS పై, -rpath ఐచ్చికం వుపయోగించబడకపోతే, -L ఆప్షన్స్ ఉపయోగించి పేర్కొన్న ఏ డైరెక్టరీలను అన్వేషణ.

5.

స్థానిక లింకు కోసం, పర్యావరణ వేరియబుల్ "LD_LIBRARY_PATH" యొక్క కంటెంట్.

6.

ఒక స్థానిక ELF లింకు కోసం, భాగస్వామ్య లైబ్రరీ యొక్క "DT_RUNPATH" లేదా "DT_RPATH" లోని డైరెక్టరీలు అవసరమైన షేర్డ్ గ్రంథాలయాల కోసం శోధించబడతాయి. "DT_RUNPATH" ఎంట్రీలు ఉన్నట్లయితే "DT_RPATH" ఎంట్రీలు విస్మరించబడతాయి.

7.

అప్రమేయ డైరెక్టరీలు, సాధారణంగా lib మరియు / usr / lib .

8.

ఒక ELF వ్యవస్థపై స్థానిక లింకు కోసం, ఫైల్ /etc/ld.so.conf ఉనికిలో ఉంటే, ఆ ఫైల్లో కనిపించే డైరెక్టరీల జాబితా.

అవసరమైన భాగస్వామ్య లైబ్రరీ కనుగొనబడకపోతే, లింక్దారు హెచ్చరికను జారీ చేసి, లింక్తో కొనసాగించండి.

-shared

-Bshareable

భాగస్వామ్య లైబ్రరీని సృష్టించండి. ఇది ప్రస్తుతం ELF, XCOFF మరియు SunOS వేదికలపై మాత్రమే మద్దతు ఇస్తుంది. SunOS న, -e ఐచ్ఛికం ఉపయోగించబడకపోతే లింకు స్వయంచాలకంగా భాగస్వామ్య లైబ్రరీని సృష్టిస్తుంది మరియు లింక్లో నిర్వచించబడని చిహ్నాలు ఉన్నాయి.

--sort సాధారణ

ఈ ఐచ్చికము ఉమ్మడి సంకేతాలను సరైన అవుట్పుట్ విభాగాలలో ఉంచేటప్పుడు పరిమాణంతో వారు ld కి చెబుతుంది. మొదట అన్ని బైట్ చిహ్నాలను, అప్పుడు రెండు బైట్, అప్పుడు నాలుగు బైట్, మరియు మిగిలిన అన్నిటినీ వస్తాయి. ఇది అమరిక అడ్డంకులు కారణంగా చిహ్నాలు మధ్య అంతరాలను నివారించడమే.

- split-by-file [ size ]

-split-by-reloc లాగానే కానీ ప్రతి ఇన్పుట్ ఫైల్కు పరిమాణం వచ్చినప్పుడు కొత్త అవుట్పుట్ విభాగాన్ని సృష్టిస్తుంది. ఇవ్వబడినట్లయితే 1 పరిమాణం పరిమాణంలో డిఫాల్ట్లు.

- split-by-reloc [ గణన ]

అవుట్పుట్ ఫైల్ లో అదనపు విభాగాలను సృష్టించటానికి ప్రయత్నిస్తుంది, తద్వారా ఫైల్ లో ఏ విధమైన అవుట్పుట్ విభాగాన్ని కౌంట్ పునస్థానాల కంటే ఎక్కువ కలిగి ఉంది. COFF ఆబ్జెక్ట్ ఫైల్ ఫార్మాట్తో కొన్ని నిజ సమయ కెర్నలులలో డౌన్లోడ్ చేయడానికి భారీ పోలికలను సృష్టించేటప్పుడు ఇది ఉపయోగకరంగా ఉంటుంది; COFFCANNOT ఒకే విభాగంలో 65535 కంటే ఎక్కువ పునరావాసాలను సూచిస్తుంది. ఇది ఏకపక్ష విభాగాలకు మద్దతు ఇవ్వని ఆబ్జెక్ట్ ఫైల్ ఫార్మాట్లతో పనిచేయడంలో విఫలం కాదని గమనించండి. లింకు పునఃపంపిణీ కోసం విడి ఇన్పుట్ విభాగాలను విభజించదు, అందువల్ల ఒక ఇన్పుట్ విభాగం గణన కంటే ఎక్కువ బంధాలను కలిగి ఉంటే, ఒక అవుట్పుట్ విభాగం అనేక పునరావాసాలను కలిగి ఉంటుంది. 32768 విలువకు డిఫాల్ట్లను లెక్కించండి .

--stats

అమలు సమయం మరియు మెమరీ వినియోగం వంటి లింకర్ యొక్క ఆపరేషన్ గురించి గణాంకాలను గణించడం మరియు ప్రదర్శించండి.

--traditional ఫార్మాట్

కొన్ని లక్ష్యాలు కోసం, ld యొక్క అవుట్పుట్ కొన్ని ఇప్పటికే ఉన్న లింకు యొక్క అవుట్పుట్ నుండి కొన్ని మార్గాల్లో భిన్నంగా ఉంటుంది. బదులుగా ఈ సంప్రదాయ ఫార్మాట్ను ఉపయోగించడానికి స్విచ్ అభ్యర్థనలు ld .

ఉదాహరణకు, SunOS లో, ld చిహ్నం స్ట్రింగ్ టేబుల్లో డూప్లికేట్ ఎంట్రీలను మిళితం చేస్తుంది. ఇది అవుట్పుట్ ఫైల్ పరిమాణాన్ని 30% పైగా పూర్తి డీబగ్గింగ్ సమాచారంతో తగ్గించవచ్చు. దురదృష్టవశాత్తు, SunOS "dbx" కార్యక్రమం ఫలితంగా ప్రోగ్రామ్ను చదువలేదు ("gdb" ఏ సమస్య లేదు). - సాంప్రదాయ-ఫార్మాట్ స్విచ్ నకిలీ ఎంట్రీలను కలపకుండా ld కి చెబుతుంది.

- విభాగం-ప్రారంభ విభాగం = org

ఆర్గ్ ఇచ్చిన సంపూర్ణ చిరునామాలో అవుట్పుట్ ఫైల్ లో ఒక విభాగాన్ని గుర్తించండి. కమాండ్ లైన్ లో బహుళ విభాగాలను గుర్తించడం కోసం మీరు ఈ ఎంపికను అనేకసార్లు ఉపయోగించవచ్చు. ఆర్గ్ ఒక హెక్సాడెసిమల్ పూర్ణాంకం అయి ఉండాలి; ఇతర లింకులతో అనుగుణ్యత కోసం, ప్రముఖ 0x ను సాధారణంగా హెక్సాడెసిమల్ విలువలతో ముడిపెట్టవచ్చు. గమనిక: విభాగం పేరు , సమానం (`` == ") మరియు ఆర్గ్ల మధ్య తెల్ల ఖాళీ ఉండకూడదు.

-TBSs org

-Tdata org

-Ttext org

అవుట్పుట్ ఫైల్ యొక్క ప్రారంభ చిరునామాగా --- వరుసగా - - "bss", "డేటా" లేదా "టెక్స్ట్" విభాగంగా ఉపయోగించండి. ఆర్గ్ ఒక హెక్సాడెసిమల్ పూర్ణాంకం అయి ఉండాలి; ఇతర లింకులతో అనుగుణ్యత కోసం, ప్రముఖ 0x ను సాధారణంగా హెక్సాడెసిమల్ విలువలతో ముడిపెట్టవచ్చు.

--dll-మందమైన

--verbose

Ld కోసం సంస్కరణ సంఖ్యను ప్రదర్శించి లింక్డ్ ఎమ్యులేషన్లకు మద్దతునివ్వండి. ఏ ఇన్పుట్ ఫైళ్లను ప్రదర్శించవచ్చు మరియు తెరవలేమో ప్రదర్శించండి. లింకర్ ఉపయోగించిన లింకర్ లిపిని ప్రదర్శించు.

- సంస్కరణ స్క్రిప్ట్ = వెర్షన్-స్క్రిప్ట్ఫైల్

లింకుకు సంస్కరణ స్క్రిప్ట్ యొక్క పేరును పేర్కొనండి. సృష్టించబడిన లైబ్రరీ కోసం సంస్కరణ వారసత్వపు గురించి అదనపు సమాచారాన్ని పేర్కొనడానికి షేర్డ్ లైబ్రరీలను సృష్టించినప్పుడు ఇది సాధారణంగా ఉపయోగించబడుతుంది. భాగస్వామ్య గ్రంథాలయాలకు మద్దతు ఇచ్చే ELF ప్లాట్ఫారమ్లలో ఈ ఐచ్ఛికం అర్ధవంతమైనది.

--warn సాధారణ

ఒక ఉమ్మడి గుర్తు మరొక సాధారణ చిహ్నంగా లేదా చిహ్న వివరణతో కలిపి ఉన్నప్పుడు హెచ్చరించండి. Unix linkers ఈ కొంతవరకు అలసత్వము లేని అభ్యాసాన్ని అనుమతిస్తాయి, కానీ కొన్ని ఇతర ఆపరేటింగ్ సిస్టమ్స్ పై లింక్ లు చేయరు. ప్రపంచ చిహ్నాలను కలపడం నుండి సంభావ్య సమస్యలను కనుగొనటానికి ఈ ఐచ్ఛికం మిమ్మల్ని అనుమతిస్తుంది. దురదృష్టవశాత్తు, కొన్ని C లైబ్రరీలు ఈ అభ్యాసాన్ని ఉపయోగిస్తాయి, కాబట్టి గ్రంథాలయాల్లో మరియు మీ కార్యక్రమాలలో చిహ్నాలు గురించి కొన్ని హెచ్చరికలను పొందవచ్చు.

సి ఉదాహరణల ద్వారా ఇక్కడ ఉదహరించబడిన మూడు రకాల ప్రపంచ చిహ్నాలు ఉన్నాయి:

int i = 1;

అవుట్పుట్ ఫైల్ యొక్క ప్రారంభీకరించిన డేటా విభాగంలో వెళ్లే ఒక నిర్వచనం.

extern int i;

ఖాళీని కేటాయించని ఒక నిర్దేశించని సూచన. ఎక్కడా వేరియబుల్ కోసం ఒక నిర్వచనం లేదా ఒక సాధారణ చిహ్నంగా ఉండాలి.

int i;

ఒక సాధారణ చిహ్నం. వేరియబుల్ కోసం ఒకే (ఒకటి లేదా అంతకంటే ఎక్కువ) ఉమ్మడి చిహ్నాలు ఉంటే, ఇది అవుట్పుట్ ఫైల్ యొక్క uninitialized డేటా ప్రదేశంలో వెళుతుంది. లింకు ఒకే సింబల్ లోకి అదే వేరియబుల్ కోసం బహుళ సాధారణ చిహ్నాలు విలీనం. వారు వేర్వేరు పరిమాణాల్లో ఉంటే, ఇది అతిపెద్ద పరిమాణాన్ని ఎంచుకుంటుంది. అదే వేరియబుల్ యొక్క నిర్వచనం ఉంటే, లింకర్ ఒక ప్రకటనలో ఒక సాధారణ చిహ్నాన్ని మారుస్తుంది.

--warn- సాధారణ ఎంపిక ఐదు రకాల హెచ్చరికలను ఉత్పత్తి చేస్తుంది. ప్రతి హెచ్చరికలో ఒక జంట పంక్తులు ఉన్నాయి: మొదటిది కేవలం ఎదుర్కొన్న చిహ్నాన్ని వివరిస్తుంది, రెండవది అదే పేరుతో ఎదుర్కొన్న మునుపటి గుర్తును వివరిస్తుంది. ఒకటి లేదా రెండు చిహ్నాలు రెండు సాధారణ చిహ్నంగా ఉంటుంది.

1.

ఒక సాధారణ చిహ్నాన్ని ఒక సూచనగా మార్చడం, ఎందుకంటే గుర్తుకు నిర్వచనం ఇప్పటికే ఉంది.

(
): హెచ్చరిక: (
) నిర్వచనంచే `" సాధారణీకరణ: హెచ్చరిక:

2.

ఒక సాధారణ చిహ్నాన్ని ఒక ప్రస్తావనగా మార్చడం, ఎందుకంటే గుర్తుకు ఒక తదుపరి నిర్వచనం ఎదురవుతుంది. ఇది మునుపటి కేసు వలె ఉంటుంది, చిహ్నాలు వేరే క్రమంలో ఎదుర్కొన్న తప్ప.

(
): హెచ్చరిక: సాధారణ (
) ను భర్తీ చేస్తూ `" యొక్క నిర్వచనం: హెచ్చరిక: సాధారణ ఇక్కడ ఉంది

3.

మునుపటి-పరిమాణ సాధారణ చిహ్నంగా ఒక సాధారణ చిహ్నాన్ని విలీనం చేస్తుంది.

(
): హెచ్చరిక: `<గుర్తు>> బహుళ > (
): హెచ్చరిక:

4.

మునుపటి సాధారణ సాధారణ గుర్తుతో ఒక సాధారణ చిహ్నాన్ని విలీనం చేస్తుంది.

(
): హెచ్చరిక: పెద్ద (
) చేత విస్మరించబడిన ` '' సాధారణ: హెచ్చరిక:

5.

మునుపటి సాధారణ సాధారణ చిహ్నాన్ని కలిగి ఉండే సాధారణ చిహ్నాన్ని విలీనం చేయండి. ఇది మునుపటి కేసు వలె ఉంటుంది, చిహ్నాలు వేరే క్రమంలో ఎదుర్కొన్న తప్ప.

(
): హెచ్చరిక: సాధారణ (
) ను అతిక్రమిస్తూ ` '' సాధారణ: హెచ్చరిక: చిన్న సాధారణ ఇక్కడ ఉంది

--warn-నిర్మాణదారులు

ఏదైనా ప్రపంచ నిర్మాతలు ఉపయోగించినప్పుడు హెచ్చరించండి. ఇది కొన్ని ఆబ్జెక్టు ఫార్మాట్లలో మాత్రమే ఉపయోగపడుతుంది. COFF లేదా ELF వంటి ఫార్మాట్లలో, లింక్కర్ను ప్రపంచ నిర్మాతల వినియోగాన్ని గుర్తించలేరు.

--warn-బహుళ-GP

అవుట్పుట్ ఫైల్ లో బహుళ ప్రపంచ పాయింటర్ విలువలు అవసరమైతే హెచ్చరించండి. ఆల్ఫా వంటి కొన్ని ప్రాసెసర్లకు ఇది అర్ధవంతమైనది. ముఖ్యంగా, కొంతమంది ప్రాసెసర్లు ఒక ప్రత్యేక విభాగంలో పెద్ద విలువైన స్థిరాంకాలను ఉంచారు. ఒక ప్రత్యేక రిజిస్టర్ (గ్లోబల్ పాయింటర్) పాయింట్లు ఈ విభాగానికి మధ్యలో ఉంటాయి, తద్వారా బేస్-రిజిస్టర్ సాపేక్ష అడ్రసింగ్ మోడ్ ద్వారా కాన్స్టాంట్లు సమర్థవంతంగా లోడ్ చేయబడతాయి. బేస్-రిజిస్టర్ సాపేక్ష మోడ్లో ఆఫ్సెట్ స్థిర మరియు తక్కువ (ఉదా. 16 బిట్స్) లో ఉంటుంది కాబట్టి, ఇది స్థిరమైన పూల్ యొక్క గరిష్ట పరిమాణాన్ని పరిమితం చేస్తుంది. అందువలన, పెద్ద కార్యక్రమాలలో, సాధ్యమయ్యే అన్ని స్థిరాంశాలను పరిష్కరించడానికి బహుళ ప్రపంచ పాయింటర్ విలువలను ఉపయోగించడం తరచుగా అవసరం. ఈ కేసు సంభవించినప్పుడు ఈ ఐచ్చికము హెచ్చరిక జారీ చేయును.

--warn ఒకసారి

ప్రతి నిర్వచించబడని చిహ్నానికి ఒక్కసారి ఒకసారి మాత్రమే హెచ్చరిస్తుంది, ఇది ప్రతిసారి సూచించే మాడ్యూల్కు ఒకసారి మాత్రమే.

--warn సెక్షన్-align

అమరిక యొక్క అవుట్పుట్ విభాగం యొక్క చిరునామా మార్చబడితే హెచ్చరించండి. సాధారణంగా, అమరిక ఒక ఇన్పుట్ విభాగం ద్వారా సెట్ చేయబడుతుంది. స్పష్టంగా తెలియకపోతే చిరునామా మాత్రమే మార్చబడుతుంది; అంటే, "SECTIONS" కమాండ్ విభాగానికి ప్రారంభ చిరునామాను పేర్కొనలేదు.

--whole ఆర్కైవ్

- ఆర్ - ఆర్కైవ్ ఆప్షన్ తర్వాత కమాండ్ లైన్పై ప్రస్తావించబడిన ప్రతి ఆర్కైవ్కు, కావలసిన ఆబ్జెక్టు ఫైళ్ళకు ఆర్కైవ్ను శోధించడం కాకుండా, లింక్లోని ఆర్కైవ్లోని ప్రతి ఆబ్జెక్ట్ ఫైల్ను కూడా చేర్చండి. సాధారణంగా ఒక ఆర్కైవ్ ఫైల్ను షేర్డ్ లైబ్రరీగా మార్చడానికి ఇది ఉపయోగపడుతుంది, దీని ఫలితంగా భాగస్వామ్య లైబ్రరీలో ప్రతి వస్తువు చేర్చబడుతుంది. ఈ ఐచ్చికము ఒకసారి కంటే ఎక్కువ వాడవచ్చు.

Gcc నుండి ఈ ఐచ్చికాన్ని ఉపయోగించినప్పుడు రెండు గమనికలు: మొదట, gcc ఈ ఐచ్చికం గురించి తెలియదు, కాబట్టి మీరు -Wl, -hole- ఆర్కైవ్ ఉపయోగించాలి . రెండవది, మీ ఆర్చీవ్ల జాబితా తర్వాత -Wl, -no- మొత్తం-ఆర్కైవ్ను ఉపయోగించడం మర్చిపోవద్దు ఎందుకంటే GCC మీ లింక్కి సంబంధించిన ఆర్కైవ్ల యొక్క సొంత జాబితాని జోడిస్తుంది మరియు మీరు ఈ ఫ్లాగ్ను కూడా ప్రభావితం చేయకూడదు.

- గుర్తు చిహ్నం

గుర్తు కోసం ఒక రేపర్ ఫంక్షన్ ఉపయోగించండి. గుర్తుకు ఏ నిర్వచించలేని సూచన "__ wrap_symbol" కు పరిష్కరించబడుతుంది. "__real_symbol" కు ఏదైనా నిర్వచించబడని సూచన చిహ్నంకు పరిష్కరించబడుతుంది.

ఇది సిస్టమ్ ఫంక్షన్ కోసం రేపర్ను అందించడానికి ఉపయోగించబడుతుంది. రేపర్ ఫంక్షన్ "__wrap_symbol" అని పిలవాలి. ఇది వ్యవస్థ ఫంక్షన్కు కాల్ చేయాలనుకుంటే, అది "__ real_symbol" అని పిలవాలి.

ఇక్కడ ఒక చిన్న ఉదాహరణ:

శూన్యము * __wrap_malloc (int c) {printf ("malloc% ld \ n తో పిలుస్తారు", సి); తిరిగి __real_malloc (సి); }

మీరు ఈ ఫైలుతో ఇతర కోడ్ను --wrap malloc ను ఉపయోగించి లింక్ చేస్తే, "malloc" కు అన్ని కాల్లు బదులుగా ఫంక్షన్ "__wrap_malloc" అని పిలుస్తాయి. "__wrap_malloc" లో "__real_malloc" కు కాల్ నిజ "malloc" ఫంక్షన్ అని పిలుస్తుంది.

మీరు "__real_malloc" ఫంక్షన్ని కూడా ఇవ్వవచ్చు, తద్వారా --wrap ఎంపిక లేని లింకులు విజయవంతమవుతాయి. మీరు ఇలా చేస్తే, "__ real_malloc" యొక్క నిర్వచనం అదే ఫైల్ లో "__wrap_malloc" గా ఉండకూడదు; మీరు చేస్తే, లింకుకు "malloc" కు మూసివేయడానికి అవకాశం ఉండుటకు ముందుగా, అస్లేంబర్ కాల్ను పరిష్కరించవచ్చు.

అమలుని కొత్తగా dtags

--disable-కొత్త-dtags

ఈ లింకర్ ELF లో కొత్త డైనమిక్ ట్యాగ్లను సృష్టించగలదు. కానీ పాత ELF వ్యవస్థలు వాటిని అర్థం చేసుకోలేకపోవచ్చు. మీరు - - కొత్త - dtags ను నిర్దేశిస్తే , అవసరమైతే డైనమిక్ ట్యాగ్లు సృష్టించబడతాయి. మీరు -disable-new-dtags తెలుపుటకు, కొత్త డైనమిక్ ట్యాగ్లు సృష్టించబడవు. అప్రమేయంగా, కొత్త డైనమిక్ ట్యాగ్లు సృష్టించబడవు. ఆ ఎంపికలు కేవలం ఎఫ్ఎఫ్ సిస్టమ్స్ కోసం మాత్రమే అందుబాటులో ఉన్నాయని గమనించండి.

I386 PE లింకర్ -షర్డ్ ఐచ్చికాన్ని మద్దతిస్తుంది, ఇది అవుట్పుట్ ఒక డైనమిక్ లింక్ లైబ్రరీ (DLL) గా బదులుగా ఒక సాధారణ కార్యనిర్వహణకు కారణమవుతుంది. మీరు ఈ ఎంపికను ఉపయోగించినప్పుడు అవుట్పుట్ "*. డిల్" అని పేరు పెట్టాలి. అంతేకాకుండా, లింకుదారుడు ప్రామాణిక "*. డిఎఫ్" ఫైళ్ళకు మద్దతిస్తాడు, ఇది ఒక ఆబ్జెక్ట్ ఫైల్ లాగానే లింకర్ కమాండ్ లైన్ లో పేర్కొనవచ్చు (వాస్తవానికి, అది వాటిని సైన్ ఇన్ చేయడానికీ, కేవలం ఒక సాధారణ ఆబ్జెక్ట్ ఫైల్ లాగా).

అన్ని లక్ష్యాలను సాధారణ ఎంపికలతో పాటు, i386 PE లక్ష్యపు మద్దతు అదనపు కమాండ్ లైన్ ఐచ్చికాలు i386 PE లక్ష్యమునకు ప్రత్యేకమైనవి. విలువలని తీసుకునే ఐచ్ఛికాలు వాటి విలువల నుండి ఖాళీగా లేదా సమానం గుర్తుతో వేరు చేయబడతాయి.

--add-stdcall-అలియాస్

ఇచ్చినట్లయితే, స్టాంకాల్ ప్రత్యయము (@ nn ) తో ఉన్న చిహ్నాలు ఎగుమతి చేయబడతాయి మరియు ప్రత్యెక తీసివేతతో కూడా ఎగుమతి చేయబడతాయి.

-బేస్-ఫైల్ ఫైల్

Dlltool తో DLL లను ఉత్పత్తి చేయుటకు కావలసిన అన్ని పునఃస్థాపనల యొక్క ఆధార చిరునామాలను భద్రపరచుటకు ఫైలు యొక్క పేరుగా ఫైల్ను ఉపయోగించండి.

--dll

సాధారణ కార్యనిర్వహణకు బదులుగా ఒక DLL ను సృష్టించండి. మీరు ఉపయోగించిన- షేర్డ్ చేయవచ్చు లేదా ఇచ్చిన ".def" ఫైల్ లో "LIBRARY" ను పేర్కొనవచ్చు.

అమలుని stdcall-పరిష్కార

--disable-stdcall-పరిష్కార

లింక్ పరిష్కరించలేని ఒక గుర్తును కనుగొన్నట్లయితే, మరొక నిర్వచించబడిన గుర్తును చూస్తూ "గజిబిజిగా లింక్" చేయడాన్ని ప్రయత్నిస్తుంది, ఇది సంకేత పేరు యొక్క ఆకృతిలో మాత్రమే ఉంటుంది (cdcl vs stdcall) మరియు ఆ చిహ్నంను లింక్ చేయడం ద్వారా పరిష్కరించబడుతుంది మ్యాచ్ కు. ఉదాహరణకు, "_foo" ఫంక్షన్ "_foo @ 12" తో జతకాబడని సంకేతం "_foo @ 12" లేదా "_bar @ 16" ఫంక్షన్ "_bar" ఫంక్షన్కు అనుసంధానించబడి ఉండవచ్చు. లింకర్ దీనిని చేస్తున్నప్పుడు, ఇది ఒక హెచ్చరికను ముద్రిస్తుంది, ఎందుకంటే ఇది సాధారణంగా లింక్ చేయడంలో విఫలం కావాలి, కాని కొన్నిసార్లు దిగుమతి మూడవ పక్షం డల్లుల నుండి ఉత్పత్తి చేయబడ్డ గ్రంథాలయాలు ఈ లక్షణాన్ని ఉపయోగించడం అవసరం కావచ్చు. మీరు --enable-stdcall-fixup ను తెలుపితే , ఈ విశేషణం పూర్తిగా ప్రారంభించబడుతుంది మరియు హెచ్చరికలు ముద్రించబడవు. మీరు --disable-stdcall-fixup ను తెలిపితే , ఈ విశేషణం ఆపివేయబడింది మరియు అటువంటి అసమతుల్యతలు దోషాలుగా పరిగణించబడతాయి.

--export ఆల్ చిహ్నాలు

ఇచ్చినట్లయితే, DLL ని నిర్మించడానికి ఉపయోగించే వస్తువుల్లో అన్ని ప్రపంచ చిహ్నాలు DLL ద్వారా ఎగుమతి చేయబడతాయి. ఎగుమతి చేసిన చిహ్నాల లేకపోతే అది అప్రమేయమని గమనించండి. DEF ఫైల్స్ ద్వారా సంకేతాలు స్పష్టంగా ఎగుమతి లేదా ఫంక్షనల్ లక్షణాల ద్వారా ఎగుమతి చేయబడినప్పుడు, ఈ ఎంపిక ఇవ్వబడినప్పుడు తప్ప డిఫాల్ట్ ఏదైనా ఎగుమతి చేయకూడదు. గుర్తులను "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", మరియు "impure_ptr" స్వయంచాలకంగా ఎగుమతి చేయబడవు. ఇంకా, ఇతర DLL ల నుండి దిగుమతి చెయ్యబడిన చిహ్నాలు తిరిగి-ఎగుమతి చేయబడవు, లేదా "_head_" తో మొదలవుతున్న లేదా "_ఇనేమ్" తో ముగుస్తుండటం వంటి DLL యొక్క అంతర్గత నమూనాను పేర్కొనే చిహ్నాలు గుర్తుకువస్తాయి. అదనంగా, "libgcc", "libstd ++", "libmingw32", లేదా "crtX.o" ల నుండి ఎటువంటి చిహ్నాలు ఎగుమతి చేయబడవు. "__rtti_" లేదా "__builtin_" తో ప్రారంభమయ్యే సంకేతాలు C ++ DLL లతో సహాయం చేయడానికి ఎగుమతి చేయబడవు. చివరగా, ఎగుమతి చేయని సైగ్విన్-ప్రైవేట్ చిహ్నాల విస్తృతమైన జాబితా ఉంది (స్పష్టంగా, ఇది సైగ్విన్ లక్ష్యాల కోసం DLL లను నిర్మించేటప్పుడు వర్తిస్తుంది).

ఈ సైగ్విన్-మినహాయింపులు: "_cygwin_dll_entry @ 12", "_cygwin_crt0_common @ 8", "__ cymarin_noncygwin_dll_entry @ 12", "_fmode", "_impure_ptr", "cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2", "cygwin_premain2", "cygwin_premain3 ", మరియు" ఎన్విరాన్ ".

- మినహాయించు-చిహ్నాలు గుర్తు , గుర్తు , ...

స్వయంచాలకంగా ఎగుమతి చేయకూడని చిహ్నాల జాబితాను నిర్దేశిస్తుంది. సంకేత పేర్లు కామాలతో లేదా కోలన్ లచే వేరు చేయబడి ఉండవచ్చు.

libex-libs lib , lib , ...

చిహ్నాలను స్వయంచాలకంగా ఎగుమతి చేయకూడని ఆర్కైవ్ లైబ్రరీల జాబితాను నిర్దేశిస్తుంది. గ్రంథాల పేర్లు కామాలతో లేదా కోలన్ లచే వేరు చేయబడి ఉండవచ్చు. ఆటోమేటిక్ ఎగుమతి నుండి అన్ని ఆర్కైవ్ లైబ్రరీలలోని చిహ్నాలను మినహాయించి "- Exclude-libs ALL" ను పేర్కొనడం. ఒక .def ఫైలులో స్పష్టంగా జాబితా చేసిన చిహ్నాలు ఇప్పటికీ ఈ ఎంపికతో సంబంధం లేకుండా ఎగుమతి చేయబడతాయి.

--file అమరిక

ఫైల్ అమరికను పేర్కొనండి. ఫైల్ లోని సెక్షన్లు ఈ సంఖ్య యొక్క బహుళ గుణకాలు కలిగిన ఫైల్ ఆఫ్సెట్లలో ఎల్లప్పుడూ ప్రారంభమవుతాయి. ఈ డిఫాల్ట్ 512 కు.

- హీప్ రిజర్వ్

- హీప్ రిజర్వ్ , కమిట్

రిజర్వ్ (మరియు ఐచ్చికంగా కట్టుబడి) మెమొరీ మొత్తాన్ని ఈ కార్యక్రమం కొరకు కుప్పగా వాడాలి. డిఫాల్ట్ 1Mb రిజర్వు, 4K కట్టుబడి ఉంది.

- ఇమేజ్-బేస్ విలువ

మీ ప్రోగ్రామ్ లేదా dll యొక్క ప్రాథమిక చిరునామాగా విలువను ఉపయోగించండి. ఇది మీ ప్రోగ్రామ్ లేదా డెల్ లోడ్ అయినప్పుడు ఉపయోగించబడే అత్యల్ప మెమరీ ప్రదేశం. మీ dlls యొక్క పనితీరును మార్చటానికి మరియు మెరుగుపరచవలసిన అవసరాన్ని తగ్గించడానికి, ప్రతి ఒక్కటి ఒక ప్రత్యేకమైన ఆధార చిరునామాను కలిగి ఉండాలి మరియు ఏ ఇతర dll లకు పోలిక లేదు. అప్రమేయాలకు 0x400000 అప్రమేయము, మరియు dlls కొరకు 0x10000000.

--kill ఎట్

ఇచ్చినట్లయితే, స్టాంకాల్ ప్రత్యయములు (@ nn ) అవి ఎగుమతి చేయబడటానికి ముందు చిహ్నాలు నుండి తొలగించబడతాయి.

- ప్రధాన-ఇమేజ్-వెర్షన్ విలువ

`` చిత్రం వెర్షన్ '' యొక్క ప్రధాన సంఖ్యను సెట్ చేస్తుంది. 1 కు డిఫాల్ట్లు.

- ప్రధాన-ఓఎస్-వెర్షన్ విలువ

`Os సంస్కరణ 'యొక్క ప్రధాన సంఖ్యను సెట్ చేస్తుంది. 4 కు డిఫాల్ట్లు.

- ప్రధాన-ఉపవ్యవస్థ-సంస్కరణ విలువ

`` ఉపవ్యవస్థ సంస్కరణ యొక్క ప్రధాన సంఖ్యను సెట్ చేస్తుంది. 4 కు డిఫాల్ట్లు.

- మైనర్-ఇమేజ్-వెర్షన్ విలువ

`` చిత్రం వెర్షన్ '' యొక్క చిన్న సంఖ్యను సెట్ చేస్తుంది. 0 కు డిఫాల్ట్ లు.

- మైనర్-ఓస్-వెర్షన్ విలువ

`Os సంస్కరణ 'యొక్క చిన్న సంఖ్యను సెట్ చేస్తుంది. 0 కు డిఫాల్ట్ లు.

- చిన్న-ఉపవ్యవస్థ-సంస్కరణ విలువ

"ఉపవ్యవస్థ సంస్కరణ" యొక్క చిన్న సంఖ్యను సెట్ చేస్తుంది. 0 కు డిఫాల్ట్ లు.

- అవుట్పుట్-డెఫ్ ఫైల్

లింక్ లింకర్ సృష్టించే DLL కు అనుగుణంగా ఒక DEF ఫైల్ను కలిగి ఉన్న ఫైల్ ఫైల్ను సృష్టిస్తుంది. ఈ DEF ఫైల్ ("* .def" అని పిలవబడేది) "డెల్టూల్" తో ఒక దిగుమతి లైబ్రరీని సృష్టించేందుకు ఉపయోగించబడుతుంది లేదా స్వయంచాలకంగా లేదా పరిపూర్ణంగా ఎగుమతి చేసిన చిహ్నాలకి సూచనగా ఉపయోగించవచ్చు.

- implib ఫైలు

లింక్ లింకర్ ఉత్పత్తి చేస్తుంది DLL కు సంబంధించిన ఒక దిగుమతి లిబ్ను కలిగి ఉన్న ఫైల్ ఫైల్ను సృష్టిస్తుంది. ఈ దిగుమతి lib ("* .dll.a" లేదా "* .a" అని పిలవబడాలి, ఇది ఉత్పత్తి చెయ్యబడిన DLL కు క్లయింట్లను లింక్ చేయడానికి ఉపయోగించబడుతుంది, ఈ ప్రవర్తన ప్రత్యేక "డెల్టూల్" దిగుమతి లైబ్రరీ సృష్టి దశను దాటవేయడానికి వీలుకల్పిస్తుంది.

అమలుని ఆటో ఇమేజ్ బేస్

"--image-base" వాదనను ఉపయోగించి నిర్ధిష్టంగా పేర్కొనకపోతే, స్వయంచాలకంగా DLL ల కొరకు ఇమేజ్ బేస్ను ఎంచుకోండి. ప్రతి DLL, లో-మెమొరీ ప్రమాదాలలో మరియు కార్యక్రమ అమలును ఆలస్యం చేయగల పునఃస్థాపనలకు ఏకైక చిత్రం స్థావరాలను సృష్టించడానికి ఒక పేరును ఉపయోగించడం ద్వారా హాష్ని ఉపయోగించడం ద్వారా.

--disable స్వీయ ఇమేజ్ బేస్

స్వయంచాలకంగా ఒక ఏకైక చిత్రం బేస్ ఉత్పత్తి లేదు. యూజర్-పేర్కొన్న చిత్రం బేస్ ("--image-base") లేకుంటే అప్పుడు ప్లాట్ఫాం డిఫాల్ట్ను ఉపయోగించండి.

--dll-search-prefix స్ట్రింగ్

ఒక దిగుమతి లైబ్రరీ లేకుండా డైనమిక్గా ఒక డెల్ లింక్ చేస్తున్నప్పుడు, "lib .dll" కు ప్రాధాన్యంగా " .dll" కోసం వెతకండి. ఉదాహరణకు, సైగ్విన్, యువిన్, pw, మొదలైనవి: "--dll-search-prefix = cyg" ను సాధారణంగా సైగ్విల్ DLL లు ఉపయోగిస్తాయి.

అమలుని ఆటో దిగుమతి

DLLs నుండి DATA దిగుమతుల కోసం "_symbol" కు "__imp__symbol" కు అధునాతన లింక్ చేయండి, ఆ DATA ఎక్స్పోర్ట్లతో దిగుమతి లైబ్రరీలను నిర్మించేటప్పుడు అవసరమైన thunking చిహ్నాలను సృష్టించండి. ఇది సాధారణంగా 'పని చేస్తుంది' --- కాని కొన్నిసార్లు మీరు ఈ సందేశం చూడవచ్చు:

"వేరియబుల్ '' ఆటో-ఇంపోర్ట్ చేయలేము.దీని వివరాలకు ld" --enable-auto-import "కొరకు డాక్యుమెంటేషన్ చదవండి."

చివరికి రెండు స్థిరాంకాలు (Win32 దిగుమతి పట్టికలు మాత్రమే అనుమతిస్తాయి) మొత్తం ఇచ్చిన ఒక చిరునామాను కొన్ని (ఉప) వ్యక్తీకరణ యాక్సెస్ చేసినప్పుడు ఈ సందేశం సంభవిస్తుంది. ఇది సంభవించే సందర్భాల్లో, DLL నుండి దిగుమతి చేసిన struct వేరియబుల్స్ యొక్క సభ్యుల రంగాలకు, అలాగే ఒక DLL నుండి దిగుమతి చేయబడిన శ్రేణి వేరియబుల్ లోనికి ఒక నిరంతర సూచికను ఉపయోగిస్తుంది. ఏ మల్టీ వర్డ్ వేరియబుల్ (శ్రేణుల, structs, దీర్ఘ కాలం, etc) ఈ లోపం పరిస్థితి ట్రిగ్గర్ ఉండవచ్చు. అయినప్పటికీ, అక్రమమైన ఎగుమతి చేసిన వేరియబుల్ యొక్క ఖచ్చితమైన డేటా రకంతో సంబంధం లేకుండా, ld ఎల్లప్పుడూ గుర్తించి, హెచ్చరిక జారీ చేస్తుంది మరియు నిష్క్రమించండి.

ఎగుమతి చేసిన వేరియబుల్ యొక్క డేటా రకంతో సంబంధం లేకుండా, ఈ సమస్యను పరిష్కరించడానికి అనేక మార్గాలు ఉన్నాయి:

ఒక మార్గం - - రన్-రన్టైమ్-సూడో-రీలోక్ స్విచ్ని ఉపయోగించడం. ఇది రన్టైమ్ ఎన్విరాన్మెంట్ కోసం మీ క్లయింట్ కోడ్లో రిఫరెన్సెస్ సర్దుబాటు చేసే పనిని వదిలివేస్తుంది, కనుక ఈ పద్ధతి రన్టైమ్ ఎన్విరాన్మెంట్ ఈ లక్షణానికి మద్దతు ఇచ్చినప్పుడు మాత్రమే పనిచేస్తుంది.

ఒక రెండవ పరిష్కారం 'స్థిరాంకాలు' ఒక వేరియబుల్ --- అని, కంపైల్ సమయంలో తెలియని మరియు అన్-ఆప్టిమైజ్ ఉంటుంది. శ్రేణుల కోసం, రెండు అవకాశాలు ఉన్నాయి: ఒక) ఇండెక్సిటీ (శ్రేణి యొక్క చిరునామా) వేరియబుల్ లేదా బి) 'స్థిర' సూచికను వేరియబుల్గా చేస్తాయి. అంటే:

బయటి రకం extern_array []; extern_array [1] -> {అస్థిర రకం * t = extern_array; t [1]}

లేదా

బయటి రకం extern_array []; extern_array [1] -> {అస్థిర Int int t = 1; బాహ్య _

Structs కోసం (మరియు ఇతర ఇతర బహుళ డేటా డేటా రకాలు) మాత్రమే ఎంపిక struct (లేదా దీర్ఘ కాలం, లేదా ...) వేరియబుల్ చేయడానికి ఉంది:

extern struct s extern_struct; extern_struct.field -> {అస్థిర నిర్మాణాలు s * t = & extern_struct; t-> ఫీల్డ్}

లేదా

బాహ్య సుదీర్ఘమైన extern_ll; extern_ll -> {దీర్ఘకాల దీర్ఘకాలం * local_ll = & extern_ll; * local_ll}

ఈ ఇబ్బందితో వ్యవహరించే మూడవ పద్ధతి 'ఆటో-ఇంప్లిమెంట్' ను ఉల్లంఘించిన చిహ్నంగా వదిలివేసి, "__ డిక్లెప్సప్ (డెల్మోర్పోర్ట్)" తో గుర్తించండి. అయితే, ఆచరణలో, కంపైల్-టైమ్ # డిఎల్ఎల్ కు లింకు ఇవ్వడం, DLL కు లింక్ చేయగల క్లయింట్ కోడ్ను నిర్మించడం లేదా స్టాటిక్ లైబ్రరీకి కేవలం లింక్ చేయడం / నిర్మిస్తున్నారనేదాని సూచించడానికి మీరు సంకలనం చేయవలసిన సమయం # నిర్వచించటం అవసరం. 'నిరంతరం ఆఫ్సెట్' సమస్యతో ప్రత్యక్ష చిరునామాను పరిష్కరించే వివిధ పద్ధతులకు మధ్య ఎంపిక చేయడానికి, మీరు సాధారణ వాస్తవిక వాడుకను పరిగణించాలి:

Original:

--foo.h extern int arr; - foo.c # "foo.h" శూన్య ప్రధాన (int argc, చార్ ** argv) {printf ("% d \ n", arr [1]); }

సొల్యూషన్ 1:

--foo.h extern int arr; --foo.c # "foo.h" శూన్యము ప్రధాన (Int argc, చార్ ** argv) చేర్చండి {/ * ఈ పరిష్కారము win32 మరియు cygwin కోసం; "ఆప్టిమైజ్" * / అస్థిర int * parr = arr; printf ( "% d \ n", పార్ [1]); }

సొల్యూషన్ 2:

- Foo.h / * గమనిక: ఆటో-ఎగుమతి ఊహించబడింది (ఏ __declspec (dllexport)) * / # ఎఫ్ (నిర్వచించిన (_WIN32) || నిర్వచించిన (__ CYGWIN__)) && \! (నిర్వచించిన (FOO_BUILD_DLL) || నిర్వచించిన (FOO_STATIC )) # FOO_IMPORT __declspec (dllimport) # సూచనను FOO_IMPORT # exif extern FOO_IMPORT int arr [] నిర్వచించండి; - foo.c # "foo.h" శూన్య ప్రధాన (int argc, చార్ ** argv) {printf ("% d \ n", arr [1]); }

ఈ సమస్యను నివారించడానికి నాల్గవ మార్గం, మీ లైబ్రరీని పునరావృతం చేయడానికి , లైంగిక వేలికి ( ఉదా. Set_foo () మరియు get_foo () యాక్సెస్ ఫంక్షన్లకు ఒక డేటా ఇంటర్ఫేస్ కాకుండా ఫంక్షనల్ ఇంటర్ఫేస్ను ఉపయోగించడం.

--disable ఆటో దిగుమతి

DLLs నుండి DATAimports కోసం "__imp__symbol" కు "_symbol" కు sophisticalted లింక్ చేయాలని ప్రయత్నించవద్దు.

అమలుని రన్టైమ్-నకిలీ-reloc

మీ కోడ్ - - ఆటో-దిగుమతి విభాగంలో వివరించిన వ్యక్తీకరణలను కలిగి ఉంటే, అనగా సున్నా-కానిసెట్తో DATAimports, ఈ స్విచ్, 'runtime pseudo relocations' యొక్క వెక్టార్ను సృష్టిస్తుంది, ఇది సూచనలు సర్దుబాటు చేయడానికి రన్టైమ్ వాతావరణం ద్వారా ఉపయోగించబడుతుంది మీ క్లయింట్ కోడ్ అటువంటి డేటాకు.

--disable-runtime-నకిలీ-reloc

DLL ల నుండి DATA దిగుమతి కాని సున్నాకి నకిలీ సంబంధాలను సృష్టించవద్దు. ఇది డిఫాల్ట్.

అమలుని అదనపు PE-డీబగ్

స్వీయ-దిగుమతి చిహ్న చొరబాటుకు సంబంధించిన అదనపు డీబగ్ సమాచారాన్ని చూపు.

--section అమరిక

విభాగం అమరికను సెట్ చేస్తుంది. ఈ సంఖ్య యొక్క బహుళ సంఖ్యలోని చిరునామాల వద్ద మెమరీలోని విభాగాలు ఎల్లప్పుడూ ప్రారంభమవుతాయి. 0x1000 కు డిఫాల్ట్లు.

- స్టాక్ రిజర్వ్

- స్టాక్ రిజర్వ్ , కమిట్

రిజర్వ్ (మరియు ఐచ్చికంగా కట్టుబడి) మెమొరీ మొత్తాన్ని ఈ ప్రోగ్రామ్ కోసం స్టాక్గా ఉపయోగించమని పేర్కొనండి. డిఫాల్ట్ 2Mb రిజర్వు, 4K కట్టుబడి ఉంది.

- ఇది వ్యవస్థాపన ఇది

- సబ్సిడీ ఇది : ప్రధాన

- సబ్సిడీ ఇది : ప్రధాన . చిన్న

మీ ప్రోగ్రామ్ అమలుచేసే ఉపవ్యవస్థను నిర్దేశిస్తుంది. చట్టపరమైన విలువలు "స్థానిక", "విండోస్", "కన్సోల్" మరియు "పాజిక్స్". మీరు ఐచ్ఛికంగా ఉపవ్యవస్థ సంస్కరణను కూడా అమర్చవచ్చు.

ముఖ్యమైనది: మీ కంప్యుటర్లో కమాండ్ ఎలా ఉపయోగించబడుతుందో చూడుటకు man command ( % man ) ఉపయోగించండి.