Linux / Unix စစ်ဌာနချုပ်: Id

က NAME

ld - အသုံးပြုခြင်း ld သည် ကို GNU linker

အနှစ်ချုပ်

ld [ ရွေးချယ်စရာ ] objfile ...

DESCRIPTION

ld အရာဝတ္ထုနှင့် archive ကိုများစွာပေါင်းစပ် ဖိုင်တွေ , သူတို့ရဲ့ဒေတာများနှင့်ဆက်ဆံရေးကိုတက်သင်္ကေတညွှန်းဆို relocates ။ များသောအားဖြင့်ပရိုဂရမ်တစ်ခုပြုစုအတွက်နောက်ဆုံးခြေလှမ်း ld run ဖို့ဖြစ်ပါတယ်။

ld Linker လက်ခံ စစ်ဌာနချုပ် link ကိုဖြစ်စဉ်ကိုကျော်ရှင်းလင်းပြတ်သားစွာနဲ့စုစုပေါင်းထိန်းချုပ်မှုများကို AT & T ရဲ့ Link ကိုအယ်ဒီတာစစ်ဌာနချုပ်ဘာသာစကားများ syntax တစ် superset ၌ရေးထားလျက်ရှိ၏ဘာသာစကားများဖိုင်များကို။

ဤသူသညျစာမျက်နှာက command ဘာသာစကားဖော်ပြရန်ပါဘူး; အဆိုပါ: "အချက်အလက်" အတွက် ld entry ကို, သို့မဟုတ်လက်စွဲစာအုပ် ld တွေ့မြင် ကို GNU linker, ထို command ကိုဘာသာစကားနှင့် theGNU linker ၏အခြားရှုထောင့်အပေါ်အပြည့်အဝအသေးစိတျအဘို့။

ld ဒီဗားရှင်းအရာဝတ္ထုဖိုင်တွေအပေါ်လုပ်ကိုင်ဖို့ယေဘုယျရည်ရွယ်ချက် BFD စာကြည့်တိုက်များအသုံးပြုသည်။ ဒီဥပမာများအတွက် --- ld ဖတ်ပေါင်းစပ်နှင့်များစွာသောကွဲပြားခြားနားသောပုံစံများဖြင့်အရာဝတ္ထုဖိုင်တွေရေးသားဖို့ခွင့်ပြု COFF သို့မဟုတ် "a.out" ။ ကွဲပြားခြားနားသောပုံစံများအရာဝတ္ထုဖိုင်ကိုမဆိုရရှိနိုင်ပါကြင်နာထုတ်လုပ်ရန်အတူတကွနှင့်ဆက်စပ်နိုင်ပါသည်။

ဘေးဖယ်ယင်း၏ပြောင်းလွယ်ပြင်လွယ် မှစ. , ကို GNU linker အဖြေရှာတဲ့သတင်းအချက်အလက်များပံ့ပိုးအခြား linkers ထက်ပိုမိုအသုံးဝင်သည်။ အတော်များများက linkers မှားယွင်းမှုတစ်ခုရင်ဆိုင်အပေါ်သို့ချက်ချင်းကွပ်မျက်စွန့်ခွာ; အခါတိုင်းဖြစ်နိုင် ld (အမှား၏ကြားမှတစ်ခု output ကို file ကိုရရန်, အချို့ကိစ္စများတွင်သို့မဟုတ်) သင်သည်အခြားအမှားများကိုဖော်ထုတ်ရန်ခွင့်ကွပ်မျက်နေဆဲဖြစ်သည်။

အဆိုပါ ကို GNU linker ld အခြေအနေများ၏ကျယ်ပြန့်အကွာအဝေးကိုဖုံးလွှမ်းရန်နှင့်အခြား linkers နှင့်အတူတတ်နိုင်သမျှသဟဇာတဖြစ်ဖို့ရည်ရွယ်သည်။ ရလဒ်အဖြစ်, သင်က၎င်း၏အပြုအမူကိုထိန်းချုပ်ဖို့အများကြီးရွေးချယ်မှုရှိသည်။

ရွေးချယ်စရာများ

အဆိုပါ linker တစ်ကြီးထွားလာတယ်ဆိုတာသိနိုင်ပါတယ်ထောက်ခံပါတယ် command-line options များ , ဒါပေမယ့်သူတို့ထဲကအမှန်တကယ်အလေ့အကျင့်အနည်းအတွက်မဆိုအထူးသဖြင့်အခြေအနေတွင်အသုံးပြုကြသည်။ ဥပမာ, ld တစ်မကြာခဏအသုံးပြုခြင်းကိုစံစံ Unix ကအရာဝတ္ထုဖိုင်များကိုချိတ်ဆက်ဖြစ်ပါသည်, ထောက်ခံ Unix စနစ်က ။ ဖိုင်တစ်ဖိုင် "hello.o" လင့်ထားသည်မှထိုကဲ့သို့သောစနစ်, on:

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

ဤ "hello.o" နှင့်စံရှာဖွေရေး directory များမှလာကြလိမ့်မည်သည့်စာကြည့်တိုက် "libc.a" နှင့်အတူဖိုင်ကို "/lib/crt0.o" ချိတ်ဆက်၏ရလဒ်အဖြစ်ထွက်ရှိလို့ခေါ်တဲ့ဖိုင်ထုတ်လုပ်ရန် ld ပြောပြသည်။ (အောက်က -l option ကို၏ဆှေးနှေးခကြည့်ရှုပါ။ )

အဆိုပါ၏အချို့ command-line ရွေးချယ်စရာ ld ဖို့ command line ကိုအတွက်မဆိုအချက်မှာသတ်မှတ်ထားနိုင်ပါသည်။ သို့သော်ထိုကဲ့သို့သော -l သို့မဟုတ် -T အဖြစ်ဖိုင်များ, ကိုရည်ညွှန်းထားတဲ့ options များ, ဖိုင်ကိုထို option အရာဝတ္ထုဖိုင်တွေနဲ့အခြားဖိုင်ရွေးချယ်စရာမှဆွေမျိုး, က command line ထဲမှာပေါ်လာလိမ့်မယ်အရာမှာအမှတ်မှာဖတ်ပါစေ။ တစ်ဦးကွဲပြားခြားနားအငြင်းအခုံနှင့်အတူ Non-file ကိုရှေးခယျြစရာထပ်မျှထပ်မံအကျိုးသက်ရောက်မှုရှိသည်, သို့မဟုတ်ထို option ၏ကြိုတင်ကွိ (က command line ပေါ်တွင်လက်ဝဲဘက်မှထပ်မံသူတို့အား) override လိမ့်မယ်ဖြစ်စေ။ အဓိပ္ပါယ်ရှိစွာထက်ပိုတစ်ချိန်ကသတ်မှတ်ထားသောစေခြင်းငှါအရာက Options အောက်ကဖော်ပြချက်များတွင်မှတ်ချက်ပြုကြသည်။

non-option ကိုငြင်းခုံအတူတကွချိတ်ဆက်ရန်နေသောအရာဝတ္ထုဖိုင်တွေသို့မဟုတ်မော်ကွန်းတိုက်ဖြစ်ကြသည်။ သူတို့ဟာနောက်ကိုလိုက်အရင်အဦးနေရာ, ဒါမှမဟုတ်တစ်ခုအရာဝတ္ထုဖိုင်အငြင်းအခုံတစ်ခု option ကိုနှင့်၎င်း၏အငြင်းအခုံအကြားထားရှိမရစေခြင်းငှါ မှလွဲ. command-line options များနှင့်အတူရောနှောနိုင်ပါသည်။

ပုံမှန်အားဖြင့် linker အနည်းဆုံးအရာဝတ္ထုဖိုင်နှင့်အတူမဖြစ်၏ဖြစ်ပါတယ်, သင်မူကား, -l သုံးပြီး -r binary input ကိုဖိုင်တွေ၏အခြားပုံစံများကိုသတ်မှတ်နိုင်ပြီး, ဇာတ်ညွှန်း command ကိုဘာသာစကား။ အားလုံးမှာအဘယ်သူမျှမ binary input ကိုဖိုင်တွေသတ်မှတ်ထားသောနေကြသည်လျှင်, linker ဆို output ကိုထုတ်လုပ်လျက်, မက်ဆေ့ခ်ျကိုအဘယ်သူမျှမ input ကိုဖိုင်တွေထုတ်ဝေမထားဘူး။

အဆိုပါ linker object တစ်ခုဖိုင်ပုံစံအသိအမှတျမနိုင်လျှင်, အဲဒါကိုတစ် linker ဇာတ်ညွှန်းကြောင်းယူဆပါလိမ့်မယ်။ ဒီလမ်းအတွက်သတ်မှတ်ထားသောဒီ script ကတော့ link ကို (သော်လည်းကောင်းကို default linker ဇာတ်ညွှန်းသို့မဟုတ် -T အသုံးပြု. သတ်မှတ်ထားသောတ) အတွက်အသုံးပြုတဲ့အဓိက linker script ကိုကြီးထွားများပြားစေ။ ဒီ feature တစ်ခုအရာဝတ္ထုဒါမှမဟုတ် archive ကိုဖြစ်ပေါ်ပေမယ့်တကယ်တော့မျှသာအချို့သောသင်္ကေတတန်ဖိုးများအဖြစ်သတ်မှတ်ပါတယ်, သို့မဟုတ်အခြားအရာဝတ္ထု load ဖို့ "ထည့်သွင်းမှု" သို့မဟုတ် "GROUP" ကိုအသုံးပြုသည်အရာဖိုင်တစ်ခုဆန့်ကျင်လင့်ထားသည်ဖို့ linker ခွင့်ပြုထားသည်။ ဒီလမ်းအတွက်ဇာတ်ညွှန်းသတ်မှတ်ခြင်းမျှသာအဓိက linker script ကိုကြီးထွားများပြားစေသည်ဟုမှတ်ချက်; လုံးဝကို default linker script ကိုအစားထိုးရန်ဖို့ -T option ကိုအသုံးပြုပါ။

အဘယ်သူ၏အမည်များကိုတစ်ခုတည်းအက္ခရာတွေဟာရွေးချယ်စရာအဘို့, option ကိုငြင်းခုံကြားနေရာလွတ်ကွားမပါဘဲ option ကိုစာတစ်စောင်လိုက်နာရမည်ဖြစ်စေ, ဒါမှမဟုတ်ချက်ချင်းသူတို့ကိုလိုအပ်ပါတယ်သော option ကိုအောက်ပါသီးခြားအငြင်းပွားမှုများအဖြစ်ပေးအပ်ခြင်းခံရ။

အဘယ်သူ၏အမည်များမျိုးစုံအက္ခရာများဖြစ်ကြသည် options များအဘို့, ဖြစ်စေတဦးတည်း dash သို့မဟုတ်နှစ်ဦးကထို option name ကိုအရင်အဦးနေရာနိုငျသညျ ဥပမာအားဖြင့်, -trace-သင်္ကေတ များနှင့် --trace-သင်္ကေတနှင့်ညီမျှကြသည်။ မှတ်ချက် - ဤနည်းဥပဒေတစ်ခုချွင်းချက်ရှိပါတယ်။ တစ်နိမ့်အမှု '' o 'နှင့်အတူစတင်ကြောင်းအကွိမျမြားစှာစာတစ်စောင်ရွေးချယ်စရာနှစ်ခုသာဒက်ရှ်အားဖြင့် preceeded နိုင်ပါသည်။ ဒါက -O option နဲ့အတူစိတ်ရှုပ်ထွေးမှုများကိုလျှော့ချဖို့ဖြစ်ပါတယ်။ က output အပေါ် NMAGIC အလံသတ်မှတ် --omagic သော်လည်းမှော်ဖို့ output ကိုဖိုင် name ကိုသတ်မှတ် -omagic ဥပမာဒီတော့။

မျိုးစုံအက္ခရာရွေးချယ်စရာဖို့ငြင်းခုံဖြစ်စေကာတန်းတူများကထို option ကိုအမည်အားကွဲကွာနေရမည်ဖြစ်သည် sign, ဒါမှမဟုတ်ချက်ချင်းသူတို့ကိုလိုအပ်ပါတယ်သော option ကိုအောက်ပါသီးခြားအငြင်းပွားမှုများအဖြစ်ပေးအပ်ခြင်းခံရ။ ဥပမာအားဖြင့်, --trace-သင်္ကေတ foo နှင့် --trace-သင်္ကေတ = foo ညီမျှကြသည်။ မျိုးစုံအက္ခရာရွေးချယ်စရာများ၏အမည်များ၏ထူးခြားတဲ့အတိုကောက်ကိုလက်ခံနေကြတယ်။

မှတ်ချက် - ထို linker သွယ်ဝိုက်မဖြစ်၏ခံရလျှင်တစ်ဦး compiler ကယာဉ်မောင်းများမှတဆင့် (ဥပမာ gcc) ထို့နောက်အပေါငျးတို့သ linker command line ကိုရှေးခယျြစရာ, -Wl အားဖြင့် prefixed (သို့မဟုတ်အထူးသဖြင့် compiler ကယာဉ်မောင်းများအတွက်သင့်လျော်သည်ဘာပဲ) ရပါမည်ဤကဲ့သို့သော:

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

မဟုတ်ရင်အဆိုပါ compiler ကကားမောင်းသူအစီအစဉ်ကိုတိတ်တဆိတ်မကောင်းတဲ့ link ကိုအတွက်ရရှိလာတဲ့သည် linker ရွေးချယ်စရာ drop စခွေငျးငှါဘာဖြစ်လို့လဲဆိုတော့ဒါကအရေးကြီးပါတယ်။

ဤတွင်ကို GNU linker ကလက်ခံသည့်ယေဘုယျ command line ကို switches များ၏စားပွဲတစ်ခုဖြစ်ပါသည်:

-a keyword ကို

ဒီ option က HP က / UX ကိုလိုက်ဖက်မှုအတှကျထောကျပံ့ဖြစ်ပါတယ်။ keyword ကိုငြင်းခုံ၏တဦးတည်းဖြစ်ရမည် ညှို့ archive ကို, shared, ဒါမှမဟုတ်က default-aarchive -Bstatic မှ function နှင့်ညီမျှသည်နှင့်အခြားနှစ်ဦးကိုသော့ချက်စာလုံးများ function -Bdynamic ညီမျှကြသည်။ ဒီ option ကအဆမဆိုအရေအတွက်အားကိုအသုံးပြုနိုင်ပါသည်။

- တစ်ဦးက ဗိသုကာ

--architecture = ဗိသုကာ

ld ၏လက်ရှိလွှတ်ပေးရန်အတွက်, ဤ option ကိုသာဗိသုကာများ၏ Intel က 960 မိသားစုများအတွက်အသုံးဝင်သည်။ ကြောင်း ld ဖွဲ့စည်းမှုပုံစံထဲမှာ, ဗိသုကာအငြင်းအခုံအချို့အကာအကွယ်အားဖွင့်ခြင်းနှင့် archive ကို-library ကိုရှာဖွေရေးလမ်းကြောင်းကိုပြုပြင်မွမ်းမံခြင်း, 960 မိသားစုထဲမှာအထူးသဖြင့်ဗိသုကာသတ်မှတ်။

ld ၏အနာဂတ်လွှတ်ပေးသည်အခြားဗိသုကာမိသားစုများအတွက်အလားတူလုပ်ဆောင်နိုင်စွမ်းကိုထောကျပံ့ပေးနိုငျသညျ။

-b input ကို-format နဲ့

--format = input ကို-format နဲ့

ld အရာဝတ္ထုဖိုင်တစ်ခုထက် ပို. ကြင်နာကူညီပံ့ပိုးရန် configured နိုင်ပါသည်။ သင့်ရဲ့ ld ဤနည်းပြင်ဆင်ပြီးဖြစ်ပါသည်လျှင်, သင်က command line ပေါ်မှာဤ option ကိုလိုကျနာသောအ input ကိုအရာဝတ္ထုဖိုင်တွေများအတွက် binary format ကိုသတ်မှတ်ပေးရန် -b option ကိုသုံးနိုင်သည်။ ld အခြားရွေးချယ်စရာအရာဝတ္ထုကို formats ကိုထောကျပံ့ဖို့ပြင်ဆင်ပြီးဖြစ်ပါသည်တောင်မှအခါ, သငျသညျအများအားဖြင့် ld တစ်ဦးက default input ကို format နဲ့အဖြစ်ချင်းစီ machine ပေါ်တွင်အများဆုံးပုံမှန်အတိုင်း format ကိုမျှော်လင့်ထားကာပြုပြင်သင့်ပါတယ်အဖြစ်, ဒီသတ်မှတ်ဖို့မလိုအပ်ပါဘူး။ input ကို-format နဲ့စာသား string ကို, အ BFD စာကြည့်တိုက်များကထောက်ခံနေတဲ့အထူးသဖြင့် format ရဲ့နာမည်ဖြစ်ပါတယ်။ (သင် objdump -i အတူရရှိနိုင်ပါသည် binary ကို formats စာရင်းပြုစုနိုင်ပါတယ်။ )

သင်တစ်ဦးပုံမှန်မဟုတ်သော binary format နဲ့အတူဖိုင်များကိုချိတ်ဆက်မယ်ဆိုရင်ဒီ option ကိုအသုံးပြုချင်ပေမည်။ သင်တို့သည်လည်းတစ်ဦးအထူးသဖြင့် format နဲ့အရာဝတ္ထုဖိုင်များကိုတစ်ခုချင်းစီကိုအဖွဲ့တစ်ဖွဲ့မတိုင်မီ -b input ကို-format ကိုအပါအဝင်အားဖြင့်, (ကွဲပြားခြားနားသောပုံစံများ၏အရာဝတ္ထုဖိုင်များကိုချိတ်ဆက်သည့်အခါ) အတိအလင်းကို formats ပြောင်း -b ကိုသုံးနိုင်သည်။

ကို default format နဲ့ပတ်ဝန်းကျင် variable ကို "GNUTARGET" မှခေါ်ဆောင်သွားသည်။

သင်တို့သည်လည်း command 'TARGET သို့ "သုံးပြီးဇာတ်ညွှန်းကနေ input ကို format ကိုသတ်မှတ်နိုင်တယ်,

-c MRI-commandfile

--mri-script ကို = MRI-commandfile

MRI ကထုတ်လုပ် linkers နှင့်အတူလိုက်ဖက်မှုအဘို့, ld ကို GNU ld စာရွက်စာတမ်းများ၏ MRI လိုက်ဖက်တဲ့ script file section မှာဖော်ပြထား command ကိုဘာသာစကား, ကန့်သတ်ထားတဲ့အခြား၌ရေးထားလျက်ရှိ၏ script ကိုဖိုင်များ, လက်ခံခဲ့သည်။ ထို option -c နှင့်အတူ MRI script ကိုဖိုင်တွေမိတ်ဆက်ပေး; အထွေထွေ-ရည်ရွယ်ချက် ld scripting language ၌ရေးထားလျက်ရှိ၏ linker script များကို run ဖို့ -T option ကိုအသုံးပြုပါ။ MRI-cmdfile တည်ရှိမပါဘူးဆိုရင်, ld ဆို -L ရွေးချယ်စရာများကသတ်မှတ်ထားသော directory များတွင်ထိုသို့ကြည့်ရှုသည်။

-D

-dc

-dp

ဤသုံးပါးရွေးချယ်စရာညီမျှပါ၏ မျိုးစုံပုံစံများကိုအခြား linkers နှင့်အတူလိုက်ဖက်မှုအတှကျထောကျပံ့နေကြသည်။ သူတို့ကတစ်ဦး relocatable output ကိုဖိုင် (-r နှင့်အတူ) သတ်မှတ်ထားသောရင်တောင်ဘုံသင်္ကေတမှအာကာသ assign ။ အဆိုပါ script ကို command 'FORCE_COMMON_ALLOCATION "တူညီသောအကျိုးသက်ရောက်မှုရှိပါတယ်။

-e entry ကို

--entry = entry ကို

သုံးပါ entry ကို အစားကို default entry ကိုအမှတ်ထက်, သင့်အစီအစဉ်၏ကွပ်မျက်စတင်များအတွက်ရှင်းလင်းပြတ်သားစွာသင်္ကေတအဖြစ်။ entry ကိုအမည်ရှိမျှသင်္ကေတလည်းမရှိလျှင်, linker နံပါတ်အဖြစ် entry ကိုခွဲခြားစိတ်ဖြာမှုရန်ကြိုးစားလျက်, entry ကိုလိပ်စာ (အရေအတွက်ကအခြေစိုက်စခန်း 10 ခုအတွက်အဓိပ္ပာယ်ကောက်ယူလိမ့်မည်အဖြစ်ကိုသုံးပါလိမ့်မည်သင်သည်အခြေစိုက်စခန်း 16 ခုတို့အတွက်ဦးဆောင် 0x သုံးနိုင်ပါသည်, ဒါမှမဟုတ်တစ်ဦးဦးဆောင်ပါ 0 င် ) အခြေစိုက်စခန်း 8 အဘို့။

-e

--export-ပြောင်းလဲနေသော

တစ်ဦးသည် dynamically နှင့်ဆက်စပ်ဟာ executable ဖန်တီးသောအခါ, ထိုပြောင်းလဲနေသောသင်္ကေတစားပွဲအားလုံးအားသင်္ကေတထည့်ပါ။ အဆိုပါပြောင်းလဲနေသောသင်္ကေတစားပွဲပေါ်မှာပြေးအချိန်တွင်ဒိုင်းနမစ်တ္ထုထဲကနေမြင်နိုင်သောသင်္ကေတများအစုဖြစ်ပါတယ်။

သင်ဤ option ကိုအသုံးမပြုလျှင်, ပြောင်းလဲနေသောသင်္ကေတစားပွဲက link မှာဖော်ပြထားတဲ့အချို့ပြောင်းလဲနေသောအရာဝတ္ထုအားဖြင့်ရည်ညွှန်းထားတဲ့သူတို့သာသင်္ကေတများပုံမှန်ဆံ့မည်ဖြစ်သည်။

သငျသညျအစားအချို့နဲ့အခြားပြောင်းလဲနေသောအရာဝတ္ထုထက်, program ကသတ်မှတ်ထားတဲ့သင်္ကေတများပြန်ရည်ညွှန်းရန်လိုအပ်ပါသည်သောပြောင်းလဲနေသောအရာဝတ္ထု load ဖို့ "dlopen" တွေကိုအသုံးပြုလိုလျှင်, သင်ဖြစ်ကောင်းအစီအစဉ်ကိုကိုယ်တိုင်ကချိတ်ဆက်သည့်အခါဤ option ကိုသုံးစွဲဖို့မလိုအပ်ပါလိမ့်မယ်။

သင်တို့သည်လည်းက output format ကိုထောက်ပံ့လျှင်သင်္ကေတဟာပြောင်းလဲနေသောသင်္ကေတစားပွဲထည့်သွင်းထားရမည်အရာကိုထိန်းချုပ်ရန်ဗားရှင်း script ကိုသုံးနိုင်သည်။ @ ref {VERSION} အတွက် --version-script ၏ဖော်ပြချက်တွင်ကြည့်ပါ။

-EB

ကြီးမားသော-endian အရာဝတ္ထုလင့်ထားသည်။ ဤသည်ကို default output ကို format ကိုသာသက်ရောက်သည်။

-EL

Link ကိုနည်းနည်း-endian တ္ထု။ ဤသည်ကို default output ကို format ကိုသာသက်ရောက်သည်။

-f

--auxiliary name ကို

တစ်ဦး elf shared အရာဝတ္ထုဖန်တီးသောအခါ, သတ်မှတ်ထားသောနာမတော်အတွင်းပိုင်း DT_AUXILIARY လယ်ပြင်ထားကြ၏။ ဒါက shared အရာဝတ္ထု၏သင်္ကေတဇယားသည် shared အရာဝတ္ထုနာမတျော၏သင်္ကေတစားပွဲပေါ်တစ်ဦးအရန် filter ကိုအဖြစ်အသုံးပြုသင့်ကြောင်းအဆိုပါပြောင်းလဲနေသော linker ပြောပြသည်။

သငျသညျနောက်ပိုင်းမှာဒီ filter ကိုအရာဝတ္ထုဆန့်ကျင်နေတဲ့အစီအစဉ်မှာလင့်ထားသည် အကယ်. သင် program ကို run သောအခါ, ထိုသည်, ပြောင်းလဲနေသော linker အဆိုပါ DT_AUXILIARY လယ်ကိုမြင်လိမ့်မည်။ အဆိုပါပြောင်းလဲနေသော linker အဆိုပါ filter ကိုအရာဝတ္ထုကနေမဆိုသင်္ကေတများဖြေရှင်းပါကပထမဦးဆုံး shared အရာဝတ္ထုနာမ၌တစ်ဦးနှင့်အဓိပ္ပါယ်လည်းမရှိရှိမရှိစစ်ဆေးပါလိမ့်မယ်။ တဦးတည်းရှိပါက filter ကိုအရာဝတ္ထုများတွင်အစားအဓိပ္ပါယ်များ၏အသုံးပြုလိမ့်မည်။ အဆိုပါ shared အရာဝတ္ထုအမည်ဖြင့်တည်ရှိနေစရာမလိုပါ။ အရှင် shared အရာဝတ္ထုနာမကိုအမှီဖြစ်ကောင်းဒီဘာဂင်များအတွက်သို့မဟုတ်စက်တိကျတဲ့စွမ်းဆောင်မှုများအတွက်, အချို့လုပ်ငန်းဆောင်တာတစ်ခုကအခြားရွေးချယ်စရာအကောင်အထည်ဖော်မှုပေးဖို့အသုံးပြုနိုင်ပါသည်။

ဒီ option ကထက်ပိုမိုတစ်ချိန်ကသတ်မှတ်ထားသောနိုင်ပါသည်။ အဆိုပါ DT_AUXILIARY entries တွေကိုသူတို့က command line ပေါ်တွင်ပေါ်လာသည့်အတွက်နိုင်ရန်အတွက်နေသူများကဖန်တီးလိမ့်မည်။

-F name ကို

နာမကိုအမှီ --filter

တစ်ဦး elf shared အရာဝတ္ထုဖန်တီးသောအခါ, သတ်မှတ်ထားသောနာမတော်အတွင်းပိုင်း DT_FILTER လယ်ပြင်ထားကြ၏။ ဤသည်ကိုဖန်ဆင်းခံသော shared အရာဝတ္ထု၏သင်္ကေတဇယားသည် shared အရာဝတ္ထုနာမတျော၏သင်္ကေတစားပွဲပေါ်တစ်ဦး filter ကိုအဖြစ်အသုံးပြုသင့်ကြောင်းအဆိုပါပြောင်းလဲနေသော linker ပြောပြသည်။

သငျသညျနောက်ပိုင်းမှာဒီ filter ကိုအရာဝတ္ထုဆန့်ကျင်နေတဲ့အစီအစဉ်မှာလင့်ထားသည် အကယ်. သင် program ကို run သောအခါ, ထိုသည်, ပြောင်းလဲနေသော linker အဆိုပါ DT_FILTER လယ်ကိုမြင်လိမ့်မည်။ အဆိုပါပြောင်းလဲနေသော linker ခါတိုင်းလိုအဖြစ် filter ကိုအရာဝတ္ထု၏သင်္ကေတစားပွဲပေါ်မှာအညီသင်္ကေတများဖြေရှင်းရန်ပါလိမ့်မယ်, ဒါပေမယ့်ဒါဟာအမှန်တကယ် shared အရာဝတ္ထုနာမ၌တွေ့ရသောအဓိပ္ပာယ်လင့်ထားသည်ပါလိမ့်မယ်။ အရှင် filter ကိုအရာဝတ္ထုအရာဝတ္ထုကိုနာမည်ဖြင့်ထောက်ပံ့သင်္ကေတ၏အပိုင်းတစ်ပိုင်းကိုသာလျှင်ရှေးခယျြပါရန်အသုံးပြုနိုင်ပါသည်။

တချို့ကအဟောင်းများကို linkers input ကိုနှင့် output ကိုအရာဝတ္ထုဖိုင်တွေနှစ်ခုလုံးအတွက်အရာဝတ္ထု-file ကို format ကိုသတ်မှတ်ခြင်းများအတွက်စုစည်း toolchain တစ်လျှောက်လုံး -F option ကိုအသုံးပြုခဲ့သည်။ အဆိုပါကို GNU linker ဒီရည်ရွယ်ချက်အတွက်အခြားယန္တရားများကိုအသုံးပြုသည်: အ -b, --format, --oformat options တွေကို linker script များအတွက် "TARGET သို့" command ကို, နှငျ့ "GNUTARGET" ပတ်ဝန်းကျင် variable ကို။ တစ်ဦး elf shared အရာဝတ္ထုကိုမရသည့်အခါအဆိုပါကို GNU linker အဆိုပါ -F option ကိုလျစ်လျူရှုပါလိမ့်မယ်။

-fini name ကို

တစ်ဦး elf က executable သို့မဟုတ် shared အရာဝတ္ထုဖန်တီးသောအခါယင်းကို executable သို့မဟုတ် shared အရာဝတ္ထုမြေပေါ်သို့ချနေသည်သောအခါ, function ကို၏လိပ်စာ DT_FINI setting များက NAME ကိုခေါ်ပါ။ ပုံမှန်အားဖြင့်, အ linker ကိုခေါ်ဖို့ function ကိုအဖြစ် "_fini" ကိုအသုံးပြုသည်။

-g

လျစ်လျူရှုခဲ့သည်။ သည်အခြား tools တွေနဲ့အတူ Compatibility ကိုပေး။

-G တန်ဖိုးကို

--gpsize = value ကို

အရွယ်အစားဖို့မိသားစုဆရာဝန်မှတ်ပုံတင်သုံးပြီး optimized ခံရဖို့တ္ထု၏အမြင့်ဆုံးအရွယ်အစားသတ်မှတ်မည်။ ဤသည်ထိုကဲ့သို့သောကွဲပြားခြားနားသောကဏ္ဍများသို့ကြီးမားသောနှင့်အသေးစားတ္ထုချပြီးပံ့ပိုးသော MIPS ECOFF အဖြစ်အရာဝတ္ထုဖိုင် Format အဘို့ကိုသာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။ ဤသည်ကတခြားအရာဝတ္ထုဖိုင် Format အဘို့ကိုလျစ်လျူရှုနေပါတယ်။

-h name ကို

-soname = name ကို

တစ်ဦး elf shared အရာဝတ္ထုဖန်တီးသောအခါ, သတ်မှတ်ထားသောနာမတော်အတွင်းပိုင်း DT_SONAME လယ်ပြင်ထားကြ၏။ တစ်ဦးက executable တစ် DT_SONAME လယ်ပြင်ထားပါတယ်သော shared အရာဝတ္ထုတွေနဲ့ဆက်စပ်အခါက executable run သောအခါ, ထိုပြောင်းလဲနေသော linker အဆိုပါ DT_SONAME လယ်ကွင်းများကသတ်မှတ်ထားသော shared အရာဝတ္ထု load ထက်အဆိုပါ linker အားပေးပြီးမှဖိုင်အမည်ကိုသုံးပြီးကြိုးစားပါလိမ့်မယ်။

-i

(option ကို -r အဖြစ်အတူတူပင်) တစ်ဦး incremental link ကို Perform ။

-init name ကို

တစ်ဦး elf က executable သို့မဟုတ် shared အရာဝတ္ထုဖန်တီးသောအခါယင်းကို executable သို့မဟုတ် shared အရာဝတ္ထုတက်နေတဲ့သောအခါ, function ကို၏လိပ်စာ DT_INIT setting များက NAME ကိုခေါ်ပါ။ ပုံမှန်အားဖြင့်, အ linker ကိုခေါ်ဖို့ function ကိုအဖြစ် "_init" ကိုအသုံးပြုသည်။

-l archive ကို

--library = archive ကို

Add archive ကိုဖိုင် ချိတ်ဆက်ဖိုင်တွေရဲ့စာရင်း archive ကို။ ဒီ option ကအဆမဆိုအရေအတွက်အားကိုအသုံးပြုနိုင်ပါသည်။ ld သတ်မှတ်ထားသောတိုင်း archive ကို "libarchive.a" ၏ကွိ၎င်း၏လမ်းကြောင်းကို-စာရင်းကိုရှာဖွေပါလိမ့်မယ်။

shared စာကြည့်တိုက်ကိုထောကျပံ့ပေးသောစနစ်များတွင်, ld လည်း ".A" ထက်အခြား extension တွေနဲ့အတူစာကြည့်တိုက်ကိုရှာလိမ့်မည်။ အထူးသ elf နှင့် SunOS စနစ်များပေါ်တွင် ld ".A" ၏တစ်ဦး extenstion နဲ့တဦးတည်းရှာဖွေနေမီ "ဒါကြောင့်" ၏တစ်ဦး extenstion နဲ့တစ်ဦးစာကြည့်တိုက်များအတွက် directory ကိုရှာဖွေပါလိမ့်မယ်။ စည်းဝေးကြီးတစ်ခုကိုအသုံးပြုပုံကို "ဒါကြောင့်" extension ကိုတစ်ဦး shared စာကြည့်တိုက်ဖော်ပြသည်။

အဆိုပါ linker က command line ကိုအပေါ်သတ်မှတ်ထားသောသည်အဘယ်မှာရှိတည်နေရာမှာတစ်ခါသာတစ်ဦး archive ကိုရှာဖွေပါလိမ့်မယ်။ အဆိုပါ archive ကိုက command line ပေါ်တွင် archive ကိုရှေ့ထားတဲ့တချို့အရာဝတ္ထုများတွင် undefined ခဲ့သည့်သင်္ကေတအဖြစ်သတ်မှတ်ပါတယ်လျှင်, linker archive ကိုအနေဖြင့်သင့်လျော်သောဖိုင် (s) ကိုပါဝင်သည်ပါလိမ့်မယ်။ သို့သော် command line ကိုအပေါ်နောက်ပိုင်းမှာပေါ်ထွန်းတစ်ခုအရာဝတ္ထုတစ်ခု undefined သင်္ကေတဟာ linker ပြန် archive ကိုရှာဖွေစေမည်မဟုတ်။

မော်ကွန်းတိုက်အကြိမ်ပေါင်းများစွာရှာဖွေဖို့ linker အတင်းတစ်လမ်းများအတွက် (option ကို - ထိုရှုပါ။

သင်က command line ကိုအပေါ်တူညီတဲ့ archive ကိုအကြိမ်ပေါင်းများစွာစာရင်းပြုစုလိမ့်မည်။

archive ကိုရှာဖွေ၏ဤအမျိုးအစား Unix linkers များအတွက်စံဖြစ်ပါတယ်။ သို့သျောလညျးသငျသညျ, ld onAIX ကိုအသုံးပြုနေလျှင်၎င်းသည် AIX linker ၏အပြုအမူအနေဖြင့်ကွဲပြားခြားနားသောကြောင်းသတိပြုပါ။

-L searchdir

--library-လမ်းကြောင်းကို = searchdir

ld archive ကိုစာကြည့်တိုက်များနှင့် ld ထိန်းချုပ်မှု script များရှာဖွေမည်သောခရီးများစာရင်းလမ်းကြောင်းကို searchdir ထည့်ပါ။ သင်ဤ option ကိုအဆမဆိုအရေအတွက်ကသုံးနိုင်ပါသည်။ အဆိုပါ directory များသူတို့က command line ပေါ်တွင်သတ်မှတ်ထားသောထားတဲ့အတွက်နိုင်ရန်အတွက်ကိုရှာဖွေနေကြပါတယ်။ က command line ပေါ်တွင်သတ်မှတ်ထားသော directories ကို default directory များမတိုင်မှီကိုရှာဖွေနေကြပါတယ်။ အားလုံး -L ရွေးချယ်စရာမသက်ဆိုင်သည့်ရွေးချယ်စရာပေါ်လာသည့်အတွက်အမိန့်များ, ရှိသမျှ -l options များသက်ဆိုင်ပါသည်။

searchdir "=" နဲ့စတင်လျှင် "=", အ sysroot ရှေ့ဆက်အားဖြင့် linker configured သောအခါသတ်မှတ်ထားသောလမ်းကြောင်းတစ်ခုအစားထိုးလိမ့်မည်။

လမ်းခရီး၏ default အနေနဲ့ set ကို (-L နှင့်အတူသတ်မှတ်ထားသောခံရမပါဘဲ) ကိုရှာဖွေအတုယူ mode ကို ld သုံးပြီးသောပေါ်နှင့်အချို့ကိစ္စများတွင်လည်း configured ခဲ့ပုံပေါ်တွင်မူတည်သည်။

အဆိုပါလမ်းကြောင်းကိုလည်း "SEARCH_DIR" Command ဖြင့် link တစ်ခုဇာတ်ညွှန်းအတွက်သတ်မှတ်ထားသောနိုင်ပါသည်။ ဤနည်းအားသတ်မှတ်ထားသော directories အဆိုပါ linker script ကိုက command line ထဲမှာပေါ်လာလိမ့်မယ်ထားတဲ့အတွက်အချက်မှာကိုရှာဖွေနေကြပါတယ်။

-m အတုယူ

အဆိုပါအတုယူ linker အတုယူ။ သင့်အနေဖြင့်အတူရရှိနိုင်ပါသည် emulator စာရင်းပြုစုနိုင်ပါတယ် --verbose သို့မဟုတ် -V options များ။

အဆိုပါ -m option ကိုအသုံးမ အကယ်. ကြောင်းသတ်မှတ်ပါတယ်လျှင်, အတုယူ, သည် "LDEMULATION" ပတ်ဝန်းကျင် variable ကိုမှယူထားပါသည်။

ဒီလိုမှမဟုတ်ရင်ကို default အတုယူသည့် linker configured ခံခဲ့ရပုံကိုအပေါ်သို့မူတည်ပါတယ်။

-M

--print-မြေပုံ

စံ output ကိုမှ link တစ်ခုမြေပုံ Print ။ တစ်ဦးက link ကိုမြေပုံအောက်ပါအပါအဝင် link ကိုအကြောင်းသတင်းအချက်အလက်ထောက်ပံ့:

*

အရာဝတ္ထုဖိုင်တွေနဲ့သင်္ကေတများမှတ်ဉာဏ်သို့တစ်ခုသို့ဆက်စပ်နေကြသည်ဘယ်မှာ။

*

ဘယ်လိုဘုံသင်္ကေတများခွဲဝေနေကြသည်။

*

အားလုံး archive ကိုအဖွဲ့ဝင်များ archive ကိုအဖွဲ့ဝင်တစ်ဦးအတွက်ယူဆောင်စေသည့်သင်္ကေတတစ်ခုဖော်ပြထားခြင်းနှင့်တကွ, link ကိုတွင်ထည့်သွင်း။

-n

--nmagic

အပိုင်းစာမျက်နှာ alignment ကိုပိတ်ထားပါနှင့်ဖြစ်နိုင်လျှင် "NMAGIC" အဖြစ်က output mark ။

-N

--omagic

ဖတ်လို့လွယ်ခြင်းနှင့် writable ဖြစ်စာသားနှင့်အချက်အလက်အပိုင်းသတ်မှတ်မည်။ ဒါ့အပြင်ဒေတာအစိတ်အပိုင်းစာမျက်နှာ-align နှင့် shared စာကြည့်တိုက်များဆန့်ကျင်ချိတ်ဆက် disable ပါဘူး။ က output format နဲ့ Unix စတိုင်မှော်နံပါတ်များကိုထောကျပံ့ခဲ့လျှင် "OMAGIC" အဖြစ်က output mark ။

--no-omagic

ဒီ option က -N option ကို၏အကျိုးသက်ရောက်မှုများအများစု negates ။ ဒါဟာစာသားအပိုင်းကိုဖတ်ရှုသာခံရဖို့သတ်မှတ်နှင့်စာမျက်နှာ-aligned ဖြစ်ဖို့ဒေတာ segment ကိုတွန်းအားပေးသည်။ မှတ်ချက် - ဒီ option ကို shared စာကြည့်တိုက်များဆန့်ကျင်ချိတ်ဆက် enable မထားဘူး။ ဒီ -Bdynamic ကိုသုံးပါ။

-O output ကို

--output = output ကို

ld ကထုတ်လုပ်သည့်အစီအစဉ်အတွက်နာမတော်ကိုအမှီ ပြု. အဖြစ် output ကိုသုံးတတ်၏ ဒီ option ကိုမသတ်မှတ်ရသေးပါလျှင်, ထိုနာမကိုအမှီ a.out default အနေဖြင့်အသုံးပြုသည်။ အဆိုပါ script ကို command 'OUTPUT "ကိုလည်း output ကိုဖိုင် name ကိုသတ်မှတ်နိုင်ပါတယ်။

-O အဆင့်အထိ

အကယ်. အဆင့်ကိုတစ်ဦးဖြစ်ပါတယ် ဂဏန်းတန်ဖိုးများကို သုည ld က output ကိုပိုမိုကောင်းမွန်ထက် သာ. ကြီးမြတ်။ ဒါဟာသိသိသာသာရှည်ယူစေခြင်းငှါ, ထို့ကြောင့်ဖြစ်ကောင်းသာနောက်ဆုံး binary အဘို့အဖွင့်ထားသင့်တယ်။

-q

--emit-နေရာပြောင်းရွှေ့

အပြည့်အဝနှင့်ဆက်စပ် exececutables အတွက်နေရာပြောင်းရွှေ့ကဏ္ဍများနှင့်အကြောင်းအရာများကိုချန်ထားပါ။ Post ကို link ကိုခွဲခြမ်းစိတ်ဖြာနှင့် optimization tool များကို executables ၏မှန်ကန်သောပြုပြင်မွမ်းမံလုပ်ဆောင်နိုင်ရန်အတွက်ဤသတင်းအချက်အလက်လိုအပ်နိုင်ပါသည်။ ဤသည်ပိုမိုကြီးမား executables မှု။

ဒီ option ကလက်ရှိအချိန်တွင်သာ elf ပလက်ဖောင်းပေါ်ထောက်ခံသည်။

-r

--relocateable

relocatable output ကို Generate --- ဆိုလိုသည်မှာအလှည့်အတွက် ld မှ input ကိုအဖြစ်အစေခံနိုငျကွောငျးတခု output ကိုဖိုင်ကို generate ။ ဤသည်ကိုမကြာခဏတစ်စိတ်တစ်ပိုင်းဆက်သွယ်ရေးဟုခေါ်သည်။ တစ်ဦးဘေးထွက်ဆိုးကျိုးအဖြစ်, စံ Unix ကမှော်ဂဏန်းကိုထောက်ပံ့သော enviroments မှာ, ဒီ option ကိုလည်း "OMAGIC" ကိုက output file ကိုဖွင့်မှော်အရေအတွက်ကိုသတ်မှတ်။ ဒီ option ကိုမသတ်မှတ်ရသေးပါလျှင်တစ်ဦးအကြွင်းမဲ့အာဏာ file ကိုထုတ်လုပ်ခဲ့သည်။ C ++ အစီအစဉ်များကိုချိတ်ဆက်သောအခါ, ဤ option ကိုတည်ဆောက်နိုင်ဖို့ကိုးကားဖြေရှင်းမပေးတော်မူမည် ကြောင်းလုပ်ဖို့, -Ur ကိုအသုံးပြုပါ။

တစ်ဦး input ကိုဖိုင်က output file ကိုကဲ့သို့တူညီသောပုံစံရှိသည်ပါဘူးသောအခါ input ကိုဖိုင်ကိုမဆိုနေရာရွှေ့ပြောင်းဆံ့မပါဘူးဆိုရင်, တစ်စိတ်တစ်ပိုင်းဆက်သွယ်ရေးသာထောက်ခံနေသည်။ ကွဲပြားခြားနားသော output ကိုကို formats ထပ်မံကန့်သတ်ခြင်းရှိသည် ဖြစ်. , ဥပမာတချို့ကို "a.out" -based ကို formats အားလုံးမှာအခြားပုံစံ input ကိုဖိုင်တွေနဲ့အတူတစ်စိတ်တစ်ပိုင်းချိတ်ဆက်ခြင်းအားပံ့ပိုးကြပါဘူး။

ဒီ option -i ကဲ့သို့တူညီသောအရာပါပဲ။

-r ဖိုင်အမည်

--just-သင်္ကေတ = ဖိုင်အမည်

သင်္ကေတအမည်များနှင့်ဖိုင်အမည်ကနေသူတို့ရဲ့လိပ်စာများကိုဖတ်ပါ, သို့သော်ပြောင်းရွှေ့ဒါမှမဟုတ် output ကိုထဲမှာမပါဝင်ပါဘူး။ ဒါဟာသင့်ရဲ့ output ကိုဖိုင်ကအခြားအစီအစဉ်များအတွက်သတ်မှတ်မှတ်ဉာဏ်၏အကြွင်းမဲ့အာဏာနေရာများမှပုံဆောင်သဘောအရရည်ညွှန်းရန်ခွင့်ပြုသည်။ သင်ပိုမိုတစ်ကြိမ်ထက်ဒီ option ကိုသုံးနိုင်ပါသည်။

-r option ကိုတစ်ဦး directory ကိုအမည်, ထက်ဖိုင်တစ်ဖိုင်နာမည်ဖြင့်နောက်တော်သို့လိုက်လျှင်အခြားအ elf linkers နှင့်အတူလိုက်ဖက်မှုအဘို့, က -rpath option ကိုအဖြစ်ကုသနေပါတယ်။

-s

--strip-အားလုံး

က output file ကိုကနေအားလုံးသင်္ကေတသတင်းအချက်အလက်ချန်လှပ်။

-s

--strip-ဒီဘာဂ်

က output file ကိုထံမှ debugger သင်္ကေတသတင်းအချက်အလက် (သို့သော်အားလုံးမဟုတ်သင်္ကေတ) ချန်လှပ်။

-t

--trace

ld သူတို့ကို process လုပ်တယ်အဖြစ် input ကိုဖိုင်တွေများ၏အမည်များ Print ။

-T scriptfile

--script = scriptfile

အဆိုပါ linker script အဖြစ် scriptfile ကိုသုံးပါ။ ဤသည်ဇာတ်ညွှန်း (အစားကဖြည့်စွက်ခြင်းထက်) ld 's default အ linker script ကိုအစားထိုးဒါ commandfile က output file ကိုဖော်ပြရန်လိုအပ်သောအရာအားလုံးကိုသတ်မှတ်ရမည်ဖြစ်သည်။ scriptfile လက်ရှိ directory ထဲတွင်တည်ရှိမပါဘူးဆိုရင်, "ld" ဆိုရှေ့ -L ရွေးချယ်စရာများကသတ်မှတ်ထားသော directory များတွင်ထိုသို့ကြည့်ရှုသည်။ အကွိမျမြားစှာ -T options များစုပြုံ။

-u သင်္ကေတ

--undefined = သင်္ကေတ

တစ်ဦး undefined သင်္ကေတအဖြစ် output ကိုဖိုင်ကိုဝင်ခံရဖို့သင်္ကေတကိုအတင်း။ စံစာကြည့်တိုက်များကနေနောက်ထပ်၎င်း module ဥပမာ, ခလုတ်ဆက်သွယ်ရေးဒီခွေငျးငှါလုပ်နေတာ။ -u နောက်ထပ် undefined သင်္ကေတများရိုက်ထည့်ရန်ကွဲပြားခြားနားသော option ကိုအငြင်းပွားမှုများနှင့်အတူထပ်ခါတလဲလဲနိုင်ပါသည်။ ဒီ option က "ပြင်ပ" linker script ကို command ကိုမှညီမျှသည်။

-Ur

C ++ အစီအစဉ်များထက်အခြားဘာမှအဘို့, ဤ option ကို -r ညီမျှသည်: က relocatable output ကိုထုတ်ပေး --- အလှည့်အတွက် ld မှ input ကိုအဖြစ်အစေခံနိုငျကွောငျးဆိုလိုသည်မှာတစ်ဦးက output file ကို။ C ++ အစီအစဉ်များကိုချိတ်ဆက်သောအခါ, -Ur -r မတူဘဲတည်ဆောက်မှကိုးကားဖြေရှင်းပါဘူး။ ဒါဟာသူတို့ကိုယ်သူတို့ -Ur နှင့်အတူဆက်နွယ်နေခဲ့ဖိုင်တွေအပေါ် -Ur သုံးစွဲဖို့အလုပ်မလုပ်ပါဘူး, အဆိုပါလုပ်ငန်းခွင်စားပွဲပေါ်မှာ built ထားပြီးတခါ, ကထည့်သွင်းမရပါ။ ကိုသာနောက်ဆုံးတစ်စိတ်တစ်ပိုင်း link ကိုများအတွက် -Ur သုံးပါနှင့်, တခြားသူတွေကို -r

--unique [= အပိုင်း]

တိုင်းမိဘမဲ့ input ကိုအပိုင်းများအတွက်, တိုင်း input ကိုအပိုင်းကိုက်ညီခြင်းအပိုင်းများအတွက်သီးခြား output ကိုအပိုင်းတွေဖန်တီးလိုက်တဲ့ဒါမှမဟုတ် optional ကိုသံခိတ်အပိုင်းအငြင်းအခုံပျောက်ဆုံးလျှင်။ တစ်ခုကမိဘမဲ့အပိုင်းအထူးသတဲ့ linker ဇာတ်ညွှန်းထဲမှာဖော်ပြခဲ့တဲ့မဟုတ်တဦးတည်းဖြစ်၏။ သင်က command line ကိုပေါ်မှာဤ option ကိုအကြိမ်ပေါင်းများစွာသုံးနိုင်ပါသည်; ဒါဟာ linker ဇာတ်ညွှန်းထဲမှာ output ကိုအပိုင်းတာဝန်တွေ၎င်းအား, အမည်တူနှင့်အတူ input ကိုအပိုင်း၏ပုံမှန်ပေါင်းစည်းမှုကာကွယ်ပေးသည်။

-v

--version

-V

ld များအတွက်ဗားရှင်းနံပါတ်ဖော်ပြရန်။ အဆိုပါ -V option ကိုလည်းထောက်ခံ emulator စာရင်းပြုလုပ်ထားသည်။

-x

--discard-အားလုံး

အားလုံးဒေသခံသင်္ကေတကိုဖျက်မည်။

-X

--discard-ဒေသခံများ

အားလုံးယာယီဒေသခံသင်္ကေတကိုဖျက်မည်။ အများဆုံးပစ်မှတ်များအတွက်, ဒီအဘယ်သူ၏အမည်များကို L ကိုနဲ့စတင်အားလုံးဒေသခံသင်္ကေတဖြစ်ပါတယ်။

-y သင်္ကေတ

--trace-သင်္ကေတ = သင်္ကေတ

သင်္ကေတပုံပေါ်သောအသီးအသီးနှင့်ဆက်စပ်ဖိုင်၏အမည် Print ။ ဒီ option ကအဆမဆိုအရေအတွက်ကပေးထားနိုင်ပါသည်။ အများအပြားစနစ်များတွင်တစ်ခု underscore prepend ရန်လိုအပ်ပေသည်။

သင်သည်သင်၏ link ကိုတစ်ခု undefined သင်္ကေတများပေမယ့်ရည်ညွှန်းမှလာသည်အဘယ်မှာရှိမသိရပါဘူးတဲ့အခါမှာဒီ option ကအသုံးဝင်ပါတယ်။

-Y လမ်းကြောင်းကို

ကို default စာကြည့်တိုက်ရှာဖွေရေးလမ်းကြောင်းကိုမှလမ်းကြောင်းကိုထည့်ပါ။ ဒီ option က Solaris လိုက်ဖက်တဲ့အဘို့တည်ရှိကြောင်း။

-z keyword ကို

အဆိုပါအသိအမှတ်ပြုသော့ချက်စာလုံးများ, "initfirst" "interpose", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "ယခု", "ဇာစ်မြစ်", "combreloc", "nocombreloc" နှင့် "nocopyreloc များမှာ "။ အခြားသော့ချက်စာလုံးများ Solaris လိုက်ဖက်တဲ့အဘို့လျစ်လျူရှုနေကြပါတယ်။ "initfirst" အခြားမည်သည့်အရာဝတ္ထုမတိုင်မီ runtime မှာပထမဦးဆုံးစတင်ဖို့ဖို့အရာဝတ္ထုခြေတစ်လှမ်းရခဲ့သည်။ "interpose" က၎င်း၏သင်္ကေတစားပွဲပေါ်မှာအားလုံးသင်္ကေတများမတိုင်မီ interposes သောအရာဝတ္ထုပေမယ့်မူလတန်းက executable ခြေတစ်လှမ်းရခဲ့သည်။ "loadfltr" က၎င်း၏ filtees runtime မှာချက်ချင်းလုပ်ငန်းများ၌ခံရသောအရာဝတ္ထုခြေတစ်လှမ်းရခဲ့သည်။ "nodefaultlib" ဒီအရာဝတ္ထု၏မှီခိုဘို့အရှာဖွေရေးလျစ်လျူရှုလတံ့သောအရာဝတ္တုခြေတစ်လှမ်း ကိုမဆို default အနေနဲ့စာကြည့်တိုက်ရှာဖွေရေးလမ်းခရီး။ "nodelete" ဟုအဆိုပါအရာဝတ္ထု runtime မှာမြေပေါ်သို့ချခြင်းကိုမပြုလုပ်သင့်ခြေတစ်လှမ်းရခဲ့သည်။ "nodlopen" "dlopen" ကိုရရှိနိုင်မအရာဝတ္ထုခြေတစ်လှမ်းရခဲ့သည်။ "nodump" ဟုအဆိုပါအရာဝတ္ထု "dldump" ကစွန့်ပစ်မရနိုငျခြေတစ်လှမ်းရခဲ့သည်။ "ယခု" ကိုစညျး non-ပျင်းရိ runtime ကအတူအရာဝတ္ထုခြေတစ်လှမ်းရခဲ့သည်။ "ဇာစ်မြစ်" ဟုအဆိုပါအရာဝတ္ထု $ နေရင်းပါဝင်နိုင်ခြေတစ်လှမ်းရခဲ့သည်။ "defs" undefined သင်္ကေတများ disallows ။ "muldefs" မျိုးစုံအဓိပ္ပာယ်ခွင့်ပြုပါတယ်။ "combreloc" မျိုးစုံနေရာပြောင်းရွှေ့ကဏ္ဍများကိုပေါင်းစပ်ခြင်းနှင့်ဖြစ်နိုင်သမျှပြောင်းလဲနေသောသင်္ကေတ lookup ပြုလုပ်နေယာယီသိမ်းဆည်းစေခြင်းငှါသူတို့ sorts ။

"nocombreloc" ပေါင်းစပ်ပြီးမျိုးစုံနေရာပြောင်းရွှေ့ကဏ္ဍများကိုပိတ်။ "nocopyreloc" မိတ္တူနေရာပြောင်းရွှေ့ထုတ်လုပ်မှုကိုပိတ်ထား။

- (မော်ကွန်းတိုက် -)

--start-အုပ်စုသည်မော်ကွန်းတိုက် --end-အုပ်စုတစ်စု

အဆိုပါမော်ကွန်းတိုက်များစာရင်းကိုဖြစ်သင့် archive ကိုဖိုင်များကို ။ သူတို့ဟာအကဲဆတ်သောဖိုင်အမည်များ, ဒါမှမဟုတ် -l ရွေးချယ်စရာတစ်ခုခုကိုဖြစ်နိုင်သည်။

အဘယ်သူမျှမသစ်ကို undefined ကိုးကားဖန်တီးနေကြသည်သည်အထိသတ်မှတ်ထားသောမော်ကွန်းတိုက်ထပ်တလဲလဲကိုရှာဖွေနေကြပါတယ်။ ပုံမှန်အားဖြင့်တစ်ဦး archive ကိုက command line ကိုအပေါ်သတ်မှတ်ထားသောသောနိုင်ရန်အတွက်တစ်ခါသာကိုရှာဖွေနေပါတယ်။ ကြောင်း archive ကိုတစ်ဦးသင်္ကေတက command line ပေါ်နောက်ပိုင်းမှာပေါ်လာတစ်ခု archive ကိုတစ်ခုအရာဝတ္ထုအားဖြင့်ရည်ညွှန်းကာ undefined သင်္ကေတဖြေရှင်းရန်လိုအပ်လျှင်, linker ကြောင်းရည်ညွှန်းဖြေရှင်းနိုင်တော့မည်မဟုတ်ပေ။ အားလုံးတတ်နိုင်သမျှကိုးကားဖြေရှင်းကြသည်အထိမော်ကွန်းတိုက်အုပ်စုဖွဲ့ခြင်းအားဖြင့်, ထိုလူအပေါင်းတို့သည်ထပ်တလဲလဲကိုရှာဖွေရမည်။

ဒီ option ကိုအသုံးပြုပြီးသိသိသာသာစွမ်းဆောင်ရည်ကုန်ကျစရိတ်ရှိပါတယ်။ ဒါဟာနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောမော်ကွန်းတိုက်များအကြားလွှဲမရှောင်သာမြို့ပတ်ရထားကိုးကားရှိပါတယ်တဲ့အခါမှသာအသုံးပြုသည်အကောင်းဆုံးဖြစ်သည်။

--accept-မသိသော-input ကို-arch

--no-accept-မသိသော-input ကို-arch

အဘယ်သူ၏ဗိသုကာအသိအမှတ်ပြုမရနိုငျ input ကိုဖိုင်တွေကိုလက်မခံဖို့ linker ပြောပြသည်။ အဆိုပါယူဆချက်အသုံးပြုသူသူတို့ဘာလုပ်နေတယ်ဆိုတာကိုသိတယ်နဲ့တမင်တကာသည်ဤအမည်မသိ input ကိုဖိုင်ချိတ်ဆက်ရန်ဆန္ဒရှိသောကွောငျ့ဖွစျသညျ။ ဤသည်လွှတ်ပေးရန် 2,14 မှီ, linker ၏ default အမူအကျင့်ခဲ့သည်။ နောက်ပိုင်းတွင်လွှတ်ပေးရန် 2,14 ကနေ default အနေနဲ့အပြုအမူထိုကဲ့သို့သော input ကိုဖိုင်တွေငြင်းပယ်ရန်ဖြစ်တယ်, ဒါကြောင့် --accept-မသိသော-input ကို-မဟာ option ကိုအဟောင်းကိုအပြုအမူ restore မှထည့်ထားပြီးပါပြီ။

-assert keyword ကို

ဒီ option များအတွက်လျစ်လျူရှုဖြစ်ပါတယ် SunOS လိုက်ဖက်တဲ့

-Bdynamic

-dy

-call_shared

ပြောင်းလဲနေသောစာကြည့်တိုက်များဆန့်ကျင် Link ကို။ ဒီအရာများအတွက်ပလက်ဖောင်းများပေါ်တွင်သာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ် shared စာကြည့်တိုက် ထောက်ခံနေကြသည်။ ဒီ option ကပုံမှန်အားဖြင့်ထိုကဲ့သို့သောပလက်ဖောင်းပေါ်က default ဖြစ်ပါတယ်။ ဒီ option ၏ကွဲပြားခြားနားသောမျိုးကွဲအမျိုးမျိုးသောစနစ်များနှင့်အတူလိုက်ဖက်မှုအဘို့ဖြစ်ကြ၏။ သင်က command line ကိုပေါ်မှာဤ option ကိုအကြိမ်ပေါင်းများစွာသုံးနိုင်ပါသည်: အဲဒါကိုအတိုင်းလိုက်နာထားတဲ့ -l options များရှာဖွေနေစာကြည့်တိုက်သက်ရောက်သည်။

-Bgroup

အဆိုပါပြောင်းလဲနေသောအပိုင်းရှိ "DT_FLAGS_1" entry ကိုရှိ "DF_1_GROUP" အလံသတ်မှတ်မည်။ ဒါက runtime က linker သာအုပ်စုအတွင်း၌ဖျော်ဖြေခံရဖို့ကဒီအရာဝတ္တုထဲမှာ lookups များကိုလည်းနှင့်၎င်း၏မှီခိုကိုင်တွယ်ရန်ကိုဖြစ်ပေါ်စေသည်။ --no-undefined ဆိုလိုခြင်းဖြစ်သည်။ ဒီ option ကိုထောကျပံ့ပေးသော elf ပလက်ဖောင်းများပေါ်တွင်သာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ် shared စာကြည့်တိုက်

-Bstatic

-dn

-non_shared

-static

shared စာကြည့်တိုက်များဆန့်ကျင်လင့်ထားသည်မထားပါနဲ့။ ဤသည် shared စာကြည့်တိုက်များထောက်ပံ့ထားတဲ့များအတွက်ပလက်ဖောင်းများပေါ်တွင်သာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။ ဒီ option ၏ကွဲပြားခြားနားသောမျိုးကွဲအမျိုးမျိုးသောစနစ်များနှင့်အတူလိုက်ဖက်မှုအဘို့ဖြစ်ကြ၏။ သင်က command line ကိုပေါ်မှာဤ option ကိုအကြိမ်ပေါင်းများစွာသုံးနိုင်ပါသည်: အဲဒါကိုအတိုင်းလိုက်နာထားတဲ့ -l options များရှာဖွေနေစာကြည့်တိုက်သက်ရောက်သည်။

-Bsymbolic

တစ်ဦး shared စာကြည့်တိုက်ဖန်တီးသောအခါရှိလျှင်, ထို shared စာကြည့်တိုက်အတွင်းနှင့်အဓိပ္ပါယ်မှကမ္ဘာလုံးဆိုင်ရာသင်္ကေတမှကိုးကားခညျြနှောငျ။ တစ်ဦး shared စာကြည့်တိုက်ဆန့်ကျင်နဲ့ဆက်နွယ်နေတဲ့အစီအစဉ် shared စာကြည့်တိုက်အတွင်းနှင့်အဓိပ္ပါယ်ပယ်ဖျက်ဖို့အတှကျပုံမှန်အားဖြင့်, ကဖြစ်နိုင်ပါတယ်။ ဒီ option shared စာကြည့်တိုက်ကိုထောကျပံ့ပေးသော ELFplatforms သာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။

--check-ကဏ္ဍများ

--no-check-ကဏ္ဍများ

သူတို့အဲဒီမှာပါလျှင်မည်သည့်ထပ်နေကြည့်ဖို့တာဝန်ပေးခဲ့ကြပြီးနောက်အပိုင်းလိပ်စာများကိုစစျဆေးဖို့မ linker ကမေးတယ်။ ပုံမှန်အားဖြင့်အဆိုပါ linker ဒီစစ်ဆေးမှုများလုပ်ဆောင်ပါလိမ့်မယ်, ထိုသို့မဆိုထပ်တွေ့လျှင်သင့်လျော်သောအမှားမက်ဆေ့ခ်ျများထုတ်လုပ်ရန်ပါလိမ့်မယ်။ အဆိုပါ linker အကြောင်းကိုသိကြပေနှင့်ထပ်အတွက်ကဏ္ဍများဘို့စရိတ်စေပါဘူး။ ကို default အပြုအမူ --check-အပိုင်းက command line switch ကို အသုံးပြု. ပွနျလညျထူထောငျနိုငျသညျ။

--cref

output ဟာလက်ဝါးကပ်တိုင်ကိုကိုးကားစားပွဲပေါ်မှာ။ တစ်ဦး linker မြေပုံဖိုင်တစ်ခုထုတ်ပေးလျက်ရှိသည်လျှင်, လက်ဝါးကပ်တိုင်ကိုကိုးကားစားပွဲပေါ်မှာမြေပုံဖိုင်ပုံနှိပ်ဖြစ်ပါတယ်။ ဒီလိုမှမဟုတ်ရင်ကစံ output ကိုအပေါ်ပုံနှိပ်ဖြစ်ပါတယ်။

လိုအပ်ခဲ့လျှင်ကြောင့်အလွယ်တကူဇာတ်ညွှန်းအားဖြင့်လုပ်ငန်းများ၌စေခြင်းငှါဒါစားပွဲ၏ပုံစံ, ရည်ရွယ်ချက်ရှိရှိရိုးရှင်းပါသည်။ အဆိုပါသင်္ကေတများထွက်ပုံနှိပ်နာမတော်ဖြင့်ခွဲခြားပေးသည်။ တစ်ဦးချင်းစီရဲ့သင်္ကေတအဘို့, ဖိုင်အမည်များစာရင်းတစ်ခုပေးထားသည်။ သင်္ကေတသတ်မှတ်လျှင်စာရင်းဝင်ပထမဦးဆုံးဖိုင်အဓိပ္ပါယ်၏တည်နေရာသည်။ ကျန်ရှိနေသေးသောဖိုင်တွေသင်္ကေတမှကိုးကားဆံ့။

--no-သတ်မှတ်-ဘုံ

ဒီ option ကဘုံသင်္ကေတမှလိပ်စာများ၏တာဝနျကိုဖြစ်စဉ်ကိုတားဆီးပေးပါတယ်။ အဆိုပါ script ကို command 'INHIBIT_COMMON_ALLOCATION "တူညီသောအကျိုးသက်ရောက်မှုရှိပါတယ်။

အဆိုပါ --no-သတ်မှတ်-ဘုံ option ကို output ကိုဖိုင်အမျိုးအစားရွေးချယ်မှုကနေအဖြစ်များသည့်သင်္ကေတမှလိပ်စာများကို assign ဖို့ဆုံးဖြတ်ချက် decoupling ခွင့်ပြု; တူညီသည့်အသင်္ကေတမှလိပ်စာများကိုတာဝန်ပေးဖို့မဟုတ်ရင် non-Relocatable output ကိုအမျိုးအစားတပ်ဖွဲ့များ။ --no-သတ်မှတ်-ဘုံအသုံးပြုခြင်းကိုသာအဓိကအစီအစဉ်တွင်လိပ်စာများကိုတာဝန်ပေးအပ်ခံရဖို့တစ်ဦး shared စာကြည့်တိုက်ကနေကိုးကားဖြစ်ကြောင်းဘုံသင်္ကေတများခွင့်ပြုပါတယ်။ ဒါက shared စာကြည့်တိုက်အတွက်အသုံးမပြုတဲ့ပုံတူအာကာသဖယ်ရှားနှင့်လည်း runtime ကသင်္ကေတ resolution ကိုများအတွက်အထူးပြုရှာဖွေရေးလမ်းကြောင်းနှင့်အတူအများအပြားပြောင်းလဲနေသော module တွေရှိပါတယ်သည့်အခါမှားထပ်မှဖြေရှင်းကျော်မဆိုဖြစ်နိုင်သောစိတ်ရှုပ်ထွေးမှုများကာကွယ်ပေးသည်။

--defsym သင်္ကေတ = စကားရပ်

စကားရပ်များကပေးသောအကြွင်းမဲ့အာဏာလိပ်စာ်, က output file မှာကမ္ဘာလုံးဆိုင်ရာသင်္ကေတကိုဖန်တီးပါ။ သင်က command line ကိုအတွက်မျိုးစုံသင်္ကေတများသတ်မှတ်နိုင်ရန်လိုအပ်သောအဖြစ်အကြိမ်ပေါင်းများစွာအဖြစ်ဒီ option ကိုသုံးနိုင်ပါသည်။ ဂဏန်းသင်္ချာ၏ကန့်သတ်ပုံစံဤအခြေအနေတွင်ဟူသောအသုံးအနှုနျးအတှကျအထောကျပံ့တာဖြစ်ပါတယ်: သင်တစ်ဦး hexadecimal စဉ်ဆက်မပြတ်သို့မဟုတ်ရှိပြီးသားသင်္ကေတ၏အမည်ပေး, သို့မဟုတ် "+" ကိုသုံးပါနှင့်ဖြစ်နိုင်သည် - hexadecimal ရုံကလွဲပြီးသို့မဟုတ်သင်္ကေတများထည့်ရန်သို့မဟုတ်နုတ်ဖို့ "" ။ သင်ပိုမိုပီပီအသုံးအနှုန်းတွေလိုအပ်ပါက, ဇာတ်ညွှန်းထဲကနေ linker command ကိုဘာသာစကားသုံးပြီးစဉ်းစားပါ။ မှတ်ချက်: သင်္ကေတများအကြားအဘယ်သူမျှမက white space, အတန်းတူနိမိတ်လက္ခဏာ ( `` = '') နှင့်စကားရပ်ရှိသင့်ပါတယ်။

--demangle [= စတိုင်]

--no-demangle

အဲဒီ options အမှားမက်ဆေ့ခ်ျများနှင့်အခြား output ကိုအတွက်သင်္ကေတအမည်များ demangle ဖို့ရှိမရှိထိန်းချုပ်ထားသည်။ အဆိုပါ linker demangle မှပြောပြသည်အခါ, တကဖတ်လို့လွယ်ဖက်ရှင်အတွက်သင်္ကေတအမည်များကိုတင်ပြဖို့ကြိုးစားပါတယ်: ကသူတို့ကအရာဝတ္ထုဖိုင်ပုံစံကအသုံးပြုလျှင်ဦးဆောင် underscores ဖယျရှားပေးနိုငျပါတယျနှင့်အသုံးပြုသူဖတ်လို့ရအောင်အမည်များသို့ C ++ အစိတ်အပိုင်းများသင်္ကေတအမည်များကိုပြောင်းပေးပါတယ်။ ကွဲပြားခြားနားသော compiler နဲ့ကွဲပြားခြားနားသောအစိတ်အပိုင်းများစတိုင်များရှိသည်။ အဆိုပါ optional ကို demangling စတိုင်အငြင်းအခုံသင့်ရဲ့ compiler ကိုသင့်လျော်တဲ့ demangling စတိုင်ကိုရှေးခယျြဖို့အသုံးပြုနိုင်ပါသည်။ ပတ်ဝန်းကျင် variable ကို COLLECT_NO_DEMANGLE သတ်မှတ်မဟုတ်လျှင်အဆိုပါ linker default အနေဖြင့် demangle ပါလိမ့်မယ်။ အဲဒီ options ကို default override ဖို့အသုံးပြုနိုင်ပါသည်။

--dynamic-linker ဖိုင်

အဆိုပါပြောင်းလဲနေသော linker ၏အမည်သတ်မှတ်မည်။ သည် dynamically နှင့်ဆက်စပ် elf executables ထုတ်လုပ်တဲ့အခါဒီသာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။ ကို default ပြောင်းလဲနေသော linker ပုံမှန်အားဖြင့်မှန်ကန်; သင်ဘာလုပ်နေတယ်ဆိုတာကိုသိကြမဟုတ်လျှင်ဒီကိုမသုံးကြဘူး။

--embedded-နေရာပြောင်းရွှေ့

သည် GNU compiler များနှင့်စည်းဝေးဖို့ -membedded-pic ကို option ကိုတို့ကနေထုတ်လုပ်လိုက်တဲ့ MIPS embedded PIC ကုဒ်, ချိတ်ဆက်တဲ့အခါဒီ option ကိုသာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။ ဒါဟာ linker statically pointer တန်ဖိုးများနခဲ့သည့်မည်သည့် data ကိုပြောင်းရွှေ့ဖို့ runtime မှာအသုံးပွုနိုငျသောစားပွဲပေါ်မှာကိုဖန်တီးရန်ကိုဖြစ်ပေါ်စေသည်။ testsuite / ld-empic အသေးစိတ်အတွက်ကုဒ်ကိုကြည့်ပါ။

--fatal-သတိပေးချက်များ

အဖြစ်အားလုံးသတိပေးချက်များပြုမူဆက်ဆံ အမှားအယွင်းများ

--force-exe-နောက်ဆက်

တစ်ဦးကို output file ကိုတစ်ဦး .exe နောက်ဆက်ရှိကြောင်းသေချာအောင်လုပ်ပါ။

တစ်ဦးကိုအောင်မြင်စွာတည်ဆောက်ထားအပြည့်အဝနှင့်ဆက်စပ် output ကိုဖိုင်တစ်ဦး "။ ရှိသည်မဟုတ်ပါဘူးဆိုရင် exe " သို့မဟုတ် " .dll " နောက်ဆက်, ဤ option မှာ ".exe" နောက်ဆက်နှင့်အတူအမည်တူတက output file ကို copy ဖို့ linker တွန်းအားပေးသည်။ ပြုပြင်မထားတဲ့တွေကိုအသုံးပြုတဲ့အခါဒီ option ကအသုံးဝင်သည် Unix makefiles အချို့ဗားရှင်းကတည်းကတစ်ဦးကို Microsoft Windows အိမ်ရှင်အပေါ် ကို Windows က ".exe" နောက်ဆက်အတွက်အဆုံးသတ်မဟုတ်လျှင်ပုံတစ်ပုံကို run လိမ့်မည်မဟုတ်ပါ။

--no-gc-ကဏ္ဍများ

--gc-ကဏ္ဍများ

အသုံးမပြုတဲ့ input ကိုအပိုင်းများအမှိုက်သရိုက်အစုအဝေး Enable လုပ်ထားပါ။ ဒါဟာဒီ option ကိုထောကျပံ့မပစ်မှတ်အပေါ်လျစ်လျူရှုနေပါတယ်။ ဒီ option -r နှင့်သဟဇာတမဖြစ်, မက Dynamic Link ကိုနှင့်အတူအသုံးပြုသင့်ပါသည်။ (ဒီဖျော်ဖြေမကို default အပြုအမူ အမှိုက်သရိုက်အစုအဝေး ) ကို command line ကိုအပေါ် --no-gc-ကဏ္ဍများကိုသတ်မှတ်ခြင်းအားဖြင့်ပွနျလညျထူထောငျနိုငျသညျ။

--ကူညီပါ

စံထုတ်လုပ်မှုနှင့်ထွက်ပေါက်အပေါ် command-line ရွေးချယ်စရာတစ်ခုအကျဉ်းချုပ် Print ။

--target-အကူအညီနဲ့

စံထုတ်လုပ်မှုနှင့်ထွက်ပေါက်ပေါ်မှာရှိသမျှပစ်မှတ်တိကျသောရွေးချယ်စရာတစ်ခုအကျဉ်းချုပ် Print ။

-Map mapfile

ဖိုင်ကို mapfile မှ link တစ်ခုမြေပုံ Print ။ အထက်, အ -M option ကို၏ဖော်ပြချက်တွင်ကြည့်ပါ။

--no-စောင့်ရှောက်-မှတ်ဉာဏ်

ld ပုံမှန်အားဖြင့်ကျော်မြန်နှုန်းများအတွက်ပိုမိုကောင်းမွန်စေ မှတ်ဥာဏ် မှတ်ဉာဏ်ထဲမှာ input ကိုဖိုင်တွေရဲ့သင်္ကေတကျောက်ပြားကိုသိမ်းဆည်းထားသောအသုံးပြုမှု။ ဒီ option အစားအဖြစ်လိုအပ်သောသင်္ကေတကျောက်ပြားကို rereading အသုံးပြုပုံမှတ်ဉာဏ်အသုံးပြုမှုများအတွက်ပိုကောင်းအောင် ld ပြောပြသည်။ ကြီးမားတဲ့ဟာ executable ချိတ်ဆက်နေချိန်မှာ ld memory space ကိုများထဲကပြေးလျှင်ဒီလိုအပ်သောနိုင်ပါသည်။

--no-undefined

-z defs

non-သင်္ကေတ shared စာကြည့်တိုက်ဖန်တီးသောအခါပုံမှန်အားဖြင့် undefined သင်္ကေတများခွင့်ပြုခဲ့ခြင်းနှင့် runtime က loader ကိုအားဖြင့်ဖြေရှင်းခံရဖို့ထွက်ခွာသွားကြပါတယ်။ အဲဒီ options ထိုကဲ့သို့သော undefined သင်္ကေတများ disallows ။

--allow-မျိုးစုံ-ချက်နှင့်အဓိပ္ပါယ်

-z muldefs

သင်္ကေတမျိုးစုံကြိမ်သတ်မှတ်အခါပုံမှန်အားဖြင့်, အ linker ဖြစ်တဲ့ Fatal error သတင်းပို့ပါလိမ့်မယ်။ အဲဒီ options မျိုးစုံအဓိပ္ပာယ်နှင့်ပထမဦးဆုံးချက်နှင့်အဓိပ္ပါယ်အသုံးပြုပါလိမ့်မည်ခွင့်ပြုပါ။

--allow-shlib-undefined

--no-undefined သတ်မှတ်လျှင်ပင် shared တ္ထုထဲမှာ undefined သင်္ကေတများ Allow ။ အဆိုပါအသားတင်ရလဒ်ပုံမှန်အရာဝတ္ထုများတွင် undefined သင်္ကေတများနေဆဲမှားယွင်းမှုတစ်ခုဖြစ်ပေါ်လိမ့်မည်ဟုဖြစ်လိမ့်မယ်, ဒါပေမဲ့ shared တ္ထုထဲမှာ undefined သင်္ကေတများလျစ်လျူရှုခံရပါလိမ့်မယ်။ no_undefined များ၏အကောင်အထည်ဖော်မှုဟာ runtime က linker undefined သင်္ကေတများပေါ်သီးလတံ့သောယူဆချက်ကိုမှန်ကန်စေသည်။ သို့သော် kernel ကိုလက်ရှိဗိသုကာများအတွက်အသင့်လျော်ဆုံးဖြစ်သည့် function ကိုရွေးဖို့ဝန်အချိန်မှာသူတို့ကို patches ကတည်းက shared စာကြည့်တိုက်အတွက် undefined သင်္ကေတများပုံမှန်ရှိရာအနည်းဆုံးစနစ် (BeOS) လည်းမရှိ။ IE ကိုသည် dynamically သင့်လျော်တဲ့ memset function ကို select လုပ်ပါ။ သည်မှာက HPPA undefined သင်္ကေတများရှိသည်ဖို့စာကြည့်တိုက် shared အဘို့လည်းပုံမှန်ပါပဲ။

--no-undefined-ဗားရှင်း

သင်္ကေတတစ်ခု undefined ဗားရှင်းရှိပါတယ်သည့်အခါပုံမှန်အားဖြင့်, အ linker ကလျစ်လျူရှုပါလိမ့်မယ်။ ဒီ option undefined ဗားရှင်းနဲ့ဖြစ်တဲ့ Fatal error တွေနဲ့သင်္ကေတအစားထုတ်ပေးပါလိမ့်မည် disallows ။

--no-သတိပေး-မတိုက်ဆိုင်

သင်သည်သူတို့ကွဲပြားခြားနားသောပရိုဆက်ဆာအဘို့ဒါမှမဟုတ်ကွဲပြားခြားနားသော endiannesses များအတွက်ပြုစုခဲ့ကြဖြစ်ကောင်းကြောင့်၎င်း, အချို့အကြောင်းပြချက်မတိုက်ဆိုင်ဖြစ်ကြောင်း input ကိုဖိုင်တွေအတူတကွလင့်ထားသည်ဖို့ကြိုးစားလျှင်ပုံမှန်အားဖြင့် ld မှားယွင်းမှုတစ်ခုပေးပါလိမ့်မယ်။ ဒီ option ကတိတ်တဆိတ်ထိုကဲ့သို့သောဖြစ်နိုင်သောအမှားများကိုခွင့်ပြုသင့်ကြောင်း ld ပြောပြသည်။ ဒီ option ကသာသင် linker အမှားများကိုမသင့်လျော်ဖြစ်ကြောင်းသေချာအချို့အထူးအရေးယူမှု တိုက်. အောင်သောအခါကိစ္စများတွင်, စောင့်ရှောက်မှုနှင့်အတူအသုံးပြုသင့်ပါသည်။

--no-လုံး archive ကို

နောက်ဆက်တွဲ archive ကိုဖိုင်တွေများအတွက် --whole-archive ကို option ကို၏အကျိုးသက်ရောက်မှုကိုပိတ်ထားပါ။

--noinhibit-အမှုဆောင်အရာရှိ

ဒါဟာနေဆဲအသုံးဝင်သောဖြစ်ပါတယ်အခါတိုင်း၎င်းဟာ executable output ကိုဖိုင်ကိုဆက်လက်ထိန်းသိမ်းရန်။ က link ကိုလုပ်ငန်းစဉ်အတွင်းအမှားများကိုရင်ဆိုင်မယ်ဆိုရင်ပုံမှန်အားဖြင့်, အ linker တစ်ခု output ကိုဖိုင်ကိုထုတ်လုပ်မည်မဟုတ်; အဲဒါကိုသမျှမည်သည့်အမှားထုတ်ဝေသည့်အခါတစ်ဦးကို output file ကိုရေးသားခြင်းမရှိဘဲပိတ်သွားစေသည်။

-nostdlib

သာအတိအလင်းက command line ပေါ်တွင်သတ်မှတ်ထားသောစာကြည့်တိုက် directory များရှာဖွေ။ (ထို command line ကိုအပေါ်သတ်မှတ်ထားသော linker script များအပါအဝင်) linker script များအတွက်သတ်မှတ်ထားသောစာကြည့်တိုက် directory များလျစ်လျူရှုနေကြပါတယ်။

--oformat output ကို-format နဲ့

ld အရာဝတ္ထုဖိုင်တစ်ခုထက် ပို. ကြင်နာကူညီပံ့ပိုးရန် configured နိုင်ပါသည်။ သင့်ရဲ့ ld ဤနည်း configured လျှင်, သင် output ကိုအရာဝတ္ထုဖိုင်အတွက်ဒွိ format ကိုသတ်မှတ်ပေးရန် --oformat option ကိုသုံးနိုင်သည်။ ld အခြားရွေးချယ်စရာအရာဝတ္ထုကို formats ကိုထောကျပံ့ဖို့ပြင်ဆင်ပြီးဖြစ်ပါသည်တောင်မှအခါ, သငျသညျအများအားဖြင့် ld တစ်ဦးက default output ကို format နဲ့အဖြစ်ချင်းစီ machine ပေါ်တွင်အများဆုံးပုံမှန်အတိုင်း format ကိုထုတ်လုပ်ကာပြုပြင်သင့်ပါတယ်အဖြစ်, ဒီသတ်မှတ်ဖို့မလိုအပ်ပါဘူး။ output ကို-format နဲ့စာသား string ကို, အ BFD စာကြည့်တိုက်များကထောက်ခံနေတဲ့အထူးသဖြင့် format ရဲ့နာမည်ဖြစ်ပါတယ်။ (သင် objdump -i အတူရရှိနိုင်ပါသည် binary ကို formats စာရင်းပြုစုနိုင်ပါတယ်။ ) အဆိုပါ script ကို command 'OUTPUT_FORMAT "ကိုလည်း output ကို format ကိုသတ်မှတ်နိုင်ပေမယ့်ဒီ option ကပြောင်းလဲသတ်မှတ်လိုက်သည်။

-qmagic

ဒီ option က Linux ကိုလိုက်ဖက်မှုအတှကျလစျြလြူရှုနေသည်။

-Qy

ဒီ option SVR4 Compatibility ကိုလျစ်လျူရှုနေပါတယ်။

--သက်တောင့်သက်သာနေပါ

စက်မှီခိုသက်ရောက်မှုနှင့်အတူတစ်ဦး option ကို။ ဒီ option ကသာအနည်းငယ်ပစ်မှတ်အပေါ်ထောက်ခံသည်။

အချို့ပလက်ဖောင်းတွင် --relax option ကို linker ထိုကဲ့သို့သောလိပ်စာ Modes သာလျှော့ပေါ့ခြင်းနှင့် output ကိုအရာဝတ္ထုဖိုင်ထဲမှာအသစ်ကညွှန်ကြားချက် synthesizing သကဲ့သို့, အစီအစဉ်တွင် addressing ကိုဖြေရှင်းတဲ့အခါမှာဖြစ်နိုင်သမျှဖြစ်လာကြောင်းကမ္ဘာလုံးဆိုင်ရာပိုမိုကောင်းမွန်ရေးကိုလုပ်ဆောင်တယ်။

အချို့ပလက်ဖောင်းတွင်သောဤ link ကိုအချိန်ကမ္ဘာလုံးဆိုင်ရာပိုမိုကောင်းမွန်ရေးသင်္ကေတစေ ဒီဘာဂင် မဖြစ်နိုင်တဲ့ရလဒ်က executable ၏။ ဤသည်ပရိုဆက်ဆာများ၏ Matsushita MN10200and MN10300 မိသားစုများအတွက်အမှုဖြစ်လူသိများသည်။

ဒီကိုမထောက်ပံ့ပါ, --relax လက်ခံသည်, ဒါပေမယ့်လျစ်လျူရှုရှိရာပလက်ဖောင်းတွင်။

--retain-သင်္ကေတများ-file ကိုဖိုင်အမည်

အားလုံးအခြားသူများကိုပယ်, ဖိုင်ကိုဖိုင်အမည်စာရင်းတွင်သာအသင်္ကေတကိုဆက်လက်ထိန်းသိမ်းရန်။ ဖိုင်အမည်လိုင်းနှုန်းတဦးတည်းရဲ့သင်္ကေတအမည်, ရိုးရှင်းစွာတစ်ဦးပြားချပ်ချပ်ဖိုင်ဖြစ်ပါသည်။ ဒီ option ကကြီးမားတဲ့ကမ္ဘာလုံးဆိုင်ရာသင်္ကေတစားပွဲ Run-အချိန်မှတ်ဉာဏ်ထိန်းသိမ်းရန်, တဖြည်းဖြည်းစုဆောင်းသည်အဘယ်မှာရှိ (ထိုကဲ့သို့သော VxWorks ကဲ့သို့) enviroments မှာအထူးသဖြင့်အသုံးဝင်သည်။

--retain-သင်္ကေတများ-file ကို undefined သင်္ကေတများ, ဒါမှမဟုတ်နေရာရွှေ့ပြောင်းမှုအတွက်လိုအပ်သင်္ကေတများစွန့်လွှတ်မထားဘူး။

သငျသညျကိုသာ command line ကိုအတွက်တစ်ချိန်က --retain-သင်္ကေတများ-file ကိုသတ်မှတ်ရမည်။ ဒါဟာ -s နှင့် -s ပြောင်းလဲသတ်မှတ်လိုက်သည်။

dir -rpath

အဆိုပါ runtime ကစာကြည့်တိုက်ရှာဖွေရေးလမ်းကြောင်းကိုတစ် directory ကိုထည့်ပါ။ shared အရာဝတ္ထုတစ်ခု ELFexecutable ချိတ်ဆက်တဲ့အခါဒီကိုအသုံးပြုသည်။ အားလုံး -rpath အငြင်းပွားမှုများ runtime မှာ shared အရာဝတ္ထုနေရာချထားရန်သူတို့ကိုများကိုအသုံးပြုရသော runtime က linker မှ concatenated နှင့်လွန်နေကြသည်။ အတိအလင်း link ကိုတွင်ထည့်သွင်း shared တ္ထုများကလိုအပ်သည့် shared အရာဝတ္ထုတည်နေရာအခါ -rpath option ကိုလည်းအသုံးပြုပါသည်; အဆိုပါ -rpath-link ကို option ကို၏ဖော်ပြချက်တွင်ကြည့်ပါ။ တစ်ဦး elf က executable ချိတ်ဆက်တဲ့အခါမှာ -rpath အသုံးမလျှင်ကသတ်မှတ်လျှင်, ပတ်ဝန်းကျင် variable ကိုရဲ့ contents "LD_RUN_PATH" ကိုအသုံးပြုလိမ့်မည်။

အဆိုပါ -rpath option ကိုလည်း SunOS ပေါ်တွင်အသုံးပြုနိုင်ပါသည်။ ပုံမှန်အားဖြင့်, SunOS ရက်နေ့တွင်, linker ပေးပြီဖြစ်ပါတယ်ရှိသမျှကို -L options များထဲကတစ်ဦး runtime ကရှာဖွေရေး patch ကိုဖွဲ့စည်းရန်ပါလိမ့်မယ်။ တစ်ဦး -rpath option ကိုအသုံးပြုခဲ့လျှင်, runtime ကရှာဖွေရေးလမ်းကြောင်းကိုသီးသန့် -L ရွေးချယ်စရာလျစ်လျူရှုသည် -rpath options များ အသုံးပြု. ဖွဲ့စည်းခဲ့လိမ့်မည်။ onNFS ဖိုင်စနစ်များတပ်ဆင်ထားရမည်အကြောင်းအရာအများအပြား -L options များဖြည့်စွက်ထားတဲ့ gcc, ကိုသုံးပြီးတဲ့အခါဒီအသုံးကျနိုင်ပါသည်။

-r option ကိုတစ်ဦး directory ကိုအမည်, ထက်ဖိုင်တစ်ဖိုင်နာမည်ဖြင့်နောက်တော်သို့လိုက်လျှင်အခြားအ elf linkers နှင့်အတူလိုက်ဖက်မှုအဘို့, က -rpath option ကိုအဖြစ်ကုသနေပါတယ်။

DIR -rpath-လင့်ထားသည်

elf သို့မဟုတ် SunOS သုံးပြီးတဲ့အခါ, တဦးတည်း shared စာကြည့်တိုက်ကိုအခြားလိုအပ်နိုင်ပါသည်။ တစ်ဦး link ကိုပု input ကိုဖိုင်တွေတစ်ဦးအဖြစ်တစ်ဦး shared စာကြည့်တိုက်တို့ပါဝင်သည် "ld -shared" သောအခါဤသည်ဖြစ်ပျက်။

non-shared non-relocatable link ကိုလုပ်နေတာအခါ linker ထိုကဲ့သို့သောမှီခိုရင်ဆိုင်သောအခါ, အလိုအလျှောက်ပါကအတိအလင်းမပါဝင်လျှင်, လိုအပ်သော shared စာကြည့်တိုက်တည်နေရာနှင့်လင့်ခ်၌ပါဝင်သည်ဖို့ကြိုးစားပါလိမ့်မယ်။ ထိုကဲ့သို့သောအမှု၌, -rpath-link ကို option ကိုရှာဖှေဖို့လမ်းညွှန်၏ပထမ set ကိုသတ်မှတ်ပါတယ်။ အဆိုပါ -rpath-link ကို option ကိုကော်လံများဖြင့်ခွဲအမည်များစာရင်းတစ်ခုသတ်မှတ်ခြင်းအားဖြင့်ဖြစ်စေ, အကြိမ်ပေါင်းများစွာပေါ်ထွန်းသည်ဖြစ်စေ directory ကိုအမည်များကိုတစ် sequence ကိုသတ်မှတ်ရမည်။

က hard a shared စာကြည့်တိုက်သို့ပြုစုခဲ့ကြခြင်းအလိုငှါရှာဖွေရေးလမ်းကြောင်းကိုပြောင်းလဲသတ်မှတ်လိုက်သည်အဖြစ်ဒီ option ကသတိနဲ့အသုံးပြုသင့်ပါသည်။ ထိုကဲ့သို့သောအမှု၌သတိလစ်အဆိုပါ runtime က linker ပြုပါမည်ဟုထက်ကွဲပြားခြားနားသောရှာဖွေရေးလမ်းကြောင်းကိုသုံးစွဲဖို့ဖြစ်နိုင်ပါတယ်။

အဆိုပါ linker လိုအပ် shared စာကြည့်တိုက်များနေရာချထားရန်အောက်ပါရှာဖွေရေးလမ်းခရီးကိုအသုံးပြုသည်။

1 ။

-rpath-link ကိုရှေးခယျြစရာများကသတ်မှတ်ထားသောမဆို directory များ။

2 ။

-rpath ရွေးချယ်စရာများကသတ်မှတ်ထားသောမဆို directory များ။ -rpath နှင့် -rpath-link ကိုအကြားကွာခြားချက်ဟာ -rpath-link ကို option ကို link ကိုအချိန်ကသာထိရောက်သောဖြစ်ပါတယ်သော်လည်း -rpath ရွေးချယ်စရာများကသတ်မှတ်ထားသော directory များ, runtime မှာက executable တွင်ထည့်သွင်းခြင်းနှင့်အသုံးပြုကြသည်သောကွောငျ့ဖွစျသညျ။ ဒါဟာသာဇာတိ linker အဘို့ဖြစ်၏။

3 ။

တစ်ဦး elf စနစ်ကတွင် -rpath နှင့် "rpath-link ကို" ရွေးချယ်စရာအသုံးမခံခဲ့ရပါလျှင်, ပတ်ဝန်းကျင် variable ကို "LD_RUN_PATH" ရဲ့ contents ရှာပါ။ ဒါဟာသာဇာတိ linker အဘို့ဖြစ်၏။

4 ။

SunOS တွင် -rpath option ကိုအသုံးမခံခဲ့ရပါလျှင်, မည်သည့် directory များရှာဖွေ -L options များ အသုံးပြု. သတ်မှတ်ထားသော။

5 ။

တစ်ဇာတိ linker အဘို့, ပတ်ဝန်းကျင် variable ကိုရဲ့ contents "LD_LIBRARY_PATH" ။

6 ။

တစ်ဦးက elf linker အဘို့, a shared စာကြည့်တိုက်၏ "DT_RUNPATH" သို့မဟုတ် "DT_RPATH" အတွက် directory များကလိုအပ် shared စာကြည့်တိုက်ကိုရှာဖွေနေကြပါတယ်။ "DT_RUNPATH" entries တွေကိုတည်ရှိပါလျှင်အဆိုပါ "DT_RPATH" entries တွေကိုလျစ်လျူရှုနေကြပါတယ်။

7 ။

အဆိုပါ default အနေနဲ့ပုံမှန်အား / lib directory များနှင့် / usr / lib

8 ။

တစ်ဦး elf system ပေါ်တွင်တစ်ဦးဇာတိ linker အဘို့, ဖိုင်ကို /etc/ld.so.conf, ထိုဖိုင်ထဲမှာရှာတွေ့လမ်းညွှန်များ၏စာရင်းတည်ရှိလျှင်။

လိုအပ်သော shared စာကြည့်တိုက်မတွေ့ရှိလျှင်, linker သတိပေးထုတ်ပြန်နှင့်လင့်ခ်နှင့်အတူဆက်လက်ပါလိမ့်မယ်။

-shared

-Bshareable

တစ်ဦး shared စာကြည့်တိုက်ကိုဖန်တီးပါ။ ဤသည်လက်ရှိအချိန်တွင်သာ elf, XCOFF နှင့် SunOS ပလက်ဖောင်းပေါ်ထောက်ခံသည်။ အဆိုပါ -e option ကိုအသုံးပြု link ကိုအတွက် undefined သင်္ကေတများရှိပါသည်မဟုတ်ပါလျှင် SunOS တွင် linker အလိုအလျောက် shared စာကြည့်တိုက်ဖန်တီးပါလိမ့်မယ်။

--sort-ဘုံ

ဒီ option ကသင့်လျော်တဲ့ output ကိုအပိုင်း၌သူတို့နေရာရသောအခါအရွယ်အစားအားဖြင့်ဘုံသင်္ကေတများ sort ဖို့ ld ပြောပြသည်။ ပထမဦးစွာပြီးတော့အားလုံးတက byte သင်္ကေတများ, ထို့နောက်အားလုံးနှစ်ခုက byte, ထို့နောက်အားလုံးလေးခုက byte နှင့်အခြားအရာအားလုံးလာကြ၏။ ဤသည် alignment ကိုသတ်ကြောင့်သင်္ကေတများအကြားကွာဟချက်ကိုတားဆီးဖို့ဖြစ်ပါတယ်။

--split-by-file ကို [size ကို]

--split-by-နေရာပြောင်းရွှေ့ဆင်တူပေမယ့်အရွယ်အစားရောက်ရှိချိန်တွင်အသီးအသီး input ကိုဖိုင်အသစ်တစ်ခုကို output ကိုအပိုင်းဖန်တီးပေးပါတယ်။ မပေးလျှင် 1 အရွယ်အစားအရွယ်အစားပေးထားတဲ့ defaults ။

--split-by-နေရာပြောင်းရွှေ့ [ရေတွက်]

ဖိုင်ကိုမတစ်ခုတည်း output ကိုအပိုင်းနေရာရွှေ့ပြောင်းရေတွက်ထက်ပိုပါရှိသည်နိုင်အောင်က output file မှာအပိုကဏ္ဍများကိုဖန်တီးပေးဖို့ကြိုးစားပါတယ်။ အဆိုပါ COFF အရာဝတ္ထုဖိုင်ပုံစံနှင့်အတူအချို့သောအစစ်အမှန်အချိန်စေ့သို့ဒေါင်းလုပ်များအတွက်ကြီးမားသော relocatable ဖိုင်တွေထုတ်လုပ်တဲ့အခါဒီအသုံးဝင်သည်, COFFcannot ကတည်းကတစ်ခုတည်းအပိုင်းကျော် 65535 နေရာရွှေ့ပြောင်းကိုယ်စားပြုသည်။ ဒီမတရားကဏ္ဍများကိုထောကျပံ့မထားတဲ့အရာဝတ္ထုဖိုင် Format နှင့်အတူအလုပ်လုပ်ရန်ရန်ပျက်ကွက်ပါလိမ့်မယ်သတိပြုပါ။ တစ်ခုတည်း input ကိုအပိုင်းနေရာရွှေ့ပြောင်းတဦးတည်း output ကိုအပိုင်းများစွာကိုနေရာရွှေ့ပြောင်းကြောင်းဆံ့ပါလိမ့်မယ်ရေတွက်ထက်ပိုပါရှိသည်လျှင်ဒါ linker, ပြန်လည်ခွဲဝေမှုများအတွက်တစ်ဦးချင်းစီရဲ့ input ကဏ္ဍများကိုတက်ကွဲလိမ့်မည်မဟုတ်ပါ။ 32768 ၏တန်ဖိုးပေးထားတဲ့ defaults ရေတွက်။

--stats

ထိုကဲ့သို့သောကွပ်မျက်အချိန်နှင့်မှတ်ဉာဏ်အသုံးပြုမှုသည်အတိုင်း, linker များ၏စစ်ဆင်ရေးနှင့် ပတ်သက်. စာရင်းဇယားတွက်ချက်ခြင်းနှင့် display ကို။

--traditional-format နဲ့

အခြို့သောပစ်မှတ်များအတွက် ld ၏ output တချို့တည်ဆဲ linker ၏ output ထံမှအချို့သောနည်းလမ်းတွေနဲ့ကွဲပြားခြားနားသည်။ ဤသည် switch ကိုအစားရိုးရာပုံစံကိုသုံးစွဲဖို့ ld တောင်းဆိုပါသည်။

ဥပမာအားဖြင့်, SunOS ပေါ် ld သင်္ကေတ string ကို table ထဲမှာထပ် entries တွေကိုပေါင်းစပ်။ ဤသည်ကို 30 ရာခိုငျနှုနျးကျြောခွငျးအားဖွငျ့အပြည့်အဝဒီဘာဂင်သတင်းအချက်အလက်နဲ့ output ကိုဖိုင်အရွယ်အစားကိုလျှော့ချနိုင်ပါတယ်။ ကံမကောင်းစွာပဲ, အ SunOS "dbx" အစီအစဉ်ကို ( "gdb" မနှောင့်ရှက်ရှိပါတယ်) ကရရှိလာတဲ့ပရိုဂရမျကိုဖတ်ပြီးလို့မရပါဘူး။ အဆိုပါ --traditional-format နဲ့ switch ကိုထပ် entries တွေကိုပေါင်းစပ်မ ld ပြောပြသည်။

--section-စတင် sectionname = org

ယင်းအတွက်အပိုင်း Locate output ကိုဖိုင်ကို org ကပေးတဲ့အကြွင်းမဲ့အာဏာလိပ်စာမှာ။ သင်က command line ကိုအတွက်မျိုးစုံကဏ္ဍများကိုနေရာချထားရန်လိုအပ်သောအဖြစ်အကြိမ်ပေါင်းများစွာအဖြစ်ဒီ option ကိုသုံးနိုင်ပါသည်။ org တစ်ခုတည်း hexadecimal integer ဖြစ်တဲ့အတွက်သူဖြစ်ရမည်; အခြားအ linkers နှင့်အတူလိုက်ဖက်မှုအဘို့, သငျသညျအများအားဖြင့် hexadecimal တန်ဖိုးများနှင့်ဆက်နွယ်ဦးဆောင် 0x ချန်လှပ်လိမ့်မည်။ မှတ်ချက်: အဘယ်သူမျှမအဖြူရောင် sectionname အကြား space ကို, အတန်းတူနိမိတ်လက္ခဏာ ( `` = '') နှင့် org ရှိသင့်ပါတယ်။

-Tbss org

-Tdata org

-Ttext org

သည် "bss", "ဒေတာ" သို့မဟုတ်က output file ၏ "စာသား" segment ကို --- များအတွက် --- အသီးသီးစတင်လိပ်စာအဖြစ် org ကိုသုံးပါ။ org တစ်ခုတည်း hexadecimal integer ဖြစ်တဲ့အတွက်သူဖြစ်ရမည်; အခြားအ linkers နှင့်အတူလိုက်ဖက်မှုအဘို့, သငျသညျအများအားဖြင့် hexadecimal တန်ဖိုးများနှင့်ဆက်နွယ်ဦးဆောင် 0x ချန်လှပ်လိမ့်မည်။

--dll-verbose

--verbose

ld များအတွက်ဗားရှင်းနံပါတ်ဖော်ပြရန်နှင့်ပံ့ပိုး linker emulator စာရင်းပြုစု။ display ပေးသော input ကိုဖိုင်တွေနဲ့ဖွင့်လှစ်မရနိုငျနိုငျသညျ။ အဆိုပါ linker ကအသုံးပြုလျက်ရှိသည့် linker script ကိုဖော်ပြရန်။

--version-script ကို = ဗားရှင်း-scriptfile

အဆိုပါ linker တစ်ဗားရှင်း script ကို၏အမည်ကိုဖော်ပြပါ။ shared စာကြည့်တိုက်ဖန်တီးသောအခါဤသည်ပုံမှန်အားဖြင့်ဖန်တီးထားကြောင်းအဆိုပါစာကြည့်တိုက်များအတွက်ဗားရှင်း heirarchy အကြောင်းကိုနောက်ထပ်သတင်းအချက်အလက်ကိုသတ်မှတ်အသုံးပြုသည်။ ဒီ option shared စာကြည့်တိုက်ကိုထောကျပံ့ပေးသော elf ပလက်ဖောင်းများပေါ်တွင်သာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။

--warn-ဘုံ

ဘုံသင်္ကေတသည်အခြားဘုံသင်္ကေတနှင့်အတူတစ်ခုသို့မဟုတ်သင်္ကေတနှင့်အဓိပ္ပါယ်နဲ့ပေါင်းစပ်သောအခါသတိပေးကြပါတယ်။ Unix က linkers ဒီအတန်ငယ်မသေချာသောအလေ့အကျင့်ကိုခွင့်ပြုပေမယ့်အချို့နဲ့အခြား operating system များပေါ်တွင် linkers မကျင့်။ ဒီ option ကသင်ကမ္ဘာလုံးဆိုင်ရာသင်္ကေတများပေါင်းစပ်ပြီးထံမှအလားအလာပြဿနာများတွေ့ရှိရန်ခွင့်ပြုပါတယ်။ ကံမကောင်းစွာပဲ, အခြို့ကို C စာကြည့်တိုက်ကဒီအလေ့အကျင့်ကိုအသုံးဒါကြောင့်သင်ကစာကြည့်တိုက်ထဲမှာရှိသကဲ့သို့ကောင်းစွာအဖြစ်သင့်အစီအစဉ်များအတွက်သင်္ကေတများနှင့် ပတ်သက်. အချို့သောသတိပေးချက်များရပေမည်။

ကို C ဥပမာအားဖြင့်ကဒီမှာရုပ်ပြကမ္ဘာလုံးဆိုင်ရာသင်္ကေတ၏သုံးမျိုးရှိပါတယ်:

ကိုယ့် = 1 int;

က output file ၏နဒေတာအပိုင်းဝင်ရသောတစ်ဦးနှင့်အဓိပ္ပါယ်။

ကိုယ့် int ပြင်ပ;

အာကာသခွဲဝေချထားပေးရန်မတစ်ဦး undefined ကိုကိုးကား။ တစ်ဦးနှင့်အဓိပ္ပါယ်ဒါမှမဟုတ် variable ကိုတစ်နေရာရာမှာတစ်ဘုံသင်္ကေတတစ်ခုခုကိုရှိပါတယ်ဖြစ်ရမည်။

ကိုယ့် int;

တစ်ဦးကဘုံသင်္ကေတ။ တစ်ဦး variable ကိုသာ (တဦးတည်းသို့မဟုတ်ထိုထက်ပို) ဘုံသင်္ကေတများရှိပါသည်ပါက output ကိုဖိုင်ရဲ့ uninitialized data တွေကိုဧရိယာ၌တတ်၏။ အဆိုပါ linker တစ်ခုတည်းသင်္ကေတသို့တူညီသော variable ကိုအဘို့အမျိုးစုံဘုံသင်္ကေတများရောနှောပေါင်းစပ်သွားလေသည်။ သူတို့ကွဲပြားခြားနားသောအရွယ်အစားဖြစ်ကြ၏ဆိုပါကအကြီးဆုံးအရွယ်အစားယူလိုက်တယ်။ တူညီသော variable ကိုတစ်ချက်နှင့်အဓိပ္ပါယ်လည်းမရှိလျှင် linker တစ်ကြေငြာသို့ဘုံသင်္ကေတအဖြစ်ပြောင်းသွားသည်။

အဆိုပါ --warn-ဘုံ option ကိုသတိပေးချက်များငါးမျိုးစုံထုတ်လုပ်နိုင်သည်။ တစ်ခုချင်းစီကိုသတိပေးလိုင်းများတစ်စုံပါဝင်ပါသည်: ပထမဦးဆုံးဖွင့်ကြုံတွေ့သင်္ကေတကိုဖော်ပြထားတယ်, ဒုတိယအမည်တူနှင့်အတူကြုံတွေ့ယခင်သင်္ကေတဖော်ပြသည်။ တစ်ခုသို့မဟုတ်နှစ်ခုသင်္ကေတနှစ်ခုလုံးတစ်ဘုံသင်္ကေတဖြစ်လိမ့်မည်။

1 ။

သင်္ကေတတစ်ခုနှင့်အဓိပ္ပါယ်ပြီးသားလည်းမရှိသောကွောငျ့, တစ်ဦးကိုကိုးကားသို့ဘုံသင်္ကေတဖွင့်။

<ဖိုင်> (<အပိုင်း>): သတိပေး: `<သင်္ကေတ> 'အဓိပ်ပါယျကိုပယ်ဖျက် <ဖိုင်> (<အပိုင်း>) ၏ဘုံ: သတိပေး: ဤနေရာတွင်သတ်မှတ်

2 ။

သင်္ကေတတစ်ခုအကြာတွင်ချက်နှင့်အဓိပ္ပါယ်ကြုံတွေ့ကြောင့်, တစ်ဦးကိုကိုးကားသို့ဘုံသင်္ကေတဖွင့်။ ဒါကသင်္ကေတတစ်ဦးကွဲပြားခြားနားနိုင်ရန်အတွက်ကြုံတွေ့ကြသည် မှလွဲ. ယခင်အမှုအဖြစ်အတူတူပင်ဖြစ်ပါသည်။

<ဖိုင်> (<အပိုင်း>): သတိပေး: ချက်နှင့်အဓိပ္ပါယ်၏ `<သင်္ကေတ> 'ဘုံ၎င်းအား <ဖိုင်> (<အပိုင်း>): သတိပေး: ဘုံကဒီမှာ

3 ။

ယခင်အတူတူပင်အရွယ်ဘုံသင်္ကေတနှင့်အတူတစ်ဘုံသင်္ကေတပေါင်းခြင်း။

<ဖိုင်> (<အပိုင်း>): သတိပေး: `<သင်္ကေတ> '<ဖိုင်> (<အပိုင်း>) ၏မျိုးစုံဘုံ: သတိပေး: ယခင်ဘုံကဒီမှာ

4 ။

ယခင်ပိုကြီးတဲ့ဘုံသင်္ကေတနှင့်အတူတစ်ဘုံသင်္ကေတပေါင်းခြင်း။

<ဖိုင်> (<အပိုင်း>): သတိပေး: `<သင်္ကေတ> 'ပိုကြီးတဲ့ဘုံ <ဖိုင်> (<အပိုင်း>) ကိုပယ်ဖျက်၏ဘုံ: သတိပေး: ပိုကြီးတဲ့ဘုံကဒီမှာ

5 ။

ယခင်သေးငယ်ဘုံသင်္ကေတနှင့်အတူတစ်ဘုံသင်္ကေတပေါင်းခြင်း။ ဒါကသင်္ကေတတစ်ဦးကွဲပြားခြားနားနိုင်ရန်အတွက်ကြုံတွေ့ကြသည် မှလွဲ. ယခင်အမှုအဖြစ်အတူတူပင်ဖြစ်ပါသည်။

<ဖိုင်> (<အပိုင်း>): သတိပေး: `<သင်္ကေတ> '၎င်းအားသေးငယ်ဘုံ <ဖိုင်> (<အပိုင်း>) ၏ဘုံ: သတိပေး: သေးငယ်ဘုံကဒီမှာ

--warn-တည်ဆောက်

မည်သည့်ကမ္ဘာလုံးဆိုင်ရာတည်ဆောက်အသုံးပြုကြသည်ဆိုပါကသတိပေးကြပါတယ်။ ဒါကအနည်းငယ်အရာဝတ္ထုဖိုင် Format အဘို့ကိုသာအသုံးဝင်သည်။ COFF သို့မဟုတ် elf နဲ့တူပုံစံများအဘို့, linker ကမ္ဘာလုံးဆိုင်ရာတည်ဆောက်၏အသုံးပြုမှုကို detect မရနိုင်ပါ။

--warn-မျိုးစုံ-GP

မျိုးစုံကမ္ဘာလုံးဆိုင်ရာ pointer ကိုတန်ဖိုးအတွက်လိုအပ်သည်ဆိုပါကသတိပေး output ကိုဖိုင်ကို ။ ဤသည်ထိုကဲ့သို့သောအာလဖအဖြစ်အချို့သောပရိုဆက်ဆာ, အဘို့ကိုသာအဓိပ္ပါယ်ရှိသောဖြစ်ပါတယ်။ အထူးသအချို့သောပရိုဆက်ဆာကိုအထူးအပိုင်းတွင်ကြီးမားသော-တန်ဖိုးထားရုံကလွဲပြီးမထားတော်မူ၏။ ရုံကလွဲပြီးမယ့်အခြေစိုက်စခန်း-မှတ်ပုံတင်ရန်ဆွေမျိုး addressing mode ကိုမှတဆင့်ထိထိရောက်ရောက် loaded နိုင်ပါတယ်ဒါကြောင့်အထူးမှတ်ပုံတင် (ကမ္ဘာလုံးဆိုင်ရာ pointer), ဤအပိုင်း၏အလယ်သို့ထောက်ပြသည်။ ခြေရင်း-မှတ်ပုံတင်ရန်ဆွေမျိုး mode မှာ offset (ဥပမာ, 16-bits) ပုံသေနဲ့အတော်လေးသေးငယ်သည်ကတည်းကဒီစဉ်ဆက်မပြတ်ရေကူးကန်အများဆုံးအရွယ်အစားကန့်သတ်။ ထို့ကြောင့်ကြီးမားသောအစီအစဉ်များအတွက်ကအားလုံးကိုတတ်နိုင်သမျှရုံကလွဲပြီးမဖြေရှင်းနိုင်ပါလိမ့်နိုင်ရန်အတွက်မျိုးစုံကမ္ဘာလုံးဆိုင်ရာ pointer ကိုတန်ဖိုးများကိုသုံးစွဲဖို့မကြာခဏလိုအပ်ပေသည်။ ဒီ option ကဤကိစ္စတွင်ဖြစ်ပေါ်သည့်အခါတိုင်းထုတ်ပေးခံရဖို့သတိပေးဖြစ်ပေါ်စေသည်။

--warn-တစ်ချိန်က

သာရည်ညွှန်းထားတဲ့တစ်ချိန်က module တစ်ခုနှုန်းတစ်ဦးချင်းစီ undefined သင်္ကေတထက်များအတွက်တစ်ချိန်ကသတိပေးကြပါတယ်။

--warn-အပိုင်း-align

တစ်ခု output ကိုအပိုင်း၏လိပ်စာဘာဖြစ်လို့လဲဆိုတော့ alignment ကိုပြောင်းလဲလျှင်သတိပေးကြပါတယ်။ ပုံမှန်အားဖြင့်, ထို alignment ကိုတစ်ဦး input ကိုအပိုင်းများကသတ်မှတ်ထားပါလိမ့်မည်။ ကအတိအလင်းကိုမသတ်မှတ်ထားပါလျှင်လိပ်စာသာပြောင်းလဲသွားတယ်လိမ့်မည် က "ပုဒ်မ" command ကိုအပိုင်းတစ်ခုစတင်လိပ်စာသတ်မှတ်မပါဘူးဆိုရင်ဆိုလိုသတည်း။

--whole-archive ကို

အဆိုပါ --whole-archive ကို option ကိုနောကျ command line ကိုအပေါ်ဖော်ပြခဲ့တဲ့တစ်ဦးချင်းစီ archive ကိုအဘို့, တိုင်းအရာဝတ္ထု link ကိုထဲမှာ archive အတွက်ဖိုင်ထက်လိုအပ်သောအရာဝတ္ထုဖိုင်တွေများအတွက် archive ကိုရှာဖွေနေပါဝင်သည်။ ဤသည်ပုံမှန်အားဖြင့်ရလဒ် shared စာကြည့်တိုက်တွင်ထည့်သွင်းခံရဖို့တိုင်းအရာဝတ္ထုအတင်းအကျပ်တစ်ဦး shared စာကြည့်တိုက်သို့တစ်ဦး archive ကိုဖိုင်ကိုဖွင့်ဖို့အသုံးပြုသည်။ ဒီ option ကတစ်ကြိမ်ထက်ပိုပြီးအသုံးပြုရပေမည်။

နှစ်ဦးအားမှတ်စု gcc ကနေဒီ option ကိုအသုံးပြုပြီးတဲ့အခါမှာ: ပထမဦးစွာ gcc ဒီ option ကိုအကြောင်းကိုသိကြပါဘူး, ဒါကြောင့်သင် -Wl သုံးစွဲဖို့ရှိသည်, -whole-archive ကို။ ဒုတိယအချက်မှာ gcc သင့်ရဲ့ link ကိုမှမော်ကွန်းတိုက်၏၎င်း၏ကိုယ်ပိုင်စာရင်းထည့်သွင်းမည်ငျသညျဤအလံအဖြစ်ကောင်းစွာသူတွေကိုထိခိုက်စေလိုသောမပြုစေခြင်းငှါအဘယ်ကြောင့်ဆိုသော်မော်ကွန်းတိုက်သင့်ရဲ့စာရင်းပြီးနောက်, -Wl ကိုအသုံးပြုဖို့ -no-လုံး archive ကိုရန်မေ့လျော့ကြပါဘူး။

--wrap သင်္ကေတ

သင်္ကေတတစ်ခု wrapper function ကိုသုံးပါ။ သင်္ကေတမှမဆို undefined ရည်ညွှန်း "__ wrap_symbol" ကိုပြေလည်ပါလိမ့်မည်။ "__real_symbol" ကိုမဆို undefined ရည်ညွှန်းသင်္ကေတမှပြေလည်လိမ့်မည်။

ဒါကစနစ်က function ကိုများအတွက် wrapper ပေးဖို့အသုံးပြုနိုင်ပါသည်။ အဆိုပါ wrapper function ကို "__wrap_symbol" ဟုခေါ်ရပါမည်။ ဒါဟာစနစ် function ကိုခေါ်ပါရန်ဆန္ဒရှိသော်လည်းဆိုပါက "real_symbol __" မခေါ်သင့်ပါတယ်။

ဒီနေရာမှာတစ်ဦးအသေးအဖွဲဥပမာဖြစ်ပါသည်:

ပျက်ပြယ် * __wrap_malloc (int ဂ) {printf ( "% ld ပါ \ n နှင့်ခေါ် malloc" က c); ပြန်လာ __real_malloc (ဂ); }

သငျသညျ --wrap malloc သုံးပြီးဒီဖိုင်နှင့်အတူအခြားအကုဒ်လင့်ထားသည်လျှင်, "malloc" အားလုံးကိုဖုန်းခေါ်မယ့်အစား "__wrap_malloc" ဟုအဆိုပါ function ကိုခေါ်ပါလိမ့်မယ်။ "__wrap_malloc" ၌ "__real_malloc" ကိုခေါ်ဆိုမှုအစစ်အမှန် "malloc" function ကိုခေါ်ပါလိမ့်မယ်။

သင်က --wrap option ကိုမပါဘဲလင့်များအောင်မြင်ပါလိမ့်မယ်ဒါကြောင့်အပြင်ကို "__real_malloc" function ကိုပေးလိုပေမည်။ သင်သည်ဤပြုလျှင်သင်သည် "__wrap_malloc" ကဲ့သို့အလားတူဖိုင်ထဲမှာ "__ real_malloc" ၏အဓိပ္ပါယ်ကိုမထားသင့်သည်, သင်ပြုလျှင် linker "malloc" ကိုကခြုံဖို့အခွင့်အလမ်းရှိပါတယ်မှီ, စည်းဝေးခေါ်ဆိုမှုဖြေရှင်းလိမ့်မည်။

--enable-အသစ် dtags

--disable-အသစ် dtags

ဤသည် linker elf အတွက်အသစ်အပြောင်းလဲနေသော tags များဖန်တီးနိုင်ပါတယ်။ ဒါပေမယ့်အဟောင်းတွေ elf စနစ်များသူတို့ကိုနားလည်မည်မဟုတ်ပါ။ သငျသညျ --enable-အသစ် dtags သတ်မှတ် အကယ်. လိုအပ်သကဲ့သို့, ပြောင်းလဲနေသော tags များဖန်တီးပါလိမ့်မည်။ သငျသညျ --disable-အသစ် dtags သတ်မှတ်ပါလျှင်အဘယ်သူမျှမသစ်ကိုပြောင်းလဲနေသော tags များဖန်တီးပါလိမ့်မည်။ ပုံမှန်အားဖြင့်သစ်ပြောင်းလဲနေသော tags များဖန်တီးကြသည်မဟုတ်။ သူတို့အား options များသာရရှိနိုင် forELF စနစ်များဖြစ်ကြောင်းသတိပြုပါ။

အဆိုပါ i386 PE linker က output အစားသာမန်ဟာ executable တစ်ဦးသည် dynamically နှင့်ဆက်စပ်စာကြည့်တိုက် (DLL) ဖြစ်ဖို့ကိုဖြစ်ပေါ်စေသည်သော -shared option ကိုထောက်ခံပါတယ်။ သငျသညျ "* .dll" ဟုအဆိုပါ output ကိုအမည်ကိုသင့်ပါတယ်သင်ဤ option ကိုအသုံးပြုတဲ့အခါ။ ထို့အပြင် linker အပြည့်အဝကသူတို့အတွက်နှင့်ဆက်စပ်ရကြောင်းသေချာစေရန်, ကနေသင်္ကေတများတင်ပို့ object တစ်ခုဖိုင်ကဲ့သို့ linker command line ကိုအပေါ်သတ်မှတ်ထားသောစေခြင်းငှါအရာစံ "* .def" ဖိုင်များ, (တကယ်တော့တစ်ခုကိုမော်ကွန်းတိုက်အရင်အဦးနေရာသငျ့သညျထောကျပံ့ ရုံသာမန်အရာဝတ္ထုဖိုင်နဲ့တူ) ။

အားလုံးပစ်မှတ်မှဘုံရှေးခယျြစရာ, အ i386 PE ပစ်မှတ်ဖို့တိကျတဲ့သော i386 PE linker ထောက်ခံမှုနောက်ထပ် command line ကိုရှေးခယျြစရာများအပြင်၌။ တန်ဖိုးများကိုယူကြောင်း Options ကိုတစ်ဦးအာကာသသို့မဟုတ်တစ်ခုညီမျှသည်နိမိတ်လက္ခဏာကိုဖြစ်စေခြင်းဖြင့်၎င်းတို့၏တန်ဖိုးများကနေကွဲကွာနိုင်ပါသည်။

--add-stdcall-alias ကို

ပေးထားခဲ့လျှင်-ဖြစ်ပါတယ်အဖြစ်နှင့်လည်းချွတ်အဆိုပါနောက်ဆက်နှင့်အတူ, (nn @) တစ်ဦး stdcall နောက်ဆက်နှင့်အတူသင်္ကေတများတင်ပို့ပါလိမ့်မည်။

--base-file ကိုဖိုင်

dlltool နှင့်အတူ DLLs ထုတ်လုပ်အတှကျလိုအပျပေါငျးတို့သနေရာရွှေ့ပြောင်း၏အခြေစိုက်စခန်းလိပ်စာများကိုကယ်ဖို့ရာအတွက်ဖိုင်တစ်ဖိုင်၏အမည်အဖြစ်ဖိုင်ကိုအသုံးပြုပါ။

--dll

အစားကိုပုံမှန်က executable တစ် DLL ကိုဖန်တီးပါ။ သင်တို့သည်လည်း -shared ကိုအသုံးပြုဖို့သို့မဟုတ်ပေးထားသော ".def" ဖိုင်ထဲမှာတစ်ဦး "စာကြည့်တိုက်" ကိုသတ်မှတ်လိမ့်မည်။

--enable-stdcall-fixup

--disable-stdcall-fixup

လင့်ခ်ကဖြေရှင်းမပေးနိုငျသောသင်္ကေတကိုတွေ့ပါကသာသင်္ကေတအမည် (stdcall vs cdecl) ၏ format နဲ့မတူအခြားသတ်မှတ်ထားသောသင်္ကေတကိုရှာဖွေနေသဖြင့် '' `fuzzy ဆက်သွယ်ရေး ''` လုပ်ဖို့ကြိုးစားပါလိမ့်မယ်များနှင့်ချိတ်ဆက်ကြောင့်သင်္ကေတကိုဖြေရှင်းပါလိမ့်မယ် အဆိုပါပွဲစဉ်မှ။ ဥပမာ, undefined သင်္ကေတ "_foo" ဟုအဆိုပါ function ကိုချိတ်ဆက်စေခြင်းငှါ "12 @ _foo" ဒါမှမဟုတ် function ကိုချိတ်ဆက်စေခြင်းငှါ "_bar" ဟုအဆိုပါ undefined သင်္ကေတ "16 @ _bar" ။ အဆိုပါ linker ဤသောအခါ, ပုံမှန်အားဖြင့်လင့်ထားသည်ပျက်ကွက်သင့်ကတည်းကထိုသို့သတိပေးနေရိုက်ထုတ်ပေမယ့်တစ်ခါတစ်ရံတွင် Third-party dlls ကနေထုတ်လုပ်လိုက်တဲ့တင်သွင်းစာကြည့်တိုက်အသုံးဝင်သောဖြစ်ဒီ feature လိုအပ်နိုင်ပါသည်။ သငျသညျ --enable-stdcall-fixup သတ်မှတ်လိုက်လျှင်ဤအင်္ဂါရပ်ပြည့်ပြည့်ဝဝ enabled နှင့်သတိပေးချက်များပုံနှိပ်ကြသည်မဟုတ်။ သငျသညျ --disable-stdcall-fixup သတ်မှတ်လိုက်လျှင်ဤအင်္ဂါရပ်ကိုပိတ်ထားခြင်းနှင့်ထိုကဲ့သို့သောမတိုက်ဆိုင်အမှားအယွင်းများဖြစ်စဉ်းစားနေကြသည်ဖြစ်ပါတယ်။

--export-All-သင်္ကေတများ

ပေးထားလျှင်, DLL ကိုတည်ဆောက်တဲ့နေရာမှာအသုံးပြုတဲ့အရာဝတ္ထုအားလုံးကိုကမ္ဘာလုံးဆိုင်ရာသင်္ကေတဟာ DLL ကိုအားဖြင့်တင်ပို့ပါလိမ့်မည်။ မဟုတ်ရင်မဆိုတင်ပို့သင်္ကေတရှိမညျမဟုတျပါလျှင်ဒီက default ကြောင်းသတိပြုပါ။ သင်္ကေတအတိအလင်း DEF ဖိုင်တွေကနေတဆင့်တင်ပို့သို့မဟုတ်လုံးလုံးလြားလြား function ကို attribute တွေကနေတဆင့်တင်ပို့နေကြသည်သောအခါ, default အနေနဲ့ဒီ option ကိုပေးထားမဟုတ်လျှင်တခြားဘာမှတင်ပို့မဟုတ်ရန်ဖြစ်ပါသည်။ သင်္ကေတ "DllMain 12 @", "DllEntryPoint 0 @", "12 @ DllMainCRTStartup" အဲဒီမှတ်ချက်, နှင့် "impure_ptr" အလိုအလျှောက်တင်ပို့မည်မဟုတ်ပါ။ ဒါ့အပြင်အခြား DLLs မှတင်သွင်းသင်္ကေတများ re-တင်ပို့လိမ့်မည်မဟုတ်ပေ, မသင်္ကေတတွေဖြစ်တဲ့ "_head_" သို့မဟုတ် "_iname" နဲ့အဆုံးသတ်နဲ့အတူစတင်ရှိသူများအဖြစ် DLL ကိုရဲ့ပြည်တွင်းရေး layout ကိုသတ်မှတ်ခြင်းလိမ့်မယ်။ ထို့ပြင် "libgcc", "libstd ++", "libmingw32" သို့မဟုတ် "crtX.o" မှအဘယ်သူမျှမသင်္ကေတများတင်ပို့ပါလိမ့်မည်။ အဘယ်သူ၏အမည်များကို "__rtti_" သို့မဟုတ် "__builtin_" နဲ့စတင်သင်္ကေတများ C ++ DLLs နှင့်အတူကူညီပေးဖို့, တင်ပို့မည်မဟုတ်ပါ။ နောက်ဆုံးအနေနဲ့, (Cygwin ပစ်မှတ်များအတွက် DLLs တည်ဆောက်ခြင်းတဲ့အခါမှာသိသာတဲ့ဒီအပေါ်သက်ဆိုင်) တင်ပို့ကြသည်မဟုတ်ကြောင်း Cygwin-ပုဂ္ဂလိကသင်္ကေတတစ်ခုကျယ်ပြန့်စာရင်းထဲမှာလည်းမရှိ။

ဤရွေ့ကား Cygwin-မပါဝင်ပါနေသောခေါင်းစဉ်: "_ cygwin_noncygwin_dll_entry 12 @", "_fmode", "_impure_ptr", "cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2" "_cygwin_dll_entry 12 @", "8 @ _cygwin_crt0_common", "cygwin_premain3 "နှင့်" ပတ်ဝန်းကျင် "။

--exclude-သင်္ကေတသင်္ကေတ, သင်္ကေတ, ...

အလိုအလျှောက်တင်ပို့မရသင့်သောသင်္ကေတများစာရင်းကိုဖေါ်ပြပေးသည်။ အဆိုပါသင်္ကေတအမည်များကိုကော်မာသို့မဟုတ်ကော်လံများဖြင့် delimited နိုင်ပါသည်။

--exclude-libs lib, lib ...

သင်္ကေတများအလိုအလျှောက်တင်ပို့မဖြစ်သင့်ရာမှ archive ကိုစာကြည့်တိုက်များစာရင်းကိုဖေါ်ပြပေးသည်။ အဆိုပါစာကြည့်တိုက်အမည်များကိုကော်မာသို့မဟုတ်ကော်လံများဖြင့် delimited နိုင်ပါသည်။ သတ်မှတ်ခြင်း "--exclude-libs အားလုံး" အလိုအလျှောက်တင်ပို့ရာမှအားလုံး archive ကိုစာကြည့်တိုက်အတွက်သင်္ကေတများချန်လှပ်ထားသည်။ အတိအလင်းတစ် .def ဖိုင်ထဲတွင်ဖော်ပြထားသောသင်္ကေတများနေဆဲမသက်ဆိုင်ဒီ option ၏, တင်ပို့နေကြသည်။

--file-alignment ကို

ဖိုင်ကို alignment ကို Specify ။ ဖိုင်ထဲမှာကဏ္ဍများအမြဲဒီနံပါတ်ကိုရဲ့မြှောက်လဒ်နေသောဖိုင် offset မှာစတင်ပါလိမ့်မယ်။ 512 မှဤသည်မှာပေးထားတဲ့ defaults ။

--heap အရံ

--heap အရံ, commit

ဒီအစီအစဉ်အတွက်အမှိုက်ပုံအဖြစ်အသုံးပြုခံရဖို့ကြိုတင်ယူထား (နှင့်လုပ်နိုင်သောကျူးလွန်) မှမှတ်ဉာဏ်ပမာဏ Specify ။ ကို default reserved 1MB သည် 4K ကျူးလွန်ခဲ့သော။

--image-အခြေစိုက်စခန်းတန်ဖိုးကို

သင့်ရဲ့ program ကိုသို့မဟုတ် DLL ၏အခြေစိုက်စခန်းလိပ်စာအဖြစ်တန်ဖိုးကိုသုံးပါ။ ဒါဟာသင့်ရဲ့ program ကိုသို့မဟုတ် DLL တင်ဖြစ်တဲ့အခါကိုအသုံးပြုမည်ဖြစ်ကြောင်းနိမ့်ဆုံးမှတ်ဉာဏ်တည်နေရာဖြစ်ပါတယ်။ သင့်ရဲ့ dlls ၏စွမ်းဆောင်ရည်ကိုပြောင်းရွှေ့ခြင်းနှင့်တိုးတက်ကောင်းမွန်လာရန်လိုအပ်ကြောင်းလျှော့ချရန်စီထူးခြားတဲ့အခြေစိုက်စခန်းလိပ်စာရှိသည်နှင့်အခြားမည်သည့် dlls ထပ်သင့်ပါဘူး။ ကို default executables များအတွက် 0x400000 နှင့် dlls များအတွက် 0x10000000 ဖြစ်ပါတယ်။

--kill-မှာ

ပေးထားခဲ့လျှင်သူတို့တင်ပို့မီ, (nn @) ကို stdcall နောက်ဆက်သင်္ကေတအနေဖြင့်ချွတ်ပါလိမ့်မည်။

--major-image ကို-version ကိုတနျဖိုး

အဆိုပါ `` image ကိုဗားရှင်း '' ၏အဓိကနံပါတ်တစ်ခုကိုသတ်မှတ်ပေးသည်။ 1 Defaults ကို။

--major-os-version ကိုတနျဖိုး

အဆိုပါ `` os version ကို '' ၏အဓိကနံပါတ်တစ်ခုကိုသတ်မှတ်ပေးသည်။ 4 Defaults ကို။

--major-subsystem သို့-version ကိုတနျဖိုး

အဆိုပါ `` subsystem သို့ဗားရှင်း '' ၏အဓိကနံပါတ်တစ်ခုကိုသတ်မှတ်ပေးသည်။ 4 Defaults ကို။

--minor-image ကို-version ကိုတနျဖိုး

အဆိုပါ `` image ကိုဗားရှင်း '' ၏အသေးအဖှဲအရေအတွက်ကိုသတ်မှတ်ပေးသည်။ 0 င်ရန် Defaults ကို။

--minor-os-version ကိုတနျဖိုး

အဆိုပါ `` os version ကို '' ၏အသေးအဖှဲအရေအတွက်ကိုသတ်မှတ်ပေးသည်။ 0 င်ရန် Defaults ကို။

--minor-subsystem သို့-version ကိုတနျဖိုး

အဆိုပါ `` subsystem သို့ဗားရှင်း '' ၏အသေးအဖှဲအရေအတွက်ကိုသတ်မှတ်ပေးသည်။ 0 င်ရန် Defaults ကို။

--output-def ဖိုင်

အဆိုပါ linker အဆိုပါ linker ထုတ်လုပ်သည် DLL ကိုမှသက်ဆိုင်ရာတစ်ဦး DEF ဖိုင်ဆံ့တံ့သောဖိုင်ကို file ကိုဖန်တီးပါလိမ့်မယ်။ ( "* .def" ဟုခေါ်ရပါမည်ဖြစ်သော) ဤ DEF ဖိုင်ကို "dlltool" နဲ့တစ်ဦးတင်သွင်းစာကြည့်တိုက်ဖန်တီးရန်အသုံးပြုစေခြင်းငှါသို့မဟုတ်အလိုအလျောက်သို့မဟုတ်လုံးလုံးလြားလြားသင်္ကေတများတင်ပို့ဖို့ရည်ညွှန်းအဖြစ်အသုံးပြုနိုင်ပါသည်။

--out-implib ဖိုင်

အဆိုပါ linker အဆိုပါ linker ထုတ်လုပ်သည် DLL ကိုမှသက်ဆိုင်ရာအနေနဲ့တင်သွင်း lib ဆံ့တံ့သောဖိုင်ကို file ကိုဖန်တီးပါလိမ့်မယ်။ ထုတ်လုပ်လိုက်တဲ့ DLL ကိုဆန့်ကျင် clients များလင့်ထားသည်ဖို့အသုံးပြုစေခြင်းငှါ ".A *" "* .dll.a" သို့မဟုတ်ဟုခေါ်တွင်စေသင့်တယ်သောဤတင်သွင်း lib (; ဒီအပြုအမူသီးခြား "dlltool" သွင်းကုန်စာကြည့်တိုက်ဖန်ဆင်းခြင်းခြေလှမ်း skip ဖို့ကဖြစ်နိုင်ခြေကိုမှန်ကန်စေသည်။

--enable-Auto-image ကို-အခြေစိုက်စခန်း

တဦးတည်းကို "--image-အခြေစိုက်စခန်း" အငြင်းအခုံကို အသုံးပြု. သတ်မှတ်ထားသောဖြစ်ပါတယ်မဟုတ်လျှင်, DLLs များအတွက်ပုံရိပ်ကိုအခြေစိုက်စခန်းအလိုအလျှောက်ရွေးချယ်ပါ။ တစ်ဦးချင်းစီ DLL ကိုများအတွက်ထူးခြားသောပုံရိပ်ကိုအခြေစိုက်စခန်းများဖန်တီးရန် dllname ကနေထုတ်လုပ်လိုက်တဲ့တစ် hash အသုံးပြုခြင်းအားဖြင့်အစီအစဉ်ကိုကွပ်မျက်နှောင့်နှေးနိုင်သည့်အတွက်မှတ်ဉာဏ်ဝင်တိုက်ခြင်းနှင့်နေရာရွှေ့ပြောင်းရှောင်ရှားနေကြသည်။

--disable-Auto-image ကို-အခြေစိုက်စခန်း

အလိုအလျှောက်ထူးခြားတဲ့ပုံရိပ်အခြေစိုက်စခန်း generate မထားပါနဲ့။ အဘယ်သူမျှမအသုံးပြုသူ-သတ်မှတ်ထားသောပုံရိပ်အခြေစိုက်စခန်း ( "--image-အခြေစိုက်စခန်း") လည်းရှိ၏လျှင်ပလက်ဖောင်းက default ကိုအသုံးပြုပါ။

--dll-ရှာဖွေရေး-ရှေ့ဆက် string ကို

တစ်ခုတင်သွင်းစာကြည့်တိုက်ခြင်းမရှိဘဲတစ်ဦး DLL မှသည် dynamically ချိတ်ဆက်သောအခါ "lib .dll" ကိုဦးစားပေးများတွင် " .dll" အတှကျရှာပါ။ ဥပမာ, Cygwin DLLs ပုံမှန်အား "= cyg --dll-ရှာဖွေရေး-ရှေ့ဆက်" တွေကိုအသုံးပြုဇာတိ, Cygwin, uwin, pw, etc: ဒီအပြုအမူအမျိုးမျိုးသော `` subplatforms '' အဘို့တည် DLLs အကြားလွယ်ကူသောဂုဏ်ထူးခွင့်ပြုပါတယ်။

--enable-Auto-တင်သွင်း

DLLs ထံမှအချက်အလက်တင်သွင်းမှုအတွက် "__imp__symbol" ဖို့ "_symbol" ၏ခေတ်မီဆက်သွယ်ရေးလုပ်ပါ, အဲဒီ DATAexports နှင့်အတူတင်သွင်းစာကြည့်တိုက်တည်ဆောက်ခြင်းအခါလိုအပ်သော thunking သင်္ကေတများဖန်တီးပါ။ ဤသည်ယေဘုယျအားဖြင့် '' ကိုယ့်အလုပ်မလုပ် '' ပါလိမ့်မယ် --- သို့သော်တစ်ခါတစ်ရံသင်ဤသတင်းစကားကိုမြင်စေခြင်းငှါ:

"variable ကို '' Auto-တင်သွင်းမဖြစ်နိုင်ပါ။ ld ရဲ့များအတွက်မှတ်တမ်းတင်ဖတ်ရှုပါ" --enable-Auto-သွင်းကုန် "အသေးစိတ်ကို။ "

အချို့သော (ခွဲ) စကားရပ်နောက်ဆုံးမှာနှစ်ဦးကိုရုံကလွဲပြီး (Win32 တင်သွင်းကျောက်ပြားကိုတဦးတည်းကိုသာခွင့်ပြု) ၏ပေါင်းလဒ်ကပေးတဲ့လိပ်စာ access လုပ်ပါတယ်သောအခါဤမက်ဆေ့ခ်ျကိုတွေ့ရှိနိုင်ပါသည်။ ဒီဖြစ်ပေါ်စေခြင်းငှါအဘယ်အရပ်သာဓကတစ်ခု DLL ကိုမှတင်သွင်း struct variable တွေကိုအဖွဲ့ဝင်လယ်ကွင်းမှ access လုပ်ပါတယ်အဖြစ်တစ်ဦး DLL ကိုမှတင်သွင်းထားတဲ့ခင်းကျင်း variable ကိုသို့စဉ်ဆက်မပြတ်အညွှန်းကိန်းကို အသုံးပြု. ပါဝင်သည်။ မဆို multiword variable ကို (Array ကို, structs, ရှည်လျားကြာမြင့်စွာ, etc) ဒီအမှားအခွအေနေဖြစ်ပေါ်စေနိုင်သည်။ သို့သော်မသက်ဆိုင်ဖောက်ပြန်တဲ့တင်ပို့ variable ကို၏အတိအကျကိုဒေတာအမျိုးအစား, ld အမြဲတမ်းသတိပေးနှင့်ထွက်ပေါက်ထုတ်ပေးပါက detect ပါလိမ့်မယ်။

ဒီအခက်အခဲကိုဖြေရှင်းရန်နည်းလမ်းများစွာမသက်ဆိုင်အဆိုပါတင်ပို့ variable ကို၏ဒေတာအမျိုးအစားရှိပါတယ်:

တလမ်းတည်းဖြင့် --enable-runtime က-Pseudo-နေရာပြောင်းရွှေ့ switch ကိုသုံးစွဲဖို့ဖြစ်ပါတယ်။ ဤသည် runtime environment ကိုအဘို့သင့်ကို client ကုဒ်အတွက်ကိုးကားညှိ၏တာဝန်အရွက်, ဒါကြောင့်ဒီနည်းလမ်းကို runtime က environtment ဒီ feature ကိုထောက်ပံ့တဲ့အခါမှသာအလုပ်လုပ်ပါတယ်။

တစ်ဦးကစက္ကန့်ဖြေရှင်းချက်ကို compile လုပ်ခြင်းအချိန်တွင်အမည်မသိနှင့်ကို un-optimizable --- ကြောင်း, တစ်ဦး variable ကိုဖြစ်ဖို့ '' ရုံကလွဲပြီး '' တစ်ဦးအတင်းရန်ဖြစ်ပါသည်။ က) indexee (အခင်းကျင်းရဲ့လိပ်စာ) တစ်ဦး variable ကိုအောင်, ဒါမှမဟုတ်ခ) '' စဉ်ဆက်မပြတ် '' အညွှန်းကိန်းဟာ variable ကိုအောင်: Array ကိုအဘို့နှစ်ခုဖြစ်နိုင်ခြေရှိပါတယ်။ ထို့ကြောင့်:

ပြင်ပအမျိုးအစား extern_array []; extern_array [1] -> {မတည်ငြိမ်သောအမျိုးအစား * t = extern_array; t [1]}

သို့မဟုတ်

ပြင်ပအမျိုးအစား extern_array []; ; = 1> {မတည်ငြိမ်သော int t - [1] extern_array extern_array [t]}

structs (နှင့်အများဆုံးကိုအခြား multiword ဒေတာအမျိုးအစားများ) များအတွက်သာ option ကို struct သူ့ဟာသူ (သို့မဟုတ်ရှည်ရှည်လျား, သို့မဟုတ် ... ) variable ကိုအောင်ဖြစ်ပါသည်:

ပြင်ပ struct s ကို extern_struct; extern_struct.field -> {မတည်ငြိမ်သော struct s ကို * t = & extern_struct; t-> လယ်ကွင်း}

သို့မဟုတ်

ပြင်ပတာရှည်ရှည်လျား extern_ll; extern_ll -> {မတည်ငြိမ်သောရှည်လျားကြာမြင့်စွာ * local_ll = & extern_ll; * local_ll}

ဒီအခက်အခဲနှင့်ဆက်ဆံရာတွင်တစ်တတိယနည်းလမ်းဖောက်ပြန်တဲ့သင်္ကေတအဘို့ '' Auto-တင်သွင်း '' စွန့်ခွာပြီး "__declspec (dllimport)" အတူက mark ရန်ဖြစ်ပါသည်။ သို့သော်လက်တွေ့တွင်သင်သည်တစ် DLL ကိုတည်ဆောက်ခြင်းဟာ DLL ကိုလင့်ထားသောလိမ့်မည်ဟု client ကိုကုဒ်တည်ဆောက်ခြင်း, ဒါမှမဟုတ်မျှသာအငြိမ်စာကြည့်တိုက်မှချိတ်ဆက် / တည်ဆောက်နေရှိမရှိညွှန်ပြရန် compile အချိန် #defines သုံးပြီးလိုအပ်သည်။ ပြဿနာက '' ထေအဆက်မပြတ်နှင့်တိုက်ရိုက်လိပ်စာ '' ဖြေရှင်းများ၏အမျိုးမျိုးသောနည်းလမ်းများအကြားရွေးချယ်မှုအောင်, သင်ပုံမှန်အစစ်အမှန်ကမ္ဘာအသုံးပြုမှုထည့်သွင်းစဉ်းစားသင့်ပါတယ်:

မူရင်း:

--foo.h ပြင်ပ int [] ဆိုက်ရောက်; ([1] ဆိုက်ရောက် "% ဃ \ n",) --foo.c #include "foo.h" ပျက်ပြယ်အဓိက (int argc, char ** argv) {printf; }

ဖြေရှင်းချက် 1:

--foo.h ပြင်ပ int [] ဆိုက်ရောက်; ပျက်ပြယ်အဓိက "foo.h" --foo.c #include (int argc, char ** argv) {/ * ဒီပြသနာကိုကျော်လွှားနိုင်စေရန် Win32 နှင့် Cygwin အဘို့ဖြစ်၏ * / မတည်ငြိမ်သော int "ပိုကောင်းအောင်" ကြဘူး * parr = ဆိုက်ရောက်; printf ( "% ဃ \ n", parr [1]); }

ဖြေရှင်းချက် 2:

--foo.h / * မှတ်ချက်: Auto-ပို့ကုန်ယူဆနေသည် (မျှ __declspec (dllexport)) * / #if (သတ်မှတ်ထားသော (_WIN32) || (__ CYGWIN__) သတ်မှတ်ပါတယ်) && \ (သတ်မှတ်ထားသော (FOO_BUILD_DLL) || သတ်မှတ်ထားသော (FOO_STATIC! [] ဆိုက်ရောက်)) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endif ပြင်ပ FOO_IMPORT int; ([1] ဆိုက်ရောက် "% ဃ \ n",) --foo.c #include "foo.h" ပျက်ပြယ်အဓိက (int argc, char ** argv) {printf; }

ဤပြဿနာကိုရှောင်ရှားရန်တစ်ဦးကစတုတ္ထလမ်းတစ်အလုပ်လုပ်တဲ့ interface ကိုထက်ဖောက်ပြန်တဲ့ variable တွေကိုများအတွက်ဒေတာ interface ကို (ဥပမာ set_foo () နှင့် get_foo () accessor လုပ်ဆောင်ချက်များကို) သုံးစွဲဖို့ re-code ကိုသင့်ရဲ့စာကြည့်တိုက်ရန်ဖြစ်ပါသည်။

--disable-Auto-တင်သွင်း

DLLs ထံမှ DATAimports အတွက် "__imp__symbol" ဖို့ "_symbol" ၏ sophisticalted ဆက်သွယ်ရေးလုပ်ဖို့ကြိုးစားမနေပါနဲ့။

--enable-runtime က-Pseudo-နေရာပြောင်းရွှေ့

သင့်ရဲ့ကုဒ် --enable-Auto-တင်သွင်းအပိုင်းမှာဖော်ပြထားတဲ့အသုံးအနှုန်းတွေပါရှိသည်ဆိုလျှင်, အကြောင်း, Non-သုည offset နှင့်အတူ DLL ကနေ DATAimports ဖြစ်ပါတယ်, ဒီ switch ကိုကိုးကားထိန်းညှိဖို့ runtime environment ကိုအသုံးပြုသောနိုင်သည့် '' runtime ကကြားဖြတ်နေရာရွှေ့ပြောင်း '' တစ်ဦးအားနည်းချက်ကိုဖန်တီးပါလိမ့်မယ် သင့်ရဲ့ client ကိုကုဒ်ထိုသို့သောဒေတာဖြစ်ပါတယ်။

--disable-runtime က-Pseudo-နေရာပြောင်းရွှေ့

DLLs ကနေ Non-သုည offset အချက်အလက်တင်သွင်းမှုများအတွက်ကြားဖြတ်နေရာရွှေ့ပြောင်းဖန်တီးမထားပါနဲ့။ ဤသည်ကို default ဖြစ်ပါတယ်။

--enable-အပို-Pe-ဒီဘာဂ်

Auto-တင်သွင်းသင်္ကေတ thunking နှင့်ဆက်စပ်သောနောက်ထပ်ဒီဘာဂ်အင်ဖိုပြပါ။

--section-alignment ကို

အပိုင်း alignment ကိုသတ်မှတ်ပေးသည်။ မှတ်ဉာဏ်ထဲမှာကဏ္ဍများအမြဲဒီနံပါတ်ကိုတစ်မျိုးစုံသောလိပ်စာများမှာစတင်ပါလိမ့်မယ်။ 0x1000 မှ Defaults ကို။

--stack အရံ

--stack အရံ, commit

ဒီအစီအစဉ်အတွက် stack အဖြစ်အသုံးပြုခံရဖို့ကြိုတင်ယူထား (နှင့်လုပ်နိုင်သောကျူးလွန်) မှမှတ်ဉာဏ်ပမာဏ Specify ။ ကို default reserved 2MB သည် 4K ကျူးလွန်ခဲ့သော။

အရာ --subsystem

--subsystem ထားတဲ့: အဓိက

အဓိက: ပေးသော --subsystem အသေးအဖှဲ

သင့်ရဲ့ program ကို execute တံ့သောအောက်ရှိ subsystem သို့ဖေါ်ပြသည်။ အဆိုပါဥပဒေရေးရာ "ဇာတိ", "ပြတင်းပေါက်" နေသောများအတွက်တန်ဖိုးများကို, "console ကို" နှင့် "posix" ။ သငျသညျလုပ်နိုင်သောလည်း subsystem သို့ဗားရှင်းကိုသတ်မှတ်လိမ့်မည်။

အရေးကြီး: command တစ်ခုကိုသင်၏အထူးသဖြင့်ကွန်ပျူတာပေါ်တွင်အသုံးပြုသည်ကိုမည်သို့ကြည့်ဖို့လူကို command ကို (% သည်လူ) ကိုသုံးပါ။