EnglishFrenchGermanItaliPortugueseRussiaSpanyol

Favicon OnWorks

mips64-linux-gnuabi64-ld.bfd - Dalam Talian di Awan

Jalankan mips64-linux-gnuabi64-ld.bfd dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan mips64-linux-gnuabi64-ld.bfd yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

JADUAL:

NAMA


ld - Penyambung GNU

SINOPSIS


ld [pilihan] objfile ...

DESCRIPTION


ld menggabungkan beberapa objek dan fail arkib, menempatkan semula data mereka dan mengikat simbol
rujukan. Biasanya langkah terakhir dalam menyusun atur cara ialah menjalankan ld.

ld menerima fail Bahasa Perintah Penghubung yang ditulis dalam superset Editor Pautan AT&T
Sintaks Bahasa Perintah, untuk menyediakan kawalan yang jelas dan menyeluruh ke atas proses pemautan.

Halaman manusia ini tidak menerangkan bahasa arahan; lihat ld entri dalam "info" untuk penuh
butiran tentang bahasa arahan dan aspek lain penyambung GNU.

Versi ld menggunakan perpustakaan BFD tujuan umum untuk beroperasi pada fail objek. ini
membolehkan ld untuk membaca, menggabungkan dan menulis fail objek dalam pelbagai format---untuk
contoh, COFF atau "a.out". Format yang berbeza boleh dikaitkan bersama untuk menghasilkan sebarang
jenis fail objek yang tersedia.

Selain daripada fleksibilitinya, penyambung GNU lebih membantu daripada penyambung lain dalam menyediakan
maklumat diagnostik. Ramai penyambung meninggalkan pelaksanaan serta-merta apabila menemui a
kesilapan; bila-bila boleh, ld terus melaksanakan, membolehkan anda mengenal pasti ralat lain
(atau, dalam beberapa kes, untuk mendapatkan fail output walaupun terdapat ralat).

Penyambung GNU ld bertujuan untuk merangkumi pelbagai situasi, dan serasi
mungkin dengan penghubung lain. Akibatnya, anda mempunyai banyak pilihan untuk mengawalnya
tingkah laku.

PILIHAN


Penyambung menyokong banyak pilihan baris perintah, tetapi dalam amalan sebenar hanya sedikit daripadanya
digunakan dalam mana-mana konteks tertentu. Sebagai contoh, penggunaan yang kerap ld adalah untuk menghubungkan
fail objek Unix standard pada sistem Unix standard yang disokong. Pada sistem sedemikian, untuk
pautkan fail "hello.o":

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

Ini memberitahu ld untuk menghasilkan fail yang dipanggil output sebagai hasil daripada memautkan fail
"/lib/crt0.o" dengan "hello.o" dan perpustakaan "libc.a", yang akan datang daripada standard
cari direktori. (Lihat perbincangan mengenai -l pilihan di bawah.)

Beberapa pilihan baris arahan untuk ld boleh ditentukan pada mana-mana titik dalam baris arahan.
Walau bagaimanapun, pilihan yang merujuk kepada fail, seperti -l or -T, menyebabkan fail dibaca di
titik di mana pilihan muncul dalam baris arahan, berbanding dengan fail objek dan
pilihan fail lain. Mengulangi pilihan bukan fail dengan hujah yang berbeza akan sama ada
tiada kesan lanjut, atau mengatasi kejadian sebelumnya (yang lebih jauh ke kiri pada arahan
baris) daripada pilihan itu. Pilihan yang mungkin dinyatakan secara bermakna lebih daripada sekali ialah
tercatat dalam huraian di bawah.

Argumen bukan pilihan ialah fail objek atau arkib yang akan dipautkan bersama. mereka
boleh mengikuti, mendahului, atau bercampur dengan pilihan baris arahan, kecuali fail objek
hujah tidak boleh diletakkan di antara pilihan dan hujahnya.

Biasanya penyambung dipanggil dengan sekurang-kurangnya satu fail objek, tetapi anda boleh menentukan yang lain
bentuk fail input binari menggunakan -l, -R, dan bahasa arahan skrip. Jika tidak perduaan
fail input sama sekali ditentukan, pemaut tidak menghasilkan sebarang output, dan mengeluarkan fail
mesej Tidak input fail.

Jika pemaut tidak dapat mengenali format fail objek, ia akan menganggap bahawa ia adalah a
skrip penghubung. Skrip yang ditentukan dengan cara ini menambah skrip pemaut utama yang digunakan
pautan (sama ada skrip pemaut lalai atau yang ditentukan dengan menggunakan -T). Ini
ciri membenarkan pemaut untuk memaut ke fail yang kelihatan seperti objek atau
arkib, tetapi sebenarnya hanya mentakrifkan beberapa nilai simbol, atau menggunakan "INPUT" atau "GROUP" untuk
memuatkan objek lain. Menentukan skrip dengan cara ini hanya menambah penghubung utama
skrip, dengan arahan tambahan diletakkan selepas skrip utama; menggunakan -T pilihan untuk menggantikan
skrip pemaut lalai sepenuhnya, tetapi perhatikan kesan arahan "INSERT".

Untuk pilihan yang namanya satu huruf, hujah pilihan mesti sama ada mengikut
surat pilihan tanpa campur tangan ruang putih, atau diberikan sebagai hujah yang berasingan
serta-merta mengikut pilihan yang memerlukannya.

Untuk pilihan yang namanya berbilang huruf, sama ada satu sempang atau dua boleh mendahului
nama pilihan; sebagai contoh, -simbol-simbol dan --simbol-simbol adalah setara. Nota---di sana
adalah satu pengecualian kepada peraturan ini. Pilihan berbilang huruf yang bermula dengan huruf kecil 'o'
hanya boleh didahului dengan dua sengkang. Ini adalah untuk mengurangkan kekeliruan dengan -o pilihan. Jadi
contohnya -omagic menetapkan nama fail output kepada sihir sedangkan --omagic menetapkan NMAGIC
bendera pada output.

Argumen kepada pilihan berbilang huruf mesti sama ada dipisahkan daripada nama pilihan dengan an
sama dengan tanda, atau diberikan sebagai hujah berasingan serta-merta mengikut pilihan itu
memerlukan mereka. Sebagai contoh, --simbol-simbol foo dan --trace-symbol=foo setaraf.
Singkatan unik bagi nama pilihan berbilang huruf diterima.

Nota---jika pemaut sedang dipanggil secara tidak langsung, melalui pemacu pengkompil (cth gcckemudian
semua pilihan baris arahan penghubung hendaklah diawali dengan -Wl, (atau apa sahaja yang sesuai
untuk pemacu pengkompil tertentu) seperti ini:

gcc -Wl,--start-group foo.o bar.o -Wl,--end-group

Ini penting, kerana jika tidak, program pemacu pengkompil mungkin secara senyap menggugurkan
pilihan pemaut, mengakibatkan pautan yang buruk. Kekeliruan juga mungkin timbul apabila lulus pilihan
yang memerlukan nilai melalui pemacu, sebagai penggunaan ruang antara pilihan dan hujah
bertindak sebagai pemisah, dan menyebabkan pemandu hanya memberikan pilihan kepada pemaut dan
hujah kepada penyusun. Dalam kes ini, adalah paling mudah untuk menggunakan bentuk gabungan kedua-duanya
pilihan tunggal dan berbilang huruf, seperti:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Berikut ialah jadual suis baris arahan generik yang diterima oleh pemaut GNU:

@fail
Baca pilihan baris arahan daripada fail. Pilihan yang dibaca dimasukkan sebagai ganti
asal @fail pilihan. Jika fail tidak wujud, atau tidak boleh dibaca, maka pilihan
akan dilayan secara literal, dan tidak dikeluarkan.

Pilihan dalam fail dipisahkan oleh ruang putih. Aksara ruang putih mungkin disertakan
dalam pilihan dengan mengelilingi keseluruhan pilihan dalam petikan tunggal atau berganda. mana-mana
aksara (termasuk garis miring ke belakang) boleh disertakan dengan memberi awalan kepada aksara menjadi
disertakan dengan garis miring ke belakang. The fail mungkin sendiri mengandungi tambahan @fail pilihan; mana-mana
pilihan tersebut akan diproses secara rekursif.

-a kata kunci
Pilihan ini disokong untuk keserasian HP/UX. The kata kunci hujah mesti salah satu
rentetan arkib, dikongsi, Atau lalai. -arkib berfungsi sama dengan
-Bstatik, dan dua kata kunci yang lain secara fungsinya setara dengan -Bdinamik. ini
pilihan boleh digunakan beberapa kali.

--audit AUDITLIB
Tambah AUDITLIB ke entri "DT_AUDIT" bahagian dinamik. AUDITLIB tidak diperiksa
untuk kewujudan, ia juga tidak akan menggunakan DT_SONAME yang dinyatakan dalam perpustakaan. Jika dinyatakan
berbilang kali "DT_AUDIT" akan mengandungi senarai antara muka audit yang dipisahkan bertindih
guna. Jika pemaut menemui objek dengan entri audit semasa mencari perkongsian
perpustakaan, ia akan menambah entri "DT_DEPAUDIT" yang sepadan dalam fail output. ini
pilihan hanya bermakna pada platform ELF yang menyokong antara muka rtld-audit.

-A seni bina
--seni bina=seni bina
Dalam keluaran semasa ld, pilihan ini hanya berguna untuk keluarga Intel 960
seni bina. Dalam itu ld konfigurasi, yang seni bina hujah mengenal pasti
seni bina tertentu dalam keluarga 960, membolehkan beberapa perlindungan dan mengubah suai
laluan carian arkib-perpustakaan.

Keluaran masa depan bagi ld mungkin menyokong fungsi yang serupa untuk seni bina lain
keluarga.

-b format input
--format=format input
ld boleh dikonfigurasikan untuk menyokong lebih daripada satu jenis fail objek. Jika anda ld is
dikonfigurasikan dengan cara ini, anda boleh menggunakan -b pilihan untuk menentukan format binari untuk input
fail objek yang mengikuti pilihan ini pada baris arahan. Walaupun ketika ld dikonfigurasikan
untuk menyokong format objek alternatif, anda biasanya tidak perlu menentukan ini, sebagai ld
harus dikonfigurasikan untuk mengharapkan sebagai format input lalai format yang paling biasa pada setiap satu
mesin. format input ialah rentetan teks, nama format tertentu yang disokong oleh
perpustakaan BFD. (Anda boleh menyenaraikan format binari yang tersedia dengan objdump -i.)

Anda mungkin mahu menggunakan pilihan ini jika anda memautkan fail dengan binari yang luar biasa
format. Anda juga boleh menggunakan -b untuk menukar format secara eksplisit (apabila memautkan fail objek
daripada format yang berbeza), dengan memasukkan -b format input sebelum setiap kumpulan fail objek
dalam format tertentu.

Format lalai diambil daripada pembolehubah persekitaran "GNUTARGET".

Anda juga boleh menentukan format input daripada skrip, menggunakan arahan "TARGET";

-c Fail arahan MRI
--mri-skrip=Fail arahan MRI
Untuk keserasian dengan penghubung yang dihasilkan oleh MRI, ld menerima fail skrip yang ditulis dalam
bahasa arahan ganti, terhad, diterangkan dalam Fail Skrip Serasi MRI
bahagian dokumentasi GNU ld. Memperkenalkan fail skrip MRI dengan pilihan -c; menggunakan
yang -T pilihan untuk menjalankan skrip penghubung yang ditulis dalam tujuan umum ld skrip
bahasa. Jika MRI-cmdfile tidak wujud, ld mencarinya dalam direktori yang ditentukan
oleh mana-mana -L pilihan.

-d
-dc
-dp Tiga pilihan ini adalah setara; berbilang borang disokong untuk keserasian
dengan penghubung lain. Mereka memberikan ruang kepada simbol biasa walaupun output yang boleh dipindahkan
fail ditentukan (dengan -r). Arahan skrip "FORCE_COMMON_ALLOCATION" mempunyai
kesan yang sama.

--depaudit AUDITLIB
-P AUDITLIB
Tambah AUDITLIB ke entri "DT_DEPAUDIT" bahagian dinamik. AUDITLIB tidak
disemak untuk kewujudan, ia juga tidak akan menggunakan DT_SONAME yang dinyatakan dalam perpustakaan. Jika
dinyatakan beberapa kali "DT_DEPAUDIT" akan mengandungi senarai audit yang diasingkan bertindih
antara muka untuk digunakan. Pilihan ini hanya bermakna pada platform ELF yang menyokong
antara muka rtld-audit. Pilihan -P disediakan untuk keserasian Solaris.

-e kemasukan
--masuk=kemasukan
Penggunaan kemasukan sebagai simbol eksplisit untuk memulakan pelaksanaan program anda, bukannya
titik masuk lalai. Jika tiada simbol dinamakan kemasukan, penghubung akan cuba
menghurai kemasukan sebagai nombor, dan gunakan itu sebagai alamat kemasukan (nombornya ialah
ditafsirkan dalam asas 10; anda boleh menggunakan peneraju 0x untuk asas 16, atau peneraju 0 untuk asas
8).

--exclude-libs lib,lib, ...
Menentukan senarai pustaka arkib yang simbolnya tidak sepatutnya secara automatik
dieksport. Nama perpustakaan mungkin dibataskan dengan koma atau titik bertindih. Menentukan
"--exclude-libs ALL" mengecualikan simbol dalam semua pustaka arkib daripada eksport automatik.
Pilihan ini tersedia hanya untuk port sasaran i386 PE bagi pemaut dan untuk ELF
pelabuhan yang disasarkan. Untuk i386 PE, simbol yang disenaraikan secara eksplisit dalam fail .def masih kekal
dieksport, tanpa mengira pilihan ini. Untuk port sasaran ELF, simbol dipengaruhi oleh ini
pilihan akan dianggap sebagai tersembunyi.

--exclude-modules-for-implib modul,modul, ...
Menentukan senarai fail objek atau ahli arkib, daripada mana simbol tidak sepatutnya
dieksport secara automatik, tetapi yang harus disalin secara borong ke dalam perpustakaan import
sedang dijana semasa pautan. Nama modul mungkin dibataskan dengan koma atau
titik bertindih, dan mesti sepadan dengan nama fail yang digunakan oleh ld untuk membuka fail; untuk arkib
ahli, ini hanyalah nama ahli, tetapi untuk fail objek nama yang disenaraikan mesti
sertakan dan padankan dengan tepat mana-mana laluan yang digunakan untuk menentukan fail input pada pemaut
baris arahan. Pilihan ini tersedia hanya untuk port sasaran i386 PE bagi
penghubung. Simbol yang disenaraikan secara eksplisit dalam fail .def masih dieksport, tanpa mengira
pilihan ini.

-E
--eksport-dinamik
--tiada-eksport-dinamik
Apabila mencipta boleh laku yang dipautkan secara dinamik, menggunakan -E pilihan atau
--eksport-dinamik pilihan menyebabkan pemaut menambah semua simbol pada simbol dinamik
meja. Jadual simbol dinamik ialah set simbol yang boleh dilihat daripada dinamik
objek pada masa larian.

Jika anda tidak menggunakan salah satu daripada pilihan ini (atau gunakan --tiada-eksport-dinamik pilihan untuk
memulihkan tingkah laku lalai), jadual simbol dinamik biasanya akan mengandungi sahaja
simbol-simbol yang dirujuk oleh beberapa objek dinamik yang disebut dalam pautan.

Jika anda menggunakan "dlopen" untuk memuatkan objek dinamik yang perlu merujuk kembali kepada simbol
ditakrifkan oleh program, dan bukannya beberapa objek dinamik lain, maka anda mungkin akan
perlu menggunakan pilihan ini apabila memautkan program itu sendiri.

Anda juga boleh menggunakan senarai dinamik untuk mengawal simbol yang perlu ditambah pada
jadual simbol dinamik jika format output menyokongnya. Lihat penerangan tentang
--senarai-dinamik.

Ambil perhatian bahawa pilihan ini khusus untuk port disasarkan ELF. Sasaran PE menyokong yang serupa
berfungsi untuk mengeksport semua simbol daripada DLL atau EXE; lihat penerangan tentang
--eksport-semua-simbol di bawah.

-EB Pautkan objek besar-endian. Ini menjejaskan format output lalai.

-EL Pautkan objek little-endian. Ini menjejaskan format output lalai.

-f nama
--bantu =nama
Apabila mencipta objek kongsi ELF, tetapkan medan DT_AUXILIARY dalaman kepada
nama yang ditentukan. Ini memberitahu pemaut dinamik bahawa jadual simbol yang dikongsi
objek harus digunakan sebagai penapis tambahan pada jadual simbol objek kongsi
nama.

Jika anda kemudiannya memautkan program dengan objek penapis ini, maka, apabila anda menjalankan
program, pemaut dinamik akan melihat medan DT_AUXILIARY. Jika penghubung dinamik
menyelesaikan sebarang simbol daripada objek penapis, ia akan terlebih dahulu menyemak sama ada terdapat a
definisi dalam objek yang dikongsi nama. Jika ada, ia akan digunakan sebagai ganti
definisi dalam objek penapis. Objek yang dikongsi nama tidak perlu wujud. Justeru itu
objek kongsi nama boleh digunakan untuk menyediakan pelaksanaan alternatif tertentu
fungsi, mungkin untuk penyahpepijatan atau untuk prestasi khusus mesin.

Pilihan ini boleh ditentukan lebih daripada sekali. Entri DT_AUXILIARY akan dibuat
mengikut susunan yang muncul pada baris arahan.

-F nama
--penapis=nama
Apabila mencipta objek kongsi ELF, tetapkan medan DT_FILTER dalaman kepada yang ditentukan
nama. Ini memberitahu pemaut dinamik bahawa jadual simbol objek kongsi yang
sedang dibuat hendaklah digunakan sebagai penapis pada jadual simbol objek kongsi
nama.

Jika anda kemudiannya memautkan program dengan objek penapis ini, maka, apabila anda menjalankan
program, pemaut dinamik akan melihat medan DT_FILTER. Penghubung dinamik akan
menyelesaikan simbol mengikut jadual simbol objek penapis seperti biasa, tetapi ia
sebenarnya akan memaut kepada definisi yang terdapat dalam objek kongsi nama. Oleh itu,
objek penapis boleh digunakan untuk memilih subset simbol yang disediakan oleh objek
nama.

Beberapa pemaut lama menggunakan -F pilihan sepanjang rantai alat kompilasi untuk
menentukan format fail objek untuk kedua-dua fail objek input dan output. Penyambung GNU
menggunakan mekanisme lain untuk tujuan ini: the -b, --format, --oformat pilihan, yang
Perintah "TARGET" dalam skrip pemaut dan pembolehubah persekitaran "GNUTARGET". GNU
penghubung akan mengabaikan -F pilihan apabila tidak mencipta objek kongsi ELF.

-fini=nama
Apabila mencipta objek boleh laku atau kongsi ELF, panggil NAME apabila objek boleh laku atau
objek kongsi dipunggah, dengan menetapkan DT_FINI kepada alamat fungsi. Oleh
lalai, pemaut menggunakan "_fini" sebagai fungsi untuk memanggil.

-g tidak diendahkan. Disediakan untuk keserasian dengan alat lain.

-G nilai
--gpsize=nilai
Tetapkan saiz maksimum objek untuk dioptimumkan menggunakan daftar GP saiz. ini
hanya bermakna untuk format fail objek seperti MIPS ELF yang menyokong meletakkan besar
dan objek kecil kepada bahagian yang berbeza. Ini diabaikan untuk fail objek lain
format.

-h nama
-sonname=nama
Apabila mencipta objek kongsi ELF, tetapkan medan DT_SONAME dalaman kepada yang ditentukan
nama. Apabila boleh laku dipautkan dengan objek kongsi yang mempunyai medan DT_SONAME,
maka apabila boleh laku dijalankan, pemaut dinamik akan cuba memuatkan perkongsian
objek yang ditentukan oleh medan DT_SONAME dan bukannya menggunakan nama fail yang diberikan kepada
penghubung.

-i Lakukan pautan tambahan (sama seperti pilihan -r).

-init=nama
Apabila mencipta objek boleh laku atau kongsi ELF, panggil NAME apabila objek boleh laku atau
objek kongsi dimuatkan, dengan menetapkan DT_INIT kepada alamat fungsi. Oleh
lalai, pemaut menggunakan "_init" sebagai fungsi untuk memanggil.

-l spesifikasi nama
--perpustakaan=spesifikasi nama
Tambahkan arkib atau fail objek yang ditentukan oleh spesifikasi nama ke senarai fail untuk dipautkan.
Pilihan ini boleh digunakan beberapa kali. Jika spesifikasi nama adalah dalam bentuk :nama fail, ld
akan mencari laluan perpustakaan untuk fail yang dipanggil nama fail, jika tidak ia akan mencari
laluan perpustakaan untuk fail yang dipanggil libnamespec.a.

Pada sistem yang menyokong perpustakaan kongsi, ld juga boleh mencari fail selain daripada
libnamespec.a. Khususnya, pada sistem ELF dan SunOS, ld akan mencari direktori untuk
sebuah perpustakaan bernama libnamespec.so sebelum mencari yang dipanggil libnamespec.a. (Oleh
konvensyen, sambungan ".so" menunjukkan perpustakaan kongsi.) Ambil perhatian bahawa tingkah laku ini
tidak terpakai kepada :nama fail, yang sentiasa menentukan fail yang dipanggil nama fail.

Pemaut akan mencari arkib sekali sahaja, di lokasi yang dinyatakan
baris arahan. Jika arkib mentakrifkan simbol yang tidak ditentukan dalam beberapa objek
yang muncul sebelum arkib pada baris arahan, pemaut akan menyertakan
fail yang sesuai daripada arkib. Walau bagaimanapun, simbol yang tidak ditentukan dalam objek
muncul kemudian pada baris arahan tidak akan menyebabkan pemaut mencari arkib
lagi.

Melihat -( pilihan untuk cara memaksa pemaut mencari arkib beberapa kali.

Anda boleh menyenaraikan arkib yang sama beberapa kali pada baris arahan.

Jenis carian arkib ini adalah standard untuk pemaut Unix. Walau bagaimanapun, jika anda
menggunakan ld pada AIX, ambil perhatian bahawa ia berbeza daripada kelakuan pemaut AIX.

-L searchdir
--library-path=searchdir
Tambah laluan searchdir kepada senarai laluan yang ld akan mencari perpustakaan arkib dan
ld skrip kawalan. Anda boleh menggunakan pilihan ini beberapa kali. Direktori adalah
dicari mengikut susunan yang dinyatakan pada baris arahan. Direktori
yang ditentukan pada baris arahan dicari sebelum direktori lalai. Semua -L
pilihan terpakai kepada semua -l pilihan, tanpa mengira susunan pilihan muncul.
-L pilihan tidak menjejaskan bagaimana ld mencari skrip pemaut melainkan -T pilihan adalah
dinyatakan.

If searchdir bermula dengan "=", kemudian "=" akan digantikan dengan sysroot awalan,
dikawal oleh --sysroot pilihan, atau ditentukan apabila pemaut dikonfigurasikan.

Set lalai laluan yang dicari (tanpa dinyatakan dengan -L) bergantung kepada yang mana
mod emulasi ld sedang digunakan, dan dalam beberapa kes juga tentang cara ia dikonfigurasikan.

Laluan juga boleh ditentukan dalam skrip pautan dengan arahan "SEARCH_DIR".
Direktori yang dinyatakan dengan cara ini dicari pada titik di mana skrip pemaut
muncul dalam baris arahan.

-m emulasi
Mencontohi emulasi penghubung. Anda boleh menyenaraikan emulasi yang tersedia dengan
--verbose or -V pilihan.

Jika -m pilihan tidak digunakan, emulasi diambil dari "LDEMULATION"
pembolehubah persekitaran, jika itu ditakrifkan.

Jika tidak, emulasi lalai bergantung pada cara pemaut dikonfigurasikan.

-M
--cetak-peta
Cetak peta pautan ke output standard. Peta pautan menyediakan maklumat tentang
pautan, termasuk yang berikut:

· Di mana fail objek dipetakan ke dalam ingatan.

· Bagaimana simbol biasa diperuntukkan.

· Semua ahli arkib disertakan dalam pautan, dengan sebutan simbol yang
menyebabkan ahli arkib itu dibawa masuk.

· Nilai yang diberikan kepada simbol.

Nota - simbol yang nilainya dikira dengan ungkapan yang melibatkan a
rujukan kepada nilai sebelumnya bagi simbol yang sama mungkin tidak mempunyai hasil yang betul
dipaparkan dalam peta pautan. Ini kerana penghubung membuang perantaraan
keputusan dan hanya mengekalkan nilai akhir ungkapan. Di bawah sebegitu
keadaan pemaut akan memaparkan nilai akhir yang disertakan dengan kurungan segi empat sama.
Oleh itu sebagai contoh skrip penghubung yang mengandungi:

foo = 1
foo = foo * 4
foo = foo + 8

akan menghasilkan output berikut dalam peta pautan jika -M pilihan digunakan:

0x00000001 foo = 0x1
[0x0000000c] foo = (foo * 0x4)
[0x0000000c] foo = (foo + 0x8)

Lihat Ungkapan untuk mendapatkan maklumat lanjut tentang ungkapan dalam skrip penghubung.

-n
--nmagik
Matikan penjajaran halaman bahagian dan lumpuhkan pemautan terhadap perpustakaan kongsi. Jika
format output menyokong nombor ajaib gaya Unix, tandakan output sebagai "NMAGIC".

-N
--omagic
Tetapkan bahagian teks dan data supaya boleh dibaca dan ditulis. Juga, jangan selaraskan halaman
segmen data dan lumpuhkan pemautan terhadap perpustakaan kongsi. Jika format output
menyokong nombor ajaib gaya Unix, tandakan output sebagai "OMAGIC". Nota: Walaupun a
bahagian teks boleh tulis dibenarkan untuk sasaran PE-COFF, ia tidak mematuhi
spesifikasi format yang diterbitkan oleh Microsoft.

--no-omagic
Pilihan ini menafikan kebanyakan kesan daripada -N pilihan. Ia menetapkan bahagian teks kepada
menjadi baca sahaja dan memaksa segmen data dijajarkan halaman. Nota - pilihan ini tidak
tidak membolehkan pemautan terhadap perpustakaan kongsi. guna -Bdinamik untuk ini.

-o output
--output=output
Penggunaan output sebagai nama program yang dihasilkan oleh ld; jika pilihan ini tidak
dinyatakan, nama a. keluar digunakan secara lalai. Perintah skrip "OUTPUT" juga boleh
nyatakan nama fail output.

-O tahap
If tahap ialah nilai berangka yang lebih besar daripada sifar ld mengoptimumkan output. Ini mungkin
mengambil masa yang lebih lama dan oleh itu mungkin hanya perlu didayakan untuk perlawanan akhir
binari. Pada masa ini pilihan ini hanya mempengaruhi penjanaan perpustakaan kongsi ELF. masa depan
keluaran pemaut boleh menggunakan lebih banyak pilihan ini. Juga pada masa ini tidak ada
perbezaan dalam tingkah laku pemaut untuk nilai bukan sifar yang berbeza bagi pilihan ini.
Sekali lagi ini mungkin berubah dengan keluaran akan datang.

--keadaan tolak
. --keadaan tolak membolehkan untuk mengekalkan keadaan semasa bendera yang mengawal
pengendalian fail input supaya mereka semua boleh dipulihkan dengan satu yang sepadan
--pop-state pilihan.

Pilihan yang dilindungi adalah: -Bdinamik, -Bstatik, -dn, -dy, -call_shared,
-non_shared, -statik, -N, -n, --keseluruhan-arkib, --tiada-keseluruhan-arkib, -r, -Ur,
--copy-dt-needed-entry, --no-copy-dt-needed-entry, --seperti yang diperlukan, --tidak-seperti-perlu,
dan -a.

Satu sasaran untuk pilihan ini ialah spesifikasi untuk pkg-konfigurasi. Apabila digunakan dengan
--libs pilihan semua perpustakaan yang mungkin diperlukan disenaraikan dan kemudian mungkin dipautkan dengan
setiap masa. Adalah lebih baik untuk mengembalikan sesuatu seperti berikut:

-Wl,--tekan-keadaan,--sebagaimana-diperlukan -libone -libtwo -Wl,--pop-keadaan

Membuat asal kesan --push-state, memulihkan nilai sebelumnya bagi bendera yang mengawal
pengendalian fail input.

-q
--memancarkan-relok
Tinggalkan bahagian penempatan semula dan kandungan dalam boleh laku yang dipautkan sepenuhnya. Pautan siaran
alat analisis dan pengoptimuman mungkin memerlukan maklumat ini untuk berfungsi dengan betul
pengubahsuaian boleh laku. Ini menghasilkan laksana yang lebih besar.

Pilihan ini pada masa ini hanya disokong pada platform ELF.

--daya-dinamik
Paksa fail output mempunyai bahagian dinamik. Pilihan ini khusus untuk VxWorks
sasaran.

-r
--boleh dipindahkan
Hasilkan keluaran yang boleh dipindahkan---iaitu, hasilkan fail output yang boleh berfungsi sebagai
input kepada ld. Ini sering dipanggil separa menghubungkan. Sebagai kesan sampingan, dalam persekitaran
yang menyokong nombor ajaib Unix standard, pilihan ini juga menetapkan fail output
nombor ajaib kepada "OMAGIC". Jika pilihan ini tidak dinyatakan, fail mutlak adalah
dihasilkan. Apabila memautkan program C++, pilihan ini akan tidak menyelesaikan rujukan kepada
pembina; untuk melakukan itu, gunakan -Ur.

Apabila fail input tidak mempunyai format yang sama seperti fail output, pemautan separa
hanya disokong jika fail input itu tidak mengandungi sebarang penempatan semula. Berbeza
format output boleh mempunyai sekatan lanjut; contohnya beberapa format berasaskan "a.out".
tidak menyokong pemautan separa dengan fail input dalam format lain sama sekali.

Pilihan ini melakukan perkara yang sama seperti -i.

-R nama fail
--just-simbol=nama fail
Baca nama simbol dan alamatnya dari nama fail, tetapi jangan letakkannya semula atau sertakan
ia dalam output. Ini membolehkan fail output anda merujuk secara simbolik kepada mutlak
lokasi memori yang ditakrifkan dalam program lain. Anda boleh menggunakan pilihan ini lebih daripada
sekali.

Untuk keserasian dengan penyambung ELF lain, jika -R pilihan diikuti oleh direktori
nama, bukannya nama fail, ia dianggap sebagai -rath pilihan.

-s
--strip-semua
Abaikan semua maklumat simbol daripada fail output.

-S
--strip-debug
Abaikan maklumat simbol penyahpepijat (tetapi bukan semua simbol) daripada fail output.

-t
--jejak
Cetak nama fail input sebagai ld memproses mereka.

-T fail skrip
--skrip=fail skrip
Penggunaan fail skrip sebagai skrip penghubung. Skrip ini menggantikan ldskrip pemaut lalai
(daripada menambahnya), jadi fail perintah mesti menyatakan segala yang perlu untuk
terangkan fail output. Jika fail skrip tidak wujud dalam direktori semasa,
"ld" mencarinya dalam direktori yang ditentukan oleh mana-mana sebelumnya -L pilihan. Pelbagai
-T pilihan terkumpul.

-dT fail skrip
--default-script=fail skrip
Penggunaan fail skrip sebagai skrip pemaut lalai.

Pilihan ini serupa dengan --skrip pilihan kecuali pemprosesan skrip adalah
ditangguhkan sehingga selepas seluruh baris arahan telah diproses. Ini membenarkan
pilihan yang diletakkan selepas --default-script pilihan pada baris arahan untuk mempengaruhi
tingkah laku skrip pemaut, yang boleh menjadi penting apabila baris arahan pemaut
tidak boleh dikawal secara langsung oleh pengguna. (cth kerana baris arahan sedang
dibina oleh alat lain, seperti gcc).

-u lambang
--undefined=lambang
Memaksa lambang untuk dimasukkan ke dalam fail output sebagai simbol yang tidak ditentukan. Melakukan ini mungkin,
contohnya, pencetus pemautan modul tambahan daripada perpustakaan standard. -u mungkin
diulang dengan argumen pilihan yang berbeza untuk memasukkan simbol tambahan yang tidak ditentukan. ini
pilihan adalah bersamaan dengan arahan skrip pemaut "EXTERN".

Jika pilihan ini digunakan untuk memaksa modul tambahan ditarik ke dalam pautan,
dan jika ia adalah ralat untuk simbol kekal tidak ditentukan, maka pilihan
--require-defined hendaklah digunakan sebaliknya.

--require-defined=lambang
Memerlukan itu lambang ditakrifkan dalam fail output. Pilihan ini sama dengan pilihan
--tidak ditentukan kecuali jika lambang tidak ditakrifkan dalam fail output kemudian pemaut
akan mengeluarkan ralat dan keluar. Kesan yang sama boleh dicapai dalam skrip penghubung dengan
menggunakan "EXTERN", "ASSERT" dan "DEFINED" bersama-sama. Pilihan ini boleh digunakan berbilang
kali untuk memerlukan simbol tambahan.

-Ur Untuk apa-apa selain program C++, pilihan ini bersamaan dengan -r: ia menjana
output boleh pindah---iaitu, fail output yang seterusnya boleh berfungsi sebagai input kepada ld. Apabila
menghubungkan program C++, -Ur tidak menyelesaikan rujukan kepada pembina, tidak seperti -r. Ia berlaku
tidak berfungsi untuk digunakan -Ur pada fail yang dipautkan sendiri -Ur; sekali
jadual pembina telah dibina, ia tidak boleh ditambah. guna -Ur hanya untuk yang terakhir
pautan separa, dan -r untuk yang lain.

--pengendalian anak yatim=MODE
Kawal cara bahagian anak yatim dikendalikan. Bahagian anak yatim bukanlah satu bahagian yang khusus
disebut dalam skrip penghubung.

MODE boleh mempunyai mana-mana nilai berikut:

"tempat"
Bahagian anak yatim diletakkan ke bahagian keluaran yang sesuai mengikut strategi
dijelaskan dalam Anak yatim seksyen. Pilihannya --unik juga kesan bagaimana bahagian
ditempatkan.

"buang"
Semua bahagian anak yatim dibuang, dengan meletakkannya di dalam /BUANG/ bawah seksyen ini.

"beri amaran"
Penyambung akan meletakkan bahagian anak yatim seperti "tempat" dan juga mengeluarkan amaran.

"kesilapan"
Penyambung akan keluar dengan ralat jika mana-mana bahagian anak yatim ditemui.

Lalai jika --pengendalian anak yatim tidak diberikan adalah "tempat".

--unik[=BAHAGIAN]
Mencipta bahagian output yang berasingan untuk setiap pemadanan bahagian input BAHAGIAN, atau jika
kad bebas pilihan BAHAGIAN hujah tiada, untuk setiap bahagian input anak yatim. An
bahagian yatim adalah bahagian yang tidak disebut secara khusus dalam skrip penghubung. Anda boleh menggunakan ini
pilihan beberapa kali pada baris arahan; Ia menghalang penggabungan biasa input
bahagian dengan nama yang sama, mengatasi tugasan bahagian output dalam skrip pemaut.

-v
--versi
-V Paparkan nombor versi untuk ld. Yang -V pilihan juga menyenaraikan emulasi yang disokong.

-x
--buang-semua
Padam semua simbol tempatan.

-X
--buang-orang tempatan
Padam semua simbol tempatan sementara. (Simbol ini bermula dengan tempatan khusus sistem
awalan label, biasanya .L untuk sistem ELF atau L untuk sistem a.out tradisional.)

-y lambang
--simbol-simbol=lambang
Cetak nama setiap fail yang dipautkan lambang muncul. Pilihan ini boleh diberikan
berapa kali pun. Pada banyak sistem adalah perlu untuk menambah garis bawah.

Pilihan ini berguna apabila anda mempunyai simbol yang tidak ditentukan dalam pautan anda tetapi tidak tahu
dari mana datangnya rujukan.

-Y jalan
Tambah jalan ke laluan carian perpustakaan lalai. Pilihan ini wujud untuk Solaris
keserasian.

-z kata kunci
Kata kunci yang diiktiraf ialah:

combreloc
Menggabungkan berbilang bahagian reloc dan mengisihnya untuk membuat carian simbol dinamik
caching mungkin.

kekurangan
Tidak membenarkan simbol yang tidak ditentukan dalam fail objek. Simbol tidak ditentukan dalam dikongsi
perpustakaan masih dibenarkan.

execstack
Menandai objek sebagai memerlukan tindanan boleh laku.

global
Pilihan ini hanya bermakna apabila membina objek kongsi. Ia menjadikan
simbol yang ditakrifkan oleh objek kongsi ini tersedia untuk resolusi simbol
seterusnya dimuatkan perpustakaan.

initfirst
Pilihan ini hanya bermakna apabila membina objek kongsi. Ia menandakan objek
supaya permulaan masa jalannya akan berlaku sebelum permulaan masa jalan bagi
sebarang objek lain yang dibawa ke dalam proses pada masa yang sama. Begitu juga dengan
pemuktamadkan masa jalan bagi objek akan berlaku selepas pemuktamadkan masa jalan bagi
sebarang objek lain.

interpose
Menandai objek yang jadual simbolnya bersilang sebelum semua simbol kecuali
boleh laku utama.

malas
Apabila menjana pustaka boleh laku atau kongsi, tandai untuk memberitahu dinamik
penghubung untuk menangguhkan resolusi panggilan fungsi ke titik apabila fungsi dipanggil
(mengikat malas), bukannya pada masa muat. Lazy binding adalah lalai.

loadfltr
Menandai objek bahawa penapisnya diproses serta-merta semasa masa jalan.

muldef
Membolehkan pelbagai definisi.

nocombreloc
Melumpuhkan gabungan berbilang bahagian reloc.

nocopyreloc
Lumpuhkan pembolehubah .dynbss yang dihasilkan oleh pemaut yang digunakan sebagai ganti pembolehubah yang ditakrifkan dalam
perpustakaan kongsi. Boleh mengakibatkan penempatan semula teks dinamik.

nodefaultlib
Menandai objek bahawa carian untuk kebergantungan objek ini akan mengabaikan sebarang
laluan carian perpustakaan lalai.

nodelete
Menandai objek tidak boleh dipunggah pada masa jalan.

nodlopen
Menandai objek tidak tersedia untuk "dlopen".

nodump
Menandai objek tidak boleh dibuang oleh "dldump".

noexecstack
Menandai objek sebagai tidak memerlukan tindanan boleh laku.

teks
Anggap DT_TEXTREL dalam objek kongsi sebagai ralat.

notext
Jangan anggap DT_TEXTREL dalam objek kongsi sebagai ralat.

textoff
Jangan anggap DT_TEXTREL dalam objek kongsi sebagai ralat.

norelro
Jangan buat pengepala segmen "PT_GNU_RELRO" ELF dalam objek.

kini Apabila menjana pustaka boleh laku atau kongsi, tandai untuk memberitahu dinamik
penghubung untuk menyelesaikan semua simbol apabila program dimulakan, atau apabila dikongsi
perpustakaan dikaitkan dengan menggunakan dlopen, bukannya menangguhkan resolusi panggilan fungsi
ke titik apabila fungsi pertama kali dipanggil.

asal
Menandakan objek mungkin mengandungi $ORIGIN.

relro
Buat pengepala segmen "PT_GNU_RELRO" ELF dalam objek.

maks-saiz-halaman=nilai
Tetapkan saiz halaman maksimum emulasi kepada nilai.

saiz-halaman biasa=nilai
Tetapkan saiz halaman biasa emulasi kepada nilai.

saiz tindanan=nilai
Tentukan saiz tindanan untuk dalam segmen "PT_GNU_STACK" ELF. Menentukan kehendak sifar
mengatasi sebarang penciptaan segmen "PT_GNU_STACK" bersaiz bukan sifar lalai.

bndplt
Sentiasa jana awalan BND dalam entri PLT. Disokong untuk Linux/x86_64.

noextern-protected-data
Jangan layan simbol data yang dilindungi sebagai luaran semasa membina pustaka kongsi. ini
pilihan mengatasi lalai hujung belakang pemaut. Ia boleh digunakan untuk menyelesaikan masalah yang salah
penempatan semula terhadap simbol data dilindungi yang dihasilkan oleh pengkompil. Kemas kini pada
simbol data yang dilindungi oleh modul lain tidak kelihatan kepada hasil perkongsian yang terhasil
perpustakaan. Disokong untuk i386 dan x86-64.

call-nop=prefix-addr
call-nop=prefix-nop
panggil-nop=akhiran-nop
call-nop=prefix-bait
call-nop=akhiran-bait
Tentukan padding "NOP" 1-bait apabila menukar panggilan tidak langsung kepada tempatan
fungsi yang ditentukan, foo, melalui slot GOTnya. call-nop=prefix-addr menjana "0x67
panggil foo". call-nop=prefix-nop menjana "0x90 call foo". panggil-nop=akhiran-nop
menjana "panggilan foo 0x90". call-nop=prefix-bait menjana "bait memanggil foo".
call-nop=akhiran-bait menjana "panggilan foo bait". Disokong untuk i386 dan x86_64.

Kata kunci lain diabaikan untuk keserasian Solaris.

-( arkib -)
- memulakan kumpulan arkib - kumpulan akhir
. arkib mestilah senarai fail arkib. Mereka mungkin sama ada fail eksplisit
nama, atau -l pilihan.

Arkib yang ditentukan dicari berulang kali sehingga tiada rujukan baru yang tidak ditentukan
dicipta. Biasanya, arkib dicari sekali sahaja mengikut susunan yang ditentukan
pada baris arahan. Jika simbol dalam arkib itu diperlukan untuk menyelesaikan masalah yang tidak ditentukan
simbol yang dirujuk oleh objek dalam arkib yang muncul kemudian pada baris arahan,
pemaut tidak akan dapat menyelesaikan rujukan itu. Dengan mengelompokkan arkib,
semuanya dicari berulang kali sehingga semua rujukan yang mungkin diselesaikan.

Menggunakan pilihan ini mempunyai kos prestasi yang ketara. Lebih baik menggunakannya hanya apabila
terdapat rujukan pekeliling yang tidak dapat dielakkan antara dua atau lebih arkib.

--accept-unknown-input-arch
--no-accept-unknown-input-arch
Memberitahu pemaut untuk menerima fail input yang seni binanya tidak dapat dikenali. The
andaian ialah pengguna tahu apa yang mereka lakukan dan sengaja mahu memautkan
dalam fail input yang tidak diketahui ini. Ini ialah kelakuan lalai pemaut, sebelum ini
keluaran 2.14. Tingkah laku lalai dari keluaran 2.14 dan seterusnya adalah untuk menolak input tersebut
fail, dan sebagainya --accept-unknown-input-arch pilihan telah ditambahkan untuk memulihkan yang lama
tingkah laku.

--seperti yang diperlukan
--tidak-seperti-perlu
Pilihan ini mempengaruhi teg ELF DT_NEEDED untuk perpustakaan dinamik yang disebut pada arahan
garis selepas --seperti yang diperlukan pilihan. Biasanya penyambung akan menambah tag DT_NEEDED untuk
setiap perpustakaan dinamik yang disebut pada baris arahan, tidak kira sama ada perpustakaan
sebenarnya diperlukan atau tidak. --seperti yang diperlukan menyebabkan teg DT_NEEDED hanya dipancarkan
perpustakaan yang at Bahawa titik in yang pautan memenuhi simbol yang tidak ditakrifkan yang tidak lemah
rujukan daripada fail objek biasa atau, jika perpustakaan tidak ditemui dalam DT_NEEDED
senarai perpustakaan lain yang diperlukan, rujukan simbol tidak ditakrifkan yang tidak lemah daripada yang lain
perpustakaan dinamik yang diperlukan. Fail objek atau perpustakaan muncul pada baris arahan selepas
perpustakaan berkenaan tidak menjejaskan sama ada perpustakaan dilihat perlu. Ini adalah
serupa dengan peraturan untuk pengekstrakan fail objek daripada arkib. --tidak-seperti-perlu
memulihkan kelakuan lalai.

--tambah-diperlukan
--tidak-tambah-diperlukan
Kedua-dua pilihan ini telah ditamatkan kerana persamaan nama mereka dengan
--seperti yang diperlukan dan --tidak-seperti-perlu pilihan. Mereka telah digantikan oleh
--copy-dt-needed-entry dan --no-copy-dt-needed-entry.

-tegaskan kata kunci
Pilihan ini diabaikan untuk keserasian SunOS.

-Bdinamik
-dy
-call_shared
Pautan terhadap perpustakaan dinamik. Ini hanya bermakna pada platform yang dikongsi
perpustakaan disokong. Pilihan ini biasanya lalai pada platform tersebut. The
varian berbeza pilihan ini adalah untuk keserasian dengan pelbagai sistem. Anda boleh
gunakan pilihan ini beberapa kali pada baris arahan: ia mempengaruhi pencarian perpustakaan
-l pilihan yang mengikutinya.

-Bgroup
Tetapkan bendera "DF_1_GROUP" dalam entri "DT_FLAGS_1" dalam bahagian dinamik. ini
menyebabkan pemaut masa jalan mengendalikan carian dalam objek ini dan kebergantungannya menjadi
dilakukan hanya di dalam kumpulan. --unresolved-symbols=laporkan-semua tersirat. ini
pilihan hanya bermakna pada platform ELF yang menyokong perpustakaan kongsi.

-Bstatik
-dn
-non_shared
-statik
Jangan paut ke perpustakaan kongsi. Ini hanya bermakna pada platform yang
perpustakaan kongsi disokong. Varian berbeza pilihan ini adalah untuk
keserasian dengan pelbagai sistem. Anda boleh menggunakan pilihan ini beberapa kali pada
baris arahan: ia menjejaskan carian perpustakaan untuk -l pilihan yang mengikutinya. ini
pilihan juga membayangkan --unresolved-symbols=laporkan-semua. Pilihan ini boleh digunakan dengan
-berkongsi. Melakukannya bermakna perpustakaan kongsi sedang dibuat tetapi semua
rujukan luaran perpustakaan mesti diselesaikan dengan menarik masuk entri daripada statik
perpustakaan.

-Simbolik
Apabila membuat perpustakaan kongsi, ikat rujukan kepada simbol global pada definisi
dalam pustaka kongsi, jika ada. Biasanya, adalah mungkin untuk program yang dipautkan
terhadap perpustakaan kongsi untuk mengatasi definisi dalam perpustakaan kongsi. ini
pilihan juga boleh digunakan dengan --eksport-dinamik pilihan, apabila membuat kedudukan
boleh laku bebas, untuk mengikat rujukan kepada simbol global kepada definisi di dalamnya
yang boleh dilaksanakan. Pilihan ini hanya bermakna pada platform ELF yang menyokong perkongsian
perpustakaan dan meletakkan executable bebas.

-Fungsi simbolik
Apabila membuat perpustakaan kongsi, ikat rujukan kepada simbol fungsi global pada
definisi dalam perpustakaan kongsi, jika ada. Pilihan ini juga boleh digunakan dengan
--eksport-dinamik pilihan, apabila mencipta kedudukan boleh laku bebas, untuk mengikat
rujukan kepada simbol fungsi global kepada definisi dalam boleh laku. ini
pilihan hanya bermakna pada platform ELF yang menyokong perpustakaan dan kedudukan dikongsi
boleh laku bebas.

--dynamic-list=fail senarai dinamik
Tentukan nama fail senarai dinamik kepada pemaut. Ini biasanya digunakan apabila
mencipta perpustakaan kongsi untuk menentukan senarai simbol global yang rujukannya
tidak harus terikat dengan definisi dalam pustaka kongsi, atau mencipta
boleh laku dipautkan secara dinamik untuk menentukan senarai simbol yang perlu ditambah
jadual simbol dalam boleh laku. Pilihan ini hanya bermakna pada platform ELF
yang menyokong perpustakaan kongsi.

Format senarai dinamik adalah sama dengan nod versi tanpa skop dan nod
nama. Lihat VERSION untuk maklumat lanjut.

--dynamic-list-data
Sertakan semua simbol data global ke senarai dinamik.

--dynamic-list-cpp-new
Sediakan senarai dinamik terbina dalam untuk operator C++ baharu dan padam. Ia terutamanya berguna
untuk membina libstdc++ yang dikongsi.

--dynamic-list-cpp-typeinfo
Sediakan senarai dinamik terbina dalam untuk pengenalan jenis masa jalan C++.

--semak-bahagian
--tiada-semak-bahagian
Tanya penghubung tidak untuk menyemak alamat bahagian selepas mereka ditugaskan untuk melihat sama ada
terdapat sebarang pertindihan. Biasanya penyambung akan melakukan semakan ini, dan jika ia menemui
sebarang pertindihan ia akan menghasilkan mesej ralat yang sesuai. Penghubung memang tahu tentang, dan
memang membuat elaun untuk bahagian dalam tindanan. Tingkah laku lalai boleh dipulihkan
dengan menggunakan suis baris arahan --semak-bahagian. Pertindihan bahagian tidak selalunya
menyemak pautan yang boleh dipindahkan. Anda boleh memaksa menyemak dalam kes itu dengan menggunakan
--semak-bahagian pilihan.

--copy-dt-needed-entry
--no-copy-dt-needed-entry
Pilihan ini mempengaruhi perlakuan perpustakaan dinamik yang dirujuk oleh teg DT_NEEDED
di dalam Perpustakaan dinamik ELF disebut pada baris arahan. Biasanya penghubung tidak akan
tambahkan teg DT_NEEDED pada binari output untuk setiap perpustakaan yang disebut dalam teg DT_NEEDED
dalam perpustakaan dinamik input. Dengan --copy-dt-needed-entry dinyatakan pada arahan
tetapi mana-mana perpustakaan dinamik yang mengikutinya akan mempunyai entri DT_NEEDED mereka
tambah. Tingkah laku lalai boleh dipulihkan dengan --no-copy-dt-needed-entry.

Pilihan ini juga mempunyai kesan pada resolusi simbol dalam perpustakaan dinamik.
Dengan --copy-dt-needed-entry perpustakaan dinamik yang disebut pada baris arahan akan
dicari secara rekursif, mengikut tag DT_NEEDED mereka ke perpustakaan lain, untuk
menyelesaikan simbol yang diperlukan oleh binari output. Dengan tetapan lalai namun
pencarian perpustakaan dinamik yang mengikutinya akan berhenti dengan perpustakaan dinamik
sendiri. Tiada pautan DT_NEEDED akan dilalui untuk menyelesaikan simbol.

--cref
Keluarkan jadual rujukan silang. Jika fail peta pemaut sedang dijana, tanda silang
jadual rujukan dicetak ke fail peta. Jika tidak, ia dicetak pada standard
output.

Format jadual sengaja ringkas, supaya ia mudah diproses oleh
skrip jika perlu. Simbol dicetak, diisih mengikut nama. Bagi setiap simbol,
senarai nama fail diberikan. Jika simbol ditakrifkan, fail pertama yang disenaraikan ialah
lokasi definisi. Jika simbol ditakrifkan sebagai nilai biasa maka mana-mana fail
di mana ini berlaku muncul seterusnya. Akhirnya mana-mana fail yang merujuk simbol adalah
disenaraikan.

--no-define-common
Pilihan ini menghalang penyerahan alamat kepada simbol biasa. Skrip
arahan "INHIBIT_COMMON_ALLOCATION" mempunyai kesan yang sama.

. --no-define-common pilihan membenarkan penyahgandingan keputusan untuk memberikan alamat kepada
Simbol biasa daripada pilihan jenis fail output; sebaliknya tidak boleh dipindahkan
jenis output memaksa memberikan alamat kepada simbol Biasa. menggunakan --no-define-common
membenarkan simbol biasa yang dirujuk daripada perpustakaan kongsi untuk diberikan
alamat hanya dalam program utama. Ini menghapuskan ruang pendua yang tidak digunakan dalam
perpustakaan kongsi, dan juga menghalang sebarang kekeliruan yang mungkin berlaku untuk menyelesaikan perkara yang salah
pendua apabila terdapat banyak modul dinamik dengan laluan carian khusus untuk
resolusi simbol masa jalan.

--defsym=lambang=ungkapan
Cipta simbol global dalam fail output, yang mengandungi alamat mutlak yang diberikan oleh
ungkapan. Anda boleh menggunakan pilihan ini seberapa banyak yang perlu untuk menentukan berbilang
simbol dalam baris arahan. Bentuk aritmetik terhad disokong untuk
ungkapan dalam konteks ini: anda boleh memberikan pemalar heksadesimal atau nama an
simbol sedia ada, atau gunakan "+" dan "-" untuk menambah atau menolak pemalar heksadesimal atau
simbol. Jika anda memerlukan ungkapan yang lebih terperinci, pertimbangkan untuk menggunakan arahan pemaut
bahasa daripada skrip. Catatan: tidak sepatutnya ada ruang kosong di antara lambang, yang
sama dengan tanda ("="), dan ungkapan.

--demangle[=gaya]
--tiada-demangle
Pilihan ini mengawal sama ada untuk menghilangkan nama simbol dalam mesej ralat dan lain-lain
pengeluaran. Apabila pemaut diberitahu untuk demangle, ia cuba membentangkan nama simbol dalam a
fesyen boleh dibaca: ia menghilangkan garis bawah utama jika ia digunakan oleh fail objek
format, dan menukar nama simbol hancur C++ kepada nama yang boleh dibaca pengguna. Berbeza
penyusun mempunyai gaya mangling yang berbeza. Hujah gaya demangling pilihan boleh
digunakan untuk memilih gaya demangling yang sesuai untuk pengkompil anda. Penghubung akan
demangle secara lalai melainkan pembolehubah persekitaran COLLECT_NO_DEMANGLE ditetapkan. Ini
pilihan boleh digunakan untuk mengatasi lalai.

-Ifail
--dynamic-linker=fail
Tetapkan nama pemaut dinamik. Ini hanya bermakna apabila menjana
boleh laku ELF yang dipautkan secara dinamik. Penyambung dinamik lalai biasanya betul;
jangan gunakan ini melainkan anda tahu apa yang anda lakukan.

--tiada-dinamik-penyambung
Apabila menghasilkan fail boleh laku, tinggalkan permintaan untuk pemaut dinamik untuk digunakan di
masa muat. Ini hanya bermakna untuk boleh laku ELF yang mengandungi dinamik
penempatan semula, dan biasanya memerlukan kod titik masuk yang mampu memprosesnya
penempatan semula.

--amaran maut
--tiada-amaran-maut
Anggap semua amaran sebagai ralat. Tingkah laku lalai boleh dipulihkan dengan pilihan
--tiada-amaran-maut.

--force-exe-akhiran
Pastikan bahawa fail output mempunyai akhiran .exe.

Jika fail output dipautkan sepenuhnya yang berjaya dibina tidak mempunyai ".exe" atau ".dll"
akhiran, pilihan ini memaksa pemaut untuk menyalin fail output ke salah satu nama yang sama
dengan akhiran ".exe". Pilihan ini berguna apabila menggunakan fail make Unix yang tidak diubah suai pada a
Hos Microsoft Windows, kerana sesetengah versi Windows tidak akan menjalankan imej melainkan imej itu
berakhir dengan akhiran ".exe".

--gc-bahagian
--tiada-gc-bahagian
Dayakan pengumpulan sampah bahagian input yang tidak digunakan. Ia diabaikan pada sasaran yang melakukannya
tidak menyokong pilihan ini. Tingkah laku lalai (tidak melaksanakan sampah ini
koleksi) boleh dipulihkan dengan menyatakan --tiada-gc-bahagian pada baris arahan. Catatan
bahawa kutipan sampah untuk sasaran format COFF dan PE disokong, tetapi
pelaksanaan pada masa ini dianggap sebagai eksperimen.

--gc-bahagian memutuskan bahagian input mana yang digunakan dengan memeriksa simbol dan
penempatan semula. Bahagian yang mengandungi simbol kemasukan dan semua bahagian yang mengandungi
simbol yang tidak ditentukan pada baris arahan akan disimpan, begitu juga bahagian yang mengandungi
simbol yang dirujuk oleh objek dinamik. Ambil perhatian bahawa apabila membina perpustakaan kongsi, fail
penghubung mesti menganggap bahawa sebarang simbol yang kelihatan dirujuk. Setelah set awal ini
bahagian telah ditentukan, penghubung secara rekursif menandakan digunakan mana-mana bahagian
dirujuk oleh penempatan semula mereka. Lihat --kemasukan dan --tidak ditentukan.

Pilihan ini boleh ditetapkan apabila melakukan pautan separa (didayakan dengan pilihan -r). Di dalam ini
kes akar simbol yang disimpan mesti dinyatakan secara eksplisit sama ada oleh an --kemasukan or
--tidak ditentukan pilihan atau dengan arahan "ENTRY" dalam skrip pemaut.

--print-gc-bahagian
--tiada-cetak-gc-bahagian
Senaraikan semua bahagian yang dialih keluar oleh kutipan sampah. Penyenaraian dicetak pada stderr.
Pilihan ini hanya berkesan jika kutipan sampah telah didayakan melalui
--gc-bahagian) pilihan. Tingkah laku lalai (tidak menyenaraikan bahagian yang
dialih keluar) boleh dipulihkan dengan menyatakan --tiada-cetak-gc-bahagian pada baris arahan.

--print-output-format
Cetak nama format output lalai (mungkin dipengaruhi oleh baris arahan lain
pilihan). Ini ialah rentetan yang akan muncul dalam skrip pemaut "OUTPUT_FORMAT".
perintah.

--cetak-memori-penggunaan
Cetak saiz terpakai, jumlah saiz dan saiz terpakai bagi kawasan memori yang dibuat dengan MEMORY
perintah. Ini berguna pada sasaran terbenam untuk melihat jumlah percuma yang pantas
ingatan. Format output mempunyai satu tajuk dan satu baris bagi setiap wilayah. Ia adalah
kedua-duanya boleh dibaca manusia dan mudah dihuraikan oleh alat. Berikut adalah contoh output:

Rantau memori Digunakan Saiz Rantau Saiz %umur Digunakan
ROM: 256 KB 1 MB 25.00%
RAM: 32 B 2 GB 0.00%

- membantu
Cetak ringkasan pilihan baris arahan pada output standard dan keluar.

--sasaran-bantuan
Cetak ringkasan semua pilihan khusus sasaran pada output standard dan keluar.

-Peta=fail peta
Cetak peta pautan ke fail fail peta. Lihat penerangan tentang -M pilihan, di atas.

--tidak-simpan-ingatan
ld biasanya mengoptimumkan kelajuan melebihi penggunaan memori dengan menyimpan jadual simbol bagi
input fail dalam ingatan. Pilihan ini memberitahu ld sebaliknya mengoptimumkan penggunaan memori, dengan
membaca semula jadual simbol jika perlu. Ini mungkin diperlukan jika ld kehabisan
ruang memori semasa memautkan boleh laku yang besar.

--tidak-tidak ditentukan
-z kekurangan
Laporkan rujukan simbol yang belum diselesaikan daripada fail objek biasa. Ini dilakukan walaupun
pemaut sedang mencipta perpustakaan kongsi bukan simbolik. suis
--[no-]allow-shlib-undefined mengawal tingkah laku untuk melaporkan tidak dapat diselesaikan
rujukan yang terdapat dalam perpustakaan kongsi yang dipautkan.

--benarkan-berbilang-takrifan
-z muldef
Biasanya apabila simbol ditakrifkan beberapa kali, pemaut akan melaporkan kematian
ralat. Pilihan ini membenarkan berbilang definisi dan definisi pertama akan digunakan.

--benarkan-shlib-undefined
--no-allow-shlib-undefined
Membenarkan atau tidak membenarkan simbol yang tidak ditentukan dalam perpustakaan kongsi. Suis ini serupa dengan
--tidak-tidak ditentukan kecuali ia menentukan tingkah laku apabila simbol yang tidak ditentukan itu
dalam perpustakaan kongsi dan bukannya fail objek biasa. Ia tidak menjejaskan bagaimana
simbol yang tidak ditentukan dalam fail objek biasa dikendalikan.

Tingkah laku lalai adalah melaporkan ralat untuk sebarang simbol yang tidak ditentukan yang dirujuk
perpustakaan kongsi jika pemaut sedang digunakan untuk mencipta boleh laku, tetapi untuk membenarkan
mereka jika pemaut sedang digunakan untuk mencipta perpustakaan kongsi.

Sebab untuk membenarkan rujukan simbol yang tidak ditentukan dalam perpustakaan kongsi yang dinyatakan di
masa pautan ialah:

· Pustaka kongsi yang ditentukan pada masa pautan mungkin tidak sama dengan perpustakaan itu
tersedia pada masa muat, jadi simbol mungkin sebenarnya boleh diselesaikan pada masa muat.

· Terdapat beberapa sistem pengendalian, cth BeOS dan HPPA, di mana simbol tidak ditentukan masuk
perpustakaan kongsi adalah perkara biasa.

Kernel BeOS sebagai contoh menampal perpustakaan kongsi pada masa muat untuk dipilih
mana-mana fungsi yang paling sesuai untuk seni bina semasa. Ini adalah
digunakan, sebagai contoh, untuk memilih fungsi memset yang sesuai secara dinamik.

--no-undefined-version
Biasanya apabila simbol mempunyai versi yang tidak ditentukan, pemaut akan mengabaikannya. ini
pilihan tidak membenarkan simbol dengan versi yang tidak ditentukan dan ralat maut akan dikeluarkan
sebaliknya.

--default-symver
Cipta dan gunakan versi simbol lalai (soname) untuk simbol eksport yang tidak versi.

--default-imported-symver
Cipta dan gunakan versi simbol lalai (soname) untuk simbol yang diimport tidak versi.

--tiada-amaran-tidak sepadan
Biasanya ld akan memberikan ralat jika anda cuba memautkan bersama fail input yang
tidak sepadan atas sebab tertentu, mungkin kerana ia telah disusun untuk berbeza
pemproses atau untuk endianness yang berbeza. Pilihan ini memberitahu ld bahawa semestinya
secara senyap membenarkan kesilapan yang mungkin berlaku. Pilihan ini hanya boleh digunakan dengan berhati-hati, dalam
kes apabila anda telah mengambil beberapa tindakan khas yang memastikan bahawa ralat pemaut adalah
tidak sesuai.

--tiada-amaran-carian-tidak sepadan
Biasanya ld akan memberi amaran jika ia mendapati perpustakaan yang tidak serasi semasa perpustakaan
cari. Pilihan ini menyenyapkan amaran.

--tiada-keseluruhan-arkib
Matikan kesan daripada --keseluruhan-arkib pilihan untuk fail arkib seterusnya.

--noinhibit-exec
Kekalkan fail output boleh laku apabila ia masih boleh digunakan. Biasanya, penghubung
tidak akan menghasilkan fail output jika ia menghadapi ralat semasa proses pautan; ia
keluar tanpa menulis fail output apabila ia mengeluarkan sebarang ralat.

-nostdlib
Hanya cari direktori perpustakaan yang dinyatakan secara eksplisit pada baris arahan. Perpustakaan
direktori yang dinyatakan dalam skrip pemaut (termasuk skrip pemaut yang dinyatakan pada
baris arahan) diabaikan.

--oformat=format keluaran
ld boleh dikonfigurasikan untuk menyokong lebih daripada satu jenis fail objek. Jika anda ld is
dikonfigurasikan dengan cara ini, anda boleh menggunakan --oformat pilihan untuk menentukan format binari untuk
fail objek output. Walaupun ketika ld dikonfigurasikan untuk menyokong objek alternatif
format, anda biasanya tidak perlu menentukan ini, sebagai ld harus dikonfigurasikan untuk menghasilkan
sebagai format output lalai format yang paling biasa pada setiap mesin. format keluaran ialah
rentetan teks, nama format tertentu yang disokong oleh perpustakaan BFD. (Awak boleh
senaraikan format binari yang tersedia dengan objdump -i.) Perintah skrip
"OUTPUT_FORMAT" juga boleh menentukan format output, tetapi pilihan ini mengatasinya.

-pai
--pic-boleh laku
Cipta kedudukan bebas boleh laku. Pada masa ini ini hanya disokong pada ELF
platform. Kedudukan boleh laku bebas adalah serupa dengan perpustakaan kongsi dalam hal itu
mereka dipindahkan oleh pemaut dinamik ke alamat maya yang dipilih oleh OS
mereka (yang boleh berbeza-beza antara seruan). Seperti boleh laku dipautkan secara dinamik biasa
ia boleh dilaksanakan dan simbol yang ditakrifkan dalam boleh laku tidak boleh ditindih oleh
perpustakaan kongsi.

-qmagic
Pilihan ini diabaikan untuk keserasian Linux.

-Qy Pilihan ini diabaikan untuk keserasian SVR4.

--berehat
--tidak-berehat
Pilihan dengan kesan bergantung kepada mesin. Pilihan ini hanya disokong pada beberapa sahaja
sasaran.

Pada beberapa platform --berehat pilihan melaksanakan sasaran khusus, pengoptimuman global
yang menjadi mungkin apabila pemaut menyelesaikan pengalamatan dalam program, seperti
mod alamat santai, mensintesis arahan baharu, memilih versi yang lebih pendek
arahan semasa, dan menggabungkan nilai malar.

Pada sesetengah platform, pengoptimuman global masa pautan ini mungkin membuat penyahpepijatan simbolik
yang terhasil boleh laksana mustahil. Ini diketahui berlaku untuk Matsushita
Keluarga pemproses MN10200 dan MN10300.

Pada platform yang tidak disokong, --berehat diterima, tetapi tidak diendahkan.

Pada platform di mana --berehat diterima pilihan --tidak-berehat boleh digunakan untuk melumpuhkan
ciri ini.

--retain-symbols-file=nama fail
Kekalkan hanyalah simbol yang disenaraikan dalam fail nama fail, membuang semua yang lain. nama fail
hanyalah fail rata, dengan satu nama simbol setiap baris. Pilihan ini adalah terutamanya
berguna dalam persekitaran (seperti VxWorks) yang mempunyai jadual simbol global yang besar
terkumpul secara beransur-ansur, untuk memulihara ingatan masa larian.

--retain-symbols-file tidak tidak buang simbol yang tidak ditentukan, atau simbol yang diperlukan untuk
penempatan semula.

Anda hanya boleh menentukan --retain-symbols-file sekali dalam baris arahan. Ia mengatasi -s
dan -S.

-rpath=dir
Tambahkan direktori pada laluan carian perpustakaan masa jalan. Ini digunakan apabila memautkan ELF
boleh dilaksanakan dengan objek yang dikongsi. Semua -rath hujah dirangkaikan dan dihantar ke
pemaut runtime, yang menggunakannya untuk mencari objek kongsi semasa runtime. The -rath
pilihan juga digunakan apabila mencari objek kongsi yang diperlukan oleh objek kongsi
disertakan secara eksplisit dalam pautan; lihat penerangan tentang -pautan-rpath pilihan. Jika
-rath tidak digunakan apabila memautkan ELF boleh laku, kandungan persekitaran
pembolehubah "LD_RUN_PATH" akan digunakan jika ia ditakrifkan.

. -rath pilihan juga boleh digunakan pada SunOS. Secara lalai, pada SunOS, pemaut akan
membentuk laluan carian masa jalan daripada semua -L pilihan yang diberikan. Sekiranya -rath pilihan
digunakan, laluan carian masa jalan akan dibentuk secara eksklusif menggunakan -rath pilihan,
mengabaikan -L pilihan. Ini boleh berguna apabila menggunakan gcc, yang menambahkan banyak -L
pilihan yang mungkin ada pada sistem fail yang dipasang NFS.

Untuk keserasian dengan penyambung ELF lain, jika -R pilihan diikuti oleh direktori
nama, bukannya nama fail, ia dianggap sebagai -rath pilihan.

-pautan-rpath=dir
Apabila menggunakan ELF atau SunOS, satu perpustakaan kongsi mungkin memerlukan yang lain. Ini berlaku apabila an
Pautan "ld -shared" termasuk perpustakaan kongsi sebagai salah satu fail input.

Apabila pemaut menghadapi pergantungan sedemikian apabila melakukan bukan kongsi, tidak boleh dipindahkan
pautan, ia secara automatik akan cuba mencari pustaka kongsi yang diperlukan dan memasukkannya
dalam pautan, jika ia tidak disertakan secara eksplisit. Dalam kes sedemikian, -pautan-rpath pilihan
menentukan set pertama direktori untuk dicari. The -pautan-rpath pilihan boleh menentukan
urutan nama direktori sama ada dengan menyatakan senarai nama yang dipisahkan oleh
titik bertindih, atau dengan muncul beberapa kali.

Pilihan ini harus digunakan dengan berhati-hati kerana ia mengatasi laluan carian yang mungkin ada
telah disusun keras ke dalam perpustakaan kongsi. Dalam kes sedemikian adalah mungkin untuk digunakan
secara tidak sengaja laluan carian yang berbeza daripada yang akan dilakukan oleh pemaut masa jalan.

Pemaut menggunakan laluan carian berikut untuk mencari perpustakaan kongsi yang diperlukan:

1. Mana-mana direktori yang ditentukan oleh -pautan-rpath pilihan.

2. Mana-mana direktori yang ditentukan oleh -rath pilihan. Perbezaan antara -rath dan
-pautan-rpath ialah direktori yang ditentukan oleh -rath pilihan disertakan dalam
boleh laksana dan digunakan semasa runtime, manakala -pautan-rpath pilihan hanya berkesan
pada masa pautan. Mencari -rath dengan cara ini hanya disokong oleh pemaut asli dan
pemaut silang yang telah dikonfigurasikan dengan --dengan-sysroot pilihan.

3. Pada sistem ELF, untuk penyambung asli, jika -rath dan -pautan-rpath pilihan adalah
tidak digunakan, cari kandungan pembolehubah persekitaran "LD_RUN_PATH".

4. Pada SunOS, jika -rath pilihan tidak digunakan, cari mana-mana direktori yang ditentukan
menggunakan -L pilihan.

5. Untuk pemaut asli, cari kandungan pembolehubah persekitaran
"LD_LIBRARY_PATH".

6. Untuk pemaut ELF asli, direktori dalam "DT_RUNPATH" atau "DT_RPATH" kongsi
perpustakaan dicari untuk perpustakaan kongsi yang diperlukan olehnya. Entri "DT_RPATH" ialah
diabaikan jika entri "DT_RUNPATH" wujud.

7. Direktori lalai, biasanya / lib dan / usr / lib.

8. Untuk pemaut asli pada sistem ELF, jika fail /etc/ld.so.conf wujud, senarai
daripada direktori yang terdapat dalam fail itu.

Jika perpustakaan kongsi yang diperlukan tidak ditemui, pemaut akan mengeluarkan amaran dan
teruskan dengan pautan.

-berkongsi
-Boleh dikongsi
Buat pustaka kongsi. Ini hanya disokong pada ELF, XCOFF dan SunOS pada masa ini
platform. Pada SunOS, pemaut akan membuat perpustakaan kongsi secara automatik jika -e
pilihan tidak digunakan dan terdapat simbol yang tidak ditentukan dalam pautan.

--macam-biasa
--sort-common=menaik
--sort-common=menurun
Pilihan ini memberitahu ld untuk mengisih simbol biasa mengikut penjajaran dalam menaik atau
tertib menurun apabila ia meletakkannya dalam bahagian keluaran yang sesuai. Simbol
penjajaran yang dipertimbangkan ialah enam belas bait atau lebih besar, lapan bait, empat bait, dua bait, dan
satu bait. Ini adalah untuk mengelakkan jurang antara simbol disebabkan oleh kekangan penjajaran. Jika tidak
tertib isihan ditentukan, kemudian tertib menurun diandaikan.

--sort-section=name
Pilihan ini akan menggunakan "SORT_BY_NAME" pada semua corak bahagian kad bebas dalam pemaut
skrip.

--sort-section=alignment
Pilihan ini akan menggunakan "SORT_BY_ALIGNMENT" pada semua corak bahagian kad bebas dalam
skrip penghubung.

--split-by-file[=saiz]
Sama seperti --berpisah-dengan-reloc tetapi mencipta bahagian keluaran baharu untuk setiap fail input apabila
saiz dicapai. saiz lalai kepada saiz 1 jika tidak diberikan.

--split-by-reloc[=mengira]
Cuba mencipta bahagian tambahan dalam fail output supaya tiada bahagian output tunggal masuk
fail mengandungi lebih daripada mengira penempatan semula. Ini berguna apabila menjana besar
fail yang boleh dipindahkan untuk dimuat turun ke dalam kernel masa nyata tertentu dengan objek COFF
format fail; memandangkan COFF tidak boleh mewakili lebih daripada 65535 penempatan semula dalam satu
bahagian. Ambil perhatian bahawa ini akan gagal berfungsi dengan format fail objek yang tidak
menyokong bahagian sewenang-wenangnya. Penyambung tidak akan membahagikan bahagian input individu
untuk pengagihan semula, jadi jika bahagian input tunggal mengandungi lebih daripada mengira penempatan semula
satu bahagian output akan mengandungi banyak penempatan semula. mengira lalai kepada nilai
32768.

--statistik
Kira dan paparkan statistik tentang operasi pemaut, seperti pelaksanaan
penggunaan masa dan ingatan.

--sysroot=direktori
Penggunaan direktori sebagai lokasi sysroot, mengatasi lalai masa konfigurasi.
Pilihan ini hanya disokong oleh pemaut yang dikonfigurasikan menggunakan --dengan-sysroot.

--format-tradisional
Untuk beberapa sasaran, output daripada ld berbeza dalam beberapa cara daripada output sesetengah
penghubung sedia ada. Permintaan suis ini ld untuk menggunakan format tradisional sebaliknya.

Contohnya, pada SunOS, ld menggabungkan entri pendua dalam jadual rentetan simbol. ini
boleh mengurangkan saiz fail output dengan maklumat penyahpepijatan penuh sebanyak lebih 30
peratus. Malangnya, program "dbx" SunOS tidak dapat membaca program yang dihasilkan
("gdb" tidak mempunyai masalah). The --format-tradisional suis memberitahu ld untuk tidak bergabung
entri pendua.

--bahagian-mula=nama bahagian=org
Cari bahagian dalam fail output pada alamat mutlak yang diberikan oleh org. Anda boleh menggunakan
pilihan ini seberapa banyak yang perlu untuk mencari beberapa bahagian dalam arahan
line. org mestilah integer heksadesimal tunggal; untuk keserasian dengan penghubung lain,
anda boleh meninggalkan yang terkemuka 0x biasanya dikaitkan dengan nilai heksadesimal. Catatan: terdapat
sepatutnya tiada ruang kosong antara nama bahagian, tanda sama ("="), dan org.

-Tbss=org
-Tdata=org
-Ttext=org
Sama seperti --bahagian-mula, dengan ".bss", ".data" atau ".text" sebagai nama bahagian.

-Ttext-segmen=org
Apabila mencipta ELF boleh laku, ia akan menetapkan alamat bait pertama teks
segmen.

-Trodata-segmen=org
Apabila mencipta objek boleh laku atau dikongsi ELF untuk sasaran di mana data baca sahaja
berada dalam segmennya sendiri yang berasingan daripada teks boleh laku, ia akan menetapkan alamat
bait pertama segmen data baca sahaja.

-Tldata-segmen=org
Apabila mencipta objek boleh laku atau dikongsi ELF untuk model memori sederhana x86-64, ia
akan menetapkan alamat bait pertama segmen ldata.

--simbol-tidak diselesaikan=kaedah
Tentukan cara mengendalikan simbol yang tidak dapat diselesaikan. Terdapat empat nilai yang mungkin untuk
kaedah:

abaikan semua
Jangan laporkan sebarang simbol yang belum diselesaikan.

laporan-semua
Laporkan semua simbol yang belum diselesaikan. Ini adalah lalai.

abaikan-dalam-objek-fail
Laporkan simbol yang belum diselesaikan yang terkandung dalam perpustakaan kongsi, tetapi abaikan mereka
jika ia datang daripada fail objek biasa.

ignore-in-shared-libs
Laporkan simbol yang tidak dapat diselesaikan yang datang daripada fail objek biasa, tetapi abaikan jika
mereka datang dari perpustakaan kongsi. Ini boleh berguna apabila mencipta dinamik
binari dan diketahui bahawa semua perpustakaan kongsi yang harus dirujuk
disertakan pada baris arahan pemaut.

Tingkah laku untuk perpustakaan kongsi sendiri juga boleh dikawal oleh
--[no-]allow-shlib-undefined pilihan.

Biasanya penyambung akan menjana mesej ralat untuk setiap simbol yang belum diselesaikan yang dilaporkan
tetapi pilihan --simbol-simbol-amaran-yang belum diselesaikan boleh menukar ini kepada amaran.

--dll-verbose
--verbose[=NOMBOR]
Paparkan nombor versi untuk ld dan senaraikan emulasi penghubung yang disokong. Paparan
fail input yang boleh dan tidak boleh dibuka. Paparkan skrip pemaut yang digunakan oleh
penghubung. Jika pilihan NOMBOR argumen > 1, status simbol pemalam juga akan menjadi
dipaparkan.

--version-script=version-scriptfile
Nyatakan nama skrip versi kepada pemaut. Ini biasanya digunakan apabila
mencipta perpustakaan kongsi untuk menentukan maklumat tambahan tentang versi
hierarki untuk perpustakaan yang dibuat. Pilihan ini hanya disokong sepenuhnya pada ELF
platform yang menyokong perpustakaan kongsi; lihat VERSION. Ia sebahagiannya disokong pada
Platform PE, yang boleh menggunakan skrip versi untuk menapis keterlihatan simbol dalam eksport automatik
mod: sebarang simbol yang ditanda tempatan dalam skrip versi tidak akan dieksport.

--amaran-biasa
Beri amaran apabila simbol biasa digabungkan dengan simbol biasa lain atau dengan simbol
takrifan. Pemaut Unix membenarkan amalan yang agak ceroboh ini, tetapi pemaut pada sesetengahnya
sistem pengendalian lain tidak. Pilihan ini membolehkan anda mencari masalah yang berpotensi
daripada menggabungkan simbol global. Malangnya, sesetengah perpustakaan C menggunakan amalan ini, jadi
anda mungkin mendapat beberapa amaran tentang simbol dalam perpustakaan dan juga dalam program anda.

Terdapat tiga jenis simbol global, digambarkan di sini oleh contoh C:

int i = 1;
Definisi, yang terdapat dalam bahagian data yang dimulakan pada fail output.

luar int i;
Rujukan yang tidak ditentukan, yang tidak memperuntukkan ruang. Mesti ada sama ada a
definisi atau simbol biasa untuk pembolehubah di suatu tempat.

int i;
Simbol biasa. Jika terdapat hanya (satu atau lebih) simbol biasa untuk pembolehubah,
ia masuk dalam kawasan data yang tidak dimulakan pada fail output. Penghubung bergabung
berbilang simbol biasa untuk pembolehubah yang sama menjadi satu simbol. Jika mereka
daripada saiz yang berbeza, ia memilih saiz terbesar. Penyambung menukar simbol biasa
menjadi pengisytiharan, jika terdapat definisi pembolehubah yang sama.

. --amaran-biasa pilihan boleh menghasilkan lima jenis amaran. Setiap amaran terdiri daripada
sepasang baris: yang pertama menerangkan simbol yang baru ditemui, dan yang kedua
menerangkan simbol sebelumnya yang ditemui dengan nama yang sama. Satu atau kedua-duanya
simbol akan menjadi simbol biasa.

1. Menjadikan simbol biasa sebagai rujukan, kerana sudah ada definisi
untuk simbol.

( ): amaran: biasa ` '
ditindih mengikut takrifan
( ): amaran: ditakrifkan di sini

2. Mengubah simbol biasa menjadi rujukan, kerana definisi kemudian untuk
simbol ditemui. Ini adalah sama seperti kes sebelumnya, kecuali bahawa
simbol ditemui dalam susunan yang berbeza.

( ): amaran: definisi ` '
mengatasi perkara biasa
( ): amaran: biasa ada di sini

3. Menggabungkan simbol biasa dengan simbol biasa bersaiz sama sebelumnya.

( ): amaran: berbilang biasa
daripada ` '
( ): amaran: biasa sebelumnya ada di sini

4. Menggabungkan simbol biasa dengan simbol biasa yang lebih besar sebelumnya.

( ): amaran: biasa ` '
ditindih oleh biasa yang lebih besar
( ): amaran: common large is here

5. Menggabungkan simbol biasa dengan simbol biasa yang lebih kecil sebelumnya. Ini pun sama
seperti kes sebelumnya, kecuali simbol ditemui dalam keadaan yang berbeza
perintah.

( ): amaran: biasa ` '
mengatasi perkara biasa yang lebih kecil
( ): amaran: commoner smaller is here

--amaran-pembina
Beri amaran jika mana-mana pembina global digunakan. Ini hanya berguna untuk beberapa fail objek
format. Untuk format seperti COFF atau ELF, pemaut tidak dapat mengesan penggunaan global
pembina.

--warn-multiple-gp
Beri amaran jika berbilang nilai penunjuk global diperlukan dalam fail output. Ini sahaja
bermakna untuk pemproses tertentu, seperti Alpha. Khususnya, beberapa pemproses
meletakkan pemalar bernilai besar dalam bahagian khas. Daftar khas (global
penunjuk) menunjuk ke tengah bahagian ini, supaya pemalar boleh dimuatkan
dengan cekap melalui mod pengalamatan relatif daftar asas. Sejak offset dalam asas-
mod relatif daftar adalah tetap dan agak kecil (cth, 16 bit), ini mengehadkan
saiz maksimum kolam malar. Oleh itu, dalam program besar, selalunya perlu
gunakan berbilang nilai penunjuk global agar dapat menangani semua yang mungkin
pemalar. Pilihan ini menyebabkan amaran dikeluarkan apabila kes ini berlaku.

--amaran-sekali
Hanya memberi amaran sekali untuk setiap simbol yang tidak ditentukan, bukannya sekali bagi setiap modul yang merujuk kepada
ia.

--warn-section-align
Beri amaran jika alamat bahagian output ditukar kerana penjajaran. lazimnya,
penjajaran akan ditetapkan oleh bahagian input. Alamat hanya akan ditukar jika ia
tidak dinyatakan secara jelas; iaitu, jika arahan "SEKSYEN" tidak menyatakan permulaan
alamat untuk bahagian tersebut.

--warn-shared-textrel
Beri amaran jika pemaut menambah DT_TEXTREL pada objek kongsi.

--amaran-ganti-em
Beri amaran jika objek mempunyai kod mesin ELF alternatif.

--simbol-simbol-amaran-yang belum diselesaikan
Jika penyambung akan melaporkan simbol yang tidak dapat diselesaikan (lihat pilihan
--simbol-tidak diselesaikan) ia biasanya akan menghasilkan ralat. Pilihan ini menjadikannya
menjana amaran sebaliknya.

--simbol-ralat-tidak-selesai
Ini memulihkan gelagat lalai pemaut untuk menjana ralat apabila ia melaporkan
simbol yang tidak dapat diselesaikan.

--keseluruhan-arkib
Untuk setiap arkib yang disebut pada baris arahan selepas --keseluruhan-arkib pilihan,
masukkan setiap fail objek dalam arkib dalam pautan, bukannya mencari fail
arkibkan fail objek yang diperlukan. Ini biasanya digunakan untuk menghidupkan fail arkib
ke dalam pustaka kongsi, memaksa setiap objek disertakan dalam perkongsian yang terhasil
perpustakaan. Pilihan ini boleh digunakan lebih daripada sekali.

Dua nota apabila menggunakan pilihan ini daripada gcc: Pertama, gcc tidak tahu tentang pilihan ini,
jadi anda perlu menggunakan -Wl,-keseluruhan-arkib. Kedua, jangan lupa gunakan
-Wl,-tiada-keseluruhan-arkib selepas senarai arkib anda, kerana gcc akan menambah senarainya sendiri
arkib ke pautan anda dan anda mungkin tidak mahu bendera ini juga mempengaruhinya.

--bungkus=lambang
Gunakan fungsi pembalut untuk lambang. Sebarang rujukan yang tidak ditentukan kepada lambang akan diselesaikan
untuk membalut_simbol". Sebarang rujukan yang tidak ditentukan kepada "__real_simbol" akan diselesaikan untuk
lambang.

Ini boleh digunakan untuk menyediakan pembungkus untuk fungsi sistem. Fungsi pembalut
sepatutnya dipanggil "__wrap_simbol". Jika ia ingin memanggil fungsi sistem, ia sepatutnya
panggil "__sebenar_simbol".

Berikut adalah contoh remeh:

batal *
__wrap_malloc (saiz_t c)
{
printf ("malloc dipanggil dengan %zu\n", c);
pulangkan __real_malloc (c);
}

Jika anda memautkan kod lain dengan fail ini menggunakan --bungkus malloc, kemudian semua panggilan ke "malloc"
sebaliknya akan memanggil fungsi "__wrap_malloc". Panggilan ke "__real_malloc" masuk
"__wrap_malloc" akan memanggil fungsi "malloc" sebenar.

Anda mungkin ingin menyediakan fungsi "__real_malloc" juga, supaya pautan tanpa
--bungkus pilihan akan berjaya. Jika anda melakukan ini, anda tidak sepatutnya meletakkan definisi
"__real_malloc" dalam fail yang sama seperti "__wrap_malloc"; jika anda lakukan, pemasang boleh
selesaikan panggilan sebelum pemaut mempunyai peluang untuk membalutnya ke "malloc".

--eh-frame-hdr
Minta penciptaan bahagian ".eh_frame_hdr" dan pengepala segmen "PT_GNU_EH_FRAME" ELF.

--no-ld-generated-unwind-info
Minta penciptaan maklumat santai ".eh_frame" untuk bahagian kod yang dijana pemaut seperti
PLT. Pilihan ini dihidupkan secara lalai jika maklumat santai yang dijana oleh pemaut disokong.

--dayakan-dtags-baru
--disable-new-dtags
Penyambung ini boleh mencipta teg dinamik baharu dalam ELF. Tetapi sistem ELF yang lebih lama mungkin tidak
memahami mereka. Jika anda nyatakan --dayakan-dtags-baru, teg dinamik baharu ialah
dibuat mengikut keperluan dan teg dinamik yang lebih lama akan ditinggalkan. Jika anda nyatakan
--disable-new-dtags, tiada teg dinamik baharu akan dibuat. Secara lalai, dinamik baharu
tag tidak dibuat. Ambil perhatian bahawa pilihan tersebut hanya tersedia untuk sistem ELF.

--saiz-cincang=nombor
Tetapkan saiz lalai jadual cincang pemaut kepada nombor perdana yang hampir dengannya nombor.
Meningkatkan nilai ini boleh mengurangkan tempoh masa yang diambil oleh pemaut untuk melaksanakannya
tugasan, dengan mengorbankan peningkatan keperluan ingatan penyambung. Begitu juga
mengurangkan nilai ini boleh mengurangkan keperluan memori dengan mengorbankan kelajuan.

--gaya hash=gaya
Tetapkan jenis jadual cincang pemaut. gaya boleh sama ada "sysv" untuk ELF klasik
Bahagian ".hash", "gnu" untuk bahagian GNU gaya baharu ".gnu.hash" atau "kedua-duanya" untuk kedua-dua
jadual cincang ".hash" ELF klasik dan gaya baharu GNU ".gnu.hash". Lalai ialah "sysv".

--compress-debug-sections=tiada
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
Pada platform ELF , pilihan ini mengawal cara bahagian nyahpepijat DWARF dimampatkan menggunakan
zlib. --compress-debug-sections=tiada tidak memampatkan bahagian nyahpepijat DWARF.
--compress-debug-sections=zlib-gnu memampatkan bahagian nyahpepijat DWARF dan menamakan semula nyahpepijat
nama bahagian untuk bermula .zdebug bukan .debug. --compress-debug-sections=zlib
dan --compress-debug-sections=zlib-gabi mampatkan bahagian nyahpepijat DWARF dengan
SHF_COMPRESSED daripada ELF ABI. Tingkah laku lalai berbeza-beza bergantung pada
sasaran yang terlibat dan pilihan konfigurasi yang digunakan untuk membina rantai alat. lalai
boleh ditentukan dengan memeriksa output daripada penghubung - membantu pilihan.

--kurangkan-memori-overhed
Pilihan ini mengurangkan keperluan memori pada masa jalan ld, dengan mengorbankan pemautan
kelajuan. Ini diperkenalkan untuk memilih algoritma O(n^2) lama untuk fail peta pautan
generasi, dan bukannya algoritma O(n) baharu yang menggunakan lebih kurang 40% memori untuk
penyimpanan simbol.

Satu lagi kesan suis adalah untuk menetapkan saiz jadual cincang lalai kepada 1021, yang
sekali lagi menjimatkan memori dengan kos memanjangkan masa larian pemaut. Ini tidak dilakukan
namun sekiranya --saiz cincang suis telah digunakan.

. --kurangkan-memori-overhed suis juga boleh digunakan untuk membolehkan pertukaran lain masuk
versi masa hadapan pemaut.

--build-id
--build-id=gaya
Minta penciptaan bahagian nota ELF ".note.gnu.build-id" atau COFF ".buildid"
bahagian. Kandungan nota adalah bit unik yang mengenal pasti fail terpaut ini.
gaya boleh menjadi "uuid" untuk menggunakan 128 bit rawak, "sha1" untuk menggunakan cincang SHA160 1-bit pada
bahagian normatif kandungan output, "md5" untuk menggunakan cincang MD128 5-bit pada
bahagian normatif kandungan output, atau "0xhexstring" untuk menggunakan rentetan bit yang dipilih
ditentukan sebagai nombor genap digit perenambelasan ("-" dan ":" aksara antara
pasangan digit diabaikan). Jika gaya ditinggalkan, "sha1" digunakan.

Gaya "md5" dan "sha1" menghasilkan pengecam yang sentiasa sama dalam
fail output yang sama, tetapi akan menjadi unik di antara semua fail output bukan serupa. Ia adalah
tidak bertujuan untuk dibandingkan sebagai jumlah semak untuk kandungan fail. Fail yang dipautkan boleh
diubah kemudian oleh alat lain, tetapi rentetan bit ID binaan mengenal pasti yang asal
fail yang dipautkan tidak berubah.

Lulus "tiada" untuk gaya melumpuhkan tetapan daripada sebarang pilihan "--build-id" sebelum ini
baris arahan.

Penyambung i386 PE menyokong -berkongsi pilihan, yang menyebabkan output menjadi a
perpustakaan dipautkan secara dinamik (DLL) dan bukannya boleh laku biasa. Anda harus menamakan
keluarkan "*.dll" apabila anda menggunakan pilihan ini. Di samping itu, penghubung menyokong sepenuhnya
fail standard "*.def", yang mungkin dinyatakan pada baris arahan pemaut seperti objek
fail (sebenarnya, ia harus mendahului arkib yang mengeksport simbol daripadanya, untuk memastikan ia mendapat
dipautkan, sama seperti fail objek biasa).

Sebagai tambahan kepada pilihan biasa untuk semua sasaran, penyambung i386 PE menyokong tambahan
pilihan baris arahan yang khusus untuk sasaran i386 PE. Pilihan yang mengambil nilai
boleh dipisahkan daripada nilainya sama ada dengan ruang atau tanda sama.

--add-stdcall-alias
Jika diberikan, simbol dengan akhiran stdcall (@nn) akan dieksport sebagaimana adanya dan juga dengan
akhiran dilucutkan. [Pilihan ini khusus untuk port sasaran i386 PE bagi pemaut]

--base-file fail
Penggunaan fail sebagai nama fail untuk menyimpan alamat asas semua
penempatan semula diperlukan untuk menjana DLL dengan dlltool. [Ini adalah i386 PE khusus
pilihan]

--dll
Buat DLL dan bukannya boleh laku biasa. Anda juga boleh menggunakan -berkongsi atau nyatakan a
"PERPUSTAKAAN" dalam fail ".def" yang diberikan. [Pilihan ini khusus untuk i386 PE yang disasarkan
pelabuhan penyambung]

--dayakan-nama-bahagian-panjang
--disable-long-section-names
Varian PE bagi format objek COFF menambah sambungan yang membenarkan penggunaan
nama bahagian lebih panjang daripada lapan aksara, had biasa untuk COFF. Secara lalai,
nama-nama ini hanya dibenarkan dalam fail objek, kerana imej boleh laku yang dipautkan sepenuhnya tidak
membawa meja rentetan COFF yang diperlukan untuk menyokong nama yang lebih panjang. Sebagai sambungan GNU,
adalah mungkin untuk membenarkan penggunaannya dalam imej boleh laku juga, atau untuk (mungkin
sia-sia!) tidak membenarkannya dalam fail objek, dengan menggunakan dua pilihan ini. Boleh laksana
imej yang dijana dengan nama bahagian panjang ini sedikit tidak standard, membawa sebagai
mereka melakukan jadual rentetan, dan mungkin menghasilkan output yang mengelirukan apabila diperiksa dengan bukan GNU
Alat sedar PE, seperti pemapar fail dan penimbunan. Walau bagaimanapun, GDB bergantung pada penggunaan
Nama bahagian panjang PE untuk mencari bahagian maklumat nyahpepijat Dwarf-2 dalam boleh laku
imej semasa runtime, dan jika tiada pilihan dinyatakan pada baris arahan, ld akan
dayakan nama bahagian yang panjang, mengatasi kelakuan lalai dan betul secara teknikal,
apabila ia mendapati kehadiran maklumat nyahpepijat semasa memautkan imej boleh laku dan
bukan menanggalkan simbol. [Pilihan ini sah untuk semua port sasaran PE bagi pemaut]

--dayakan-stdcall-fixup
--disable-stdcall-fixup
Jika pautan menemui simbol yang tidak dapat diselesaikan, ia akan cuba melakukan "fuzzy
memaut" dengan mencari simbol lain yang ditakrifkan yang berbeza hanya dalam format
nama simbol (cdecl vs stdcall) dan akan menyelesaikan simbol itu dengan memaut pada perlawanan.
Sebagai contoh, simbol "_foo" yang tidak ditentukan mungkin dipautkan kepada fungsi "_foo@12", atau
simbol yang tidak ditentukan "_bar@16" mungkin dikaitkan dengan fungsi "_bar". Apabila
linker melakukan ini, ia mencetak amaran, kerana ia biasanya gagal memaut,
tetapi kadangkala import perpustakaan yang dijana daripada dll pihak ketiga mungkin memerlukan ciri ini
untuk boleh digunakan. Jika anda nyatakan --dayakan-stdcall-fixup, ciri ini didayakan sepenuhnya
dan amaran tidak dicetak. Jika anda nyatakan --disable-stdcall-fixup, ciri ini ialah
dilumpuhkan dan ketidakpadanan sedemikian dianggap sebagai ralat. [Pilihan ini khusus untuk
port sasaran i386 PE bagi pemaut]

--memimpin-garis bawah
--tidak-menterajui-garis bawah
Bagi kebanyakan sasaran, awalan simbol lalai ialah garis bawah dan ditakrifkan dalam sasaran
penerangan. Dengan pilihan ini adalah mungkin untuk melumpuhkan/mendayakan garis bawah lalai
awalan simbol.

--eksport-semua-simbol
Jika diberikan, semua simbol global dalam objek yang digunakan untuk membina DLL akan dieksport oleh
DLL. Ambil perhatian bahawa ini adalah lalai jika tidak ada apa-apa yang dieksport
simbol. Apabila simbol dieksport secara eksplisit melalui fail DEF atau dieksport secara tersirat
melalui atribut fungsi, lalai adalah untuk tidak mengeksport apa-apa lagi melainkan pilihan ini
diberikan. Ambil perhatian bahawa simbol "DllMain@12", "DllEntryPoint@0",
"DllMainCRTSstartup@12", dan "impure_ptr" tidak akan dieksport secara automatik. Juga,
simbol yang diimport daripada DLL lain tidak akan dieksport semula, begitu juga simbol yang dinyatakan
susun atur dalaman DLL seperti yang bermula dengan "_head_" atau berakhir dengan
"_Nama Saya". Selain itu, tiada simbol daripada "libgcc", "libstd++", "libmingw32", atau
"crtX.o" akan dieksport. Simbol yang namanya bermula dengan "__rtti_" atau "__builtin_"
tidak akan dieksport, untuk membantu dengan C++ DLL. Akhirnya, terdapat senarai yang luas
simbol cygwin-private yang tidak dieksport (jelas, ini digunakan semasa membina
DLL untuk sasaran cygwin). Pengecualian cygwin ini ialah: "_cygwin_dll_entry@12",
"_cygwin_crt0_common@8", "_cygwin_noncygwin_dll_entry@12", "_fmode", "_impure_ptr",
"cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2",
"cygwin_premain3", dan "persekitaran". [Pilihan ini khusus untuk i386 PE yang disasarkan
pelabuhan penyambung]

--kecualikan-simbol lambang,lambang, ...
Menentukan senarai simbol yang tidak sepatutnya dieksport secara automatik. Simbol
nama mungkin dibataskan dengan koma atau titik bertindih. [Pilihan ini khusus untuk i386 PE
pelabuhan sasaran pemaut]

--kecualikan-semua-simbol
Menentukan tiada simbol harus dieksport secara automatik. [Pilihan ini khusus untuk
port sasaran i386 PE bagi pemaut]

--penjajaran fail
Tentukan penjajaran fail. Bahagian dalam fail akan sentiasa bermula pada ofset fail
yang merupakan gandaan nombor ini. Ini lalai kepada 512. [Pilihan ini khusus
ke port sasaran i386 PE bagi pemaut]

--timbunan rizab
--timbunan rizab,melakukan
Tentukan bilangan bait memori untuk disimpan (dan secara pilihan dikomit) untuk digunakan sebagai
timbunan untuk program ini. Lalai ialah 1MB dikhaskan, 4K dilakukan. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--asas-imej nilai
Penggunaan nilai sebagai alamat asas program atau dll anda. Ini adalah ingatan paling rendah
lokasi yang akan digunakan apabila program atau dll anda dimuatkan. Untuk mengurangkan keperluan untuk
menempatkan semula dan meningkatkan prestasi dll anda, setiap satu harus mempunyai alamat pangkalan yang unik
dan tidak bertindih mana-mana dll lain. Lalai ialah 0x400000 untuk boleh laku, dan
0x10000000 untuk dll. [Pilihan ini khusus untuk port sasaran i386 PE bagi
penghubung]

--bunuh-di
Jika diberikan, stdcall memberi imbuhan (@nn) akan dilucutkan daripada simbol sebelum ianya
dieksport. [Pilihan ini khusus untuk port sasaran i386 PE bagi pemaut]

--alamat-besar-sedar
Jika diberikan, bit yang sesuai dalam medan "Ciri-ciri" pengepala COFF ditetapkan
untuk menunjukkan bahawa boleh laku ini menyokong alamat maya yang lebih besar daripada 2 gigabait.
Ini harus digunakan bersama dengan /3GB atau /USERVA=nilai megabait bertukar masuk
bahagian "[sistem pengendalian]" BOOT.INI. Jika tidak, bit ini tidak memberi kesan.
[Pilihan ini khusus untuk port sasaran PE bagi pemaut]

--disable-large-address-aware
Mengembalikan kesan sebelumnya --alamat-besar-sedar pilihan. Ini berguna jika
--alamat-besar-sedar sentiasa ditetapkan oleh pemacu pengkompil (cth Cygwin gcc) dan
boleh laku tidak menyokong alamat maya yang lebih besar daripada 2 gigabait. [Pilihan ini
adalah khusus untuk port sasaran PE bagi pemaut]

--versi-imej-utama nilai
Menetapkan nombor utama "versi imej". Lalai kepada 1. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--major-os-versi nilai
Menetapkan nombor utama "versi os". Lalai kepada 4. [Pilihan ini khusus
ke port sasaran i386 PE bagi pemaut]

--subsistem-versi utama nilai
Menetapkan nombor utama "versi subsistem". Lalai kepada 4. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--versi-imej-kecil nilai
Menetapkan nombor kecil "versi imej". Lalai kepada 0. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--minor-os-version nilai
Menetapkan nombor kecil "versi os". Lalai kepada 0. [Pilihan ini khusus
ke port sasaran i386 PE bagi pemaut]

--versi-subsistem-kecil nilai
Menetapkan nombor kecil "versi subsistem". Lalai kepada 0. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--output-def fail
Penyambung akan mencipta fail fail yang akan mengandungi fail DEF yang sepadan dengannya
DLL yang dijana oleh pemaut. Fail DEF ini (yang sepatutnya dipanggil "*.def") mungkin
digunakan untuk mencipta perpustakaan import dengan "dlltool" atau boleh digunakan sebagai rujukan kepada
simbol yang dieksport secara automatik atau tersirat. [Pilihan ini khusus untuk i386 PE
pelabuhan sasaran pemaut]

--out-imlib fail
Penyambung akan mencipta fail fail yang akan mengandungi lib import yang sepadan dengannya
DLL yang dijana oleh pemaut. Lib import ini (yang sepatutnya dipanggil "*.dll.a" atau
"*.a" boleh digunakan untuk memautkan klien dengan DLL yang dijana; tingkah laku ini membuatnya
mungkin untuk melangkau langkah penciptaan perpustakaan import "dlltool" yang berasingan. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--dayakan-asas-imej-auto
--enable-auto-image-base=nilai
Pilih pangkalan imej untuk DLL secara automatik, secara pilihan bermula dengan asas nilai,
melainkan jika seseorang ditentukan menggunakan argumen "--image-base". Dengan menggunakan cincang yang dihasilkan
daripada nama dll untuk mencipta pangkalan imej unik untuk setiap DLL, perlanggaran dalam memori dan
penempatan semula yang boleh melambatkan pelaksanaan program dielakkan. [Pilihan ini khusus
ke port sasaran i386 PE bagi pemaut]

--disable-auto-image-base
Jangan jana pangkalan imej unik secara automatik. Jika tiada pengguna yang ditentukan
pangkalan imej ("--image-base") kemudian gunakan lalai platform. [Pilihan ini khusus
ke port sasaran i386 PE bagi pemaut]

--dll-search-prefix rentetan
Apabila memaut secara dinamik ke dll tanpa perpustakaan import, cari
" .dll" sebagai keutamaan kepada "lib .dll". Tingkah laku ini membolehkan
perbezaan mudah antara DLL yang dibina untuk pelbagai "subplatform": asli, cygwin,
uwin, pw, dsb. Sebagai contoh, DLL cygwin biasanya menggunakan "--dll-search-prefix=cyg".
[Pilihan ini khusus untuk port sasaran i386 PE bagi pemaut]

--dayakan-auto-import
Lakukan pemautan canggih "_symbol" kepada "__imp__symbol" untuk import DATA daripada DLL,
dan cipta simbol thunking yang diperlukan semasa membina perpustakaan import dengan
eksport DATA tersebut. Nota: Penggunaan sambungan 'import automatik' akan menyebabkan teks
bahagian fail imej yang akan dibuat boleh ditulis. Ini tidak mematuhi PE-COFF
spesifikasi format yang diterbitkan oleh Microsoft.

Nota - penggunaan sambungan 'import-auto' juga akan menyebabkan data baca sahaja yang akan berlaku
biasanya diletakkan ke dalam bahagian .rdata untuk diletakkan ke dalam bahagian .data
sebaliknya. Ini adalah untuk menyelesaikan masalah dengan const yang diterangkan
di sini: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html

Menggunakan 'autoimport' secara amnya 'hanya berfungsi' -- tetapi kadangkala anda mungkin melihat ini
mesej:

"pembolehubah ' ' tidak boleh diimport secara automatik. Sila baca dokumentasi untuk ld
"--enable-auto-import" untuk butiran."

Mesej ini berlaku apabila beberapa (sub) ungkapan mengakses alamat yang akhirnya diberikan oleh
jumlah dua pemalar (jadual import Win32 hanya membenarkan satu). Contoh di mana ini
mungkin berlaku termasuk akses kepada medan ahli pembolehubah struktur yang diimport daripada DLL,
serta menggunakan indeks malar ke dalam pembolehubah tatasusunan yang diimport daripada DLL. mana-mana
pembolehubah berbilang kata (tatasusunan, struct, long long, dll) boleh mencetuskan keadaan ralat ini.
Walau bagaimanapun, tanpa mengira jenis data yang tepat bagi pembolehubah yang dieksport yang menyinggung, ld akan
sentiasa mengesannya, mengeluarkan amaran dan keluar.

Terdapat beberapa cara untuk menangani kesukaran ini, tanpa mengira jenis data
pembolehubah yang dieksport:

Satu cara ialah menggunakan suis --enable-runtime-pseudo-reloc. Ini meninggalkan tugas
melaraskan rujukan dalam kod klien anda untuk persekitaran masa jalan, jadi kaedah ini berfungsi
hanya apabila persekitaran masa jalan menyokong ciri ini.

Penyelesaian kedua ialah memaksa salah satu 'pemalar' menjadi pembolehubah -- iaitu,
tidak diketahui dan tidak boleh dioptimumkan pada masa penyusunan. Untuk tatasusunan, terdapat dua kemungkinan:
a) jadikan penerima indeks (alamat tatasusunan) pembolehubah, atau b) jadikan indeks 'malar'
pembolehubah. Oleh itu:

jenis luaran extern_array[];
tatasusunan_luar[1] -->
{ jenis meruap *t=extern_array; t[1] }

or

jenis luaran extern_array[];
tatasusunan_luar[1] -->
{ int tidak menentu t=1; tatasusunan_luar[t] }

Untuk struct (dan kebanyakan jenis data berbilang kata lain) satu-satunya pilihan adalah untuk membuat
struct itu sendiri (atau long long, atau ...) pembolehubah:

extern struct s extern_struct;
extern_struct.field -->
{ struct meruap s *t=&extern_struct; t->medan }

or

extern panjang panjang extern_ll;
extern_ll -->
{ volatile long long * local_ll=&extern_ll; *local_ll }

Kaedah ketiga untuk menangani kesukaran ini adalah dengan meninggalkan 'auto-import' untuk
simbol yang menyinggung perasaan dan tandakannya dengan "__declspec(dllimport)". Walau bagaimanapun, dalam amalan itu
memerlukan penggunaan compile-time #defines untuk menunjukkan sama ada anda sedang membina DLL,
membina kod pelanggan yang akan memaut ke DLL, atau hanya membina/memaut ke statik
perpustakaan. Dalam membuat pilihan antara pelbagai kaedah penyelesaian 'langsung
mengatasi masalah offset berterusan, anda harus mempertimbangkan penggunaan dunia sebenar yang biasa:

Asal:

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

Penyelesaian 1:

--foo.h
extern int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
/* Penyelesaian ini adalah untuk win32 dan cygwin; jangan "optimumkan" */
int meruap *parr = arr;
printf("%d\n",parr[1]);
}

Penyelesaian 2:

--foo.h
/* Nota: eksport automatik diandaikan (tiada __declspec(dllexport)) */
#if (defined(_WIN32) || definition(__CYGWIN__)) && \
!(ditakrifkan(FOO_BUILD_DLL) || ditakrifkan(FOO_STATIC))
#define FOO_IMPORT __declspec(dllimport)
#selamat
#define FOO_IMPORT
#endif
extern FOO_IMPORT int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
printf("%d\n",arr[1]);
}

Cara keempat untuk mengelakkan masalah ini adalah dengan mengekod semula pustaka anda untuk menggunakan fungsi
antara muka dan bukannya antara muka data untuk pembolehubah yang menyinggung perasaan (cth set_foo() dan
get_foo() fungsi aksesori). [Pilihan ini khusus untuk port sasaran i386 PE
daripada penghubung]

--disable-auto-import
Jangan cuba melakukan pemautan canggih "_symbol" kepada "__imp__symbol" untuk DATA
import daripada DLL. [Pilihan ini khusus untuk port sasaran i386 PE bagi
penghubung]

--dayakan-runtime-pseudo-reloc
Jika kod anda mengandungi ungkapan yang diterangkan dalam bahagian --enable-auto-import, iaitu,
DATA diimport daripada DLL dengan offset bukan sifar, suis ini akan mencipta vektor
'runtime pseudo relocations' yang boleh digunakan oleh persekitaran runtime untuk melaraskan
rujukan kepada data sedemikian dalam kod pelanggan anda. [Pilihan ini khusus untuk i386 PE
pelabuhan sasaran pemaut]

--disable-runtime-pseudo-reloc
Jangan buat penempatan semula pseudo untuk import DATA bukan offset daripada DLL. [Ini
pilihan adalah khusus untuk port sasaran i386 PE bagi pemaut]

--dayakan-extra-pe-debug
Tunjukkan maklumat nyahpepijat tambahan yang berkaitan dengan pemikiran simbol import automatik. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--penjajaran bahagian
Menetapkan penjajaran bahagian. Bahagian dalam ingatan akan sentiasa bermula pada alamat yang
adalah gandaan nombor ini. Lalai kepada 0x1000. [Pilihan ini khusus untuk
i386 PE disasarkan port pemaut]

--timbunan rizab
--timbunan rizab,melakukan
Tentukan bilangan bait memori untuk disimpan (dan secara pilihan dikomit) untuk digunakan sebagai
timbunan untuk program ini. Lalai adalah 2MB dikhaskan, 4K dilakukan. [Pilihan ini ialah
khusus untuk port sasaran i386 PE bagi pemaut]

--subsistem yang
--subsistem yang:utama
--subsistem yang:utama.kecil
Menentukan subsistem di mana program anda akan dilaksanakan. Nilai undang-undang untuk
yang ialah "native", "windows", "console", "posix", dan "xbox". Anda boleh menetapkan secara pilihan
versi subsistem juga. Nilai angka juga diterima untuk yang. [Pilihan ini
adalah khusus untuk port sasaran i386 PE bagi pemaut]

Pilihan berikut menetapkan bendera dalam medan "DllCharacteristics" pada fail PE
pengepala: [Pilihan ini khusus untuk port sasaran PE bagi pemaut]

--entropi-va tinggi
Imej serasi dengan rawak susun atur ruang alamat 64-bit (ASLR).

--dynamicbase
Alamat asas imej boleh dipindahkan menggunakan rawak susun atur ruang alamat
(ASLR). Ciri ini telah diperkenalkan dengan MS Windows Vista untuk sasaran i386 PE.

--forceinteg
Pemeriksaan integriti kod dikuatkuasakan.

--nxcompat
Imej itu serasi dengan Pencegahan Pelaksanaan Data. Ciri ini adalah
diperkenalkan dengan MS Windows XP SP2 untuk sasaran i386 PE.

--tiada-pengasingan
Walaupun imej memahami pengasingan, jangan asingkan imej.

--tak-seh
Imej tidak menggunakan SEH. Tiada pengendali SE boleh dipanggil dari imej ini.

--tidak-mengikat
Jangan ikat imej ini.

--wdmdriver
Pemacu menggunakan Model Pemacu MS Windows.

--tsaware
Imej itu diketahui oleh Pelayan Terminal.

--masukkan-cap masa
--tiada-masukkan-cap masa
Masukkan cap masa sebenar ke dalam imej. Ini ialah tingkah laku lalai kerana ia sepadan
kod warisan dan ini bermakna imej itu akan berfungsi dengan alatan proprietari yang lain. The
masalah dengan lalai ini ialah ia akan menghasilkan imej yang sedikit berbeza
dihasilkan setiap kali sumber yang sama dikaitkan. Pilihannya --tiada-masukkan-cap masa boleh
digunakan untuk memasukkan nilai sifar untuk cap masa, ini memastikan binari dihasilkan
daripada sumber yang sama akan membandingkan secara sama.

Sasaran C6X uClinux menggunakan format binari yang dipanggil DSBT untuk menyokong perpustakaan kongsi. setiap satu
perpustakaan kongsi dalam sistem perlu mempunyai indeks yang unik; semua boleh laku menggunakan indeks daripada
0.

--dsbt-saiz saiz
Pilihan ini menetapkan bilangan entri dalam DSBT bagi boleh laksana atau kongsi semasa
perpustakaan ke saiz. Lalai adalah untuk mencipta jadual dengan 64 entri.

--dsbt-index indeks
Pilihan ini menetapkan indeks DSBT bagi pustaka boleh laku atau kongsi semasa kepada indeks.
Lalai ialah 0, yang sesuai untuk menjana boleh laku. Jika dikongsi
perpustakaan dijana dengan indeks DSBT 0, relok "R_C6000_DSBT_INDEX" adalah
disalin ke dalam fail output.

. --no-merge-exidx-entry suis melumpuhkan penggabungan entri exidx bersebelahan dalam
maklumat berehat bingkai.

Penyambung 68HC11 dan 68HC12 menyokong pilihan khusus untuk mengawal bank memori
menukar pemetaan dan penjanaan kod trampolin.

--tiada-trampolin
Pilihan ini melumpuhkan penjanaan trampolin. Secara lalai trampolin ialah
dihasilkan untuk setiap fungsi jauh yang dipanggil menggunakan arahan "jsr" (ini
berlaku apabila penunjuk ke fungsi jauh diambil).

--tetingkap bank nama
Pilihan ini menunjukkan kepada pemaut nama kawasan memori dalam MEMORY
spesifikasi yang menerangkan tetingkap bank memori. Definisi wilayah tersebut ialah
kemudian digunakan oleh pemaut untuk mengira halaman dan alamat dalam tetingkap memori.

Pilihan berikut disokong untuk mengawal pengendalian penjanaan GOT apabila memaut untuk
68K sasaran.

--dapat=jenis
Pilihan ini memberitahu pemaut skema penjanaan GOT yang hendak digunakan. jenis sepatutnya satu
of tunggal, negatif, multigot or sasaran. Untuk maklumat lanjut rujuk entri Info
untuk ld.

Pilihan berikut disokong untuk mengawal penjanaan arahan microMIPS apabila
menghubungkan untuk sasaran MIPS.

--insn32
--no-insn32
Pilihan ini mengawal pilihan arahan microMIPS yang digunakan dalam kod yang dihasilkan oleh
penghubung, seperti dalam PLT atau stub pengikat malas, atau dalam kelonggaran. Jika
--insn32 digunakan, maka penghubung hanya menggunakan pengekodan arahan 32-bit. Secara lalai
atau jika --no-insn32 digunakan, semua pengekodan arahan digunakan, termasuk yang 16-bit
mana mungkin.

ALAM


Anda boleh mengubah tingkah laku ld dengan pembolehubah persekitaran "GNUTARGET",
"LDEMULATION" dan "COLLECT_NO_DEMANGLE".

"GNUTARGET" menentukan format objek fail input jika anda tidak menggunakan -b (atau sinonimnya
--format). Nilainya hendaklah salah satu daripada nama BFD untuk format input. Jika tiada
"GNUTARGET" dalam persekitaran, ld menggunakan format semula jadi sasaran. Jika "GNUTARGET"
ditetapkan kepada "lalai" kemudian BFD cuba menemui format input dengan memeriksa binari
fail input; kaedah ini selalunya berjaya, tetapi terdapat potensi kekaburan, sejak itu
bukan kaedah untuk memastikan bahawa nombor ajaib yang digunakan untuk menentukan format fail objek adalah
unik. Walau bagaimanapun, prosedur konfigurasi untuk BFD pada setiap sistem meletakkan
format konvensional untuk sistem itu terlebih dahulu dalam senarai carian, jadi kekaburan diselesaikan
memihak kepada konvensyen.

"LDEMULATION" menentukan emulasi lalai jika anda tidak menggunakan -m pilihan. The
emulasi boleh menjejaskan pelbagai aspek kelakuan pemaut, terutamanya pemaut lalai
skrip. Anda boleh menyenaraikan emulasi yang tersedia dengan --verbose or -V pilihan. Sekiranya
-m pilihan tidak digunakan, dan pembolehubah persekitaran "LDEMULATION" tidak ditakrifkan, the
emulasi lalai bergantung pada cara pemaut dikonfigurasikan.

Biasanya, pemaut akan lalai kepada demangling simbol. Namun, jika
"COLLECT_NO_DEMANGLE" ditetapkan dalam persekitaran, maka ia akan lalai untuk tidak demangling
simbol. Pembolehubah persekitaran ini digunakan dengan cara yang sama oleh pemaut "gcc".
program pembalut. Lalai mungkin ditindih oleh --demangle dan --tiada-demangle
pilihan.

Gunakan mips64-linux-gnuabi64-ld.bfd dalam talian menggunakan perkhidmatan onworks.net


Ad


Ad

Program dalam talian Linux & Windows terkini