İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

mips-linux-gnu-ld - Bulutta Çevrimiçi

OnWorks ücretsiz barındırma sağlayıcısında mips-linux-gnu-ld'yi Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü üzerinden çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen mips-linux-gnu-ld komutudur.

Program:

ADI


ld - GNU bağlayıcısı

SİNOPSİS


kimlik [seçenekleri] objfile ...

TANIM


ld bir dizi nesne ve arşiv dosyasını birleştirir, verilerini yeniden konumlandırır ve sembolü bağlar
Referanslar. Genellikle bir programı derlemenin son adımı çalıştırmaktır. ld.

ld AT&T'nin Bağlantı Düzenleyicisinin bir üst kümesinde yazılmış Linker Komut Dili dosyalarını kabul eder
Bağlama süreci üzerinde açık ve tam kontrol sağlamak için Komut Dili sözdizimi.

Bu kılavuz sayfası komut dilini açıklamaz; görmek ld tam için "info" girişi
komut dili ve GNU bağlayıcısının diğer yönleri hakkında ayrıntılar.

Bu sürüm ld nesne dosyaları üzerinde çalışmak için genel amaçlı BFD kitaplıklarını kullanır. Bu
veriyor ld nesne dosyalarını birçok farklı biçimde okumak, birleştirmek ve yazmak için --- için
örneğin, COFF veya "a.out". Farklı formatlar herhangi birini üretmek için birbirine bağlanabilir.
kullanılabilir nesne dosyası türü.

Esnekliğinin yanı sıra, GNU bağlayıcısı, sağlamada diğer bağlayıcılardan daha yararlıdır.
teşhis bilgileri. Birçok bağlayıcı, bir sorunla karşılaştıktan hemen sonra yürütmeyi bırakır.
hata; ne zaman mümkünse, ld diğer hataları belirlemenize izin vererek yürütmeye devam eder
(veya bazı durumlarda, hataya rağmen bir çıktı dosyası almak için).

GNU bağlayıcı ld geniş bir durum yelpazesini kapsaması ve olabildiğince uyumlu olması amaçlanmıştır.
mümkün olduğunca diğer bağlayıcılarla. Sonuç olarak, kontrol etmek için birçok seçeneğiniz var.
davranışı.

SEÇENEKLER


Bağlayıcı, çok sayıda komut satırı seçeneğini destekler, ancak gerçek uygulamada bunlardan birkaçı
herhangi bir özel bağlamda kullanılır. Örneğin, sık kullanım ld bağlantı kurmaktır
standart, desteklenen bir Unix sisteminde standart Unix nesne dosyaları. Böyle bir sistemde,
"hello.o" dosyasını bağla:

yaparım /lib/crt0.o merhaba.o -lc

Bu anlatır ld adlı bir dosya üretmek için çıktı dosyayı bağlamanın sonucu olarak
"/lib/crt0.o" ile "hello.o" ve standarttan gelecek olan "libc.a" kitaplığı
arama dizinleri. (bkz: tartışma -l Aşağıdaki seçenek.)

Komut satırı seçeneklerinden bazıları ld komut satırının herhangi bir noktasında belirtilebilir.
Ancak, dosyalara atıfta bulunan seçenekler, örneğin -l or -T, dosyanın şurada okunmasına neden olur
nesne dosyalarına göre seçeneğin komut satırında göründüğü nokta ve
diğer dosya seçenekleri. Dosya dışı seçenekleri farklı bir argümanla tekrarlamak ya
daha fazla etki yok veya önceki oluşumları geçersiz kılıyor (komutta daha solda olanlar
satırı) bu seçeneğin. Birden fazla anlamlı olarak belirtilebilecek seçenekler şunlardır:
aşağıdaki açıklamalarda belirtilmiştir.

Seçenek olmayan argümanlar, birbirine bağlanacak nesne dosyaları veya arşivlerdir. Onlar
bir nesne dosyası dışında komut satırı seçeneklerini izleyebilir, bunlardan önce gelebilir veya bunlarla karıştırılabilir.
argüman bir seçenek ile onun argümanı arasına yerleştirilemez.

Bağlayıcı genellikle en az bir nesne dosyasıyla çağrılır, ancak başka bir nesne belirtebilirsiniz.
kullanarak ikili giriş dosyalarının formları -l, -R, ve komut dosyası komut dili. Eğer yok hayır ikili
girdi dosyaları belirtilir, bağlayıcı herhangi bir çıktı üretmez ve
mesaj Yok hayır giriş Dosyaları.

Bağlayıcı bir nesne dosyasının biçimini tanıyamazsa, bunun bir nesne dosyası olduğunu varsayacaktır.
bağlayıcı komut dosyası Bu şekilde belirtilen bir komut dosyası, kullanılan ana bağlayıcı komut dosyasını artırır.
bağlantı (varsayılan bağlayıcı komut dosyası veya kullanılarak belirtilen -T). Bu
özelliği, bağlayıcının bir nesne veya bir nesne gibi görünen bir dosyaya bağlanmasına izin verir.
arşiv, ancak aslında yalnızca bazı sembol değerlerini tanımlar veya "GİRİŞ" veya "GRUP" kullanır.
diğer nesneleri yükleyin. Bir komut dosyasını bu şekilde belirtmek yalnızca ana bağlayıcıyı artırır
ana komut dosyasından sonra eklenen ek komutlarla komut dosyası; kullan -T değiştirme seçeneği
varsayılan bağlayıcı komut dosyası tamamen, ancak "INSERT" komutunun etkisine dikkat edin.

Adları tek bir harf olan seçenekler için, seçenek bağımsız değişkenleri aşağıdakilerden birini izlemelidir:
araya boşluk koymadan seçenek harfi veya ayrı argümanlar olarak verilebilir
onları gerektiren seçeneğin hemen ardından.

Adları birden çok harften oluşan seçenekler için, bir veya iki tire işaretinden önce gelebilir.
seçenek adı; Örneğin, -iz-sembol ve --iz-sembol eşdeğerdir. Not --- orada
bu kuralın bir istisnasıdır. Küçük harf 'o' ile başlayan birden çok harf seçeneği
önüne sadece iki tire konulabilir. Bu, kafa karışıklığını azaltmak için -o seçenek. Yani
örneğin -omajik çıktı dosyası adını şu şekilde ayarlar sihirli oysa --omajik NMAGIC'i ayarlar
çıktıdaki bayrak.

Çok harfli seçeneklere ilişkin argümanlar, seçenek adından bir
eşittir işareti veya seçeneğin hemen ardından ayrı argümanlar olarak verilebilir.
onları gerektirir. Örneğin, --iz-sembol foo ve --iz sembolü=foo eşdeğerdir.
Çok harfli seçeneklerin adlarının benzersiz kısaltmaları kabul edilir.

Not --- eğer bağlayıcı bir derleyici sürücüsü aracılığıyla dolaylı olarak çağrılıyorsa (örn. gcc) sonra
tüm linker komut satırı seçeneklerinin ön eki şu şekilde olmalıdır: -WI, (ya da hangisi uygunsa
belirli derleyici sürücüsü için) şöyle:

gcc -Wl,--başlangıç ​​grubu foo.o bar.o -Wl,--end-grubu

Bu önemlidir, çünkü aksi takdirde derleyici sürücü programı sessizce
linker seçenekleri, kötü bir bağlantıya neden olur. Seçenekleri geçerken de kafa karışıklığı ortaya çıkabilir
seçenek ve argüman arasında bir boşluk kullanımı olarak, bir sürücü aracılığıyla değerler gerektiren
ayırıcı görevi görür ve sürücünün yalnızca seçeneği bağlayıcıya iletmesine neden olur ve
derleyiciye argüman. Bu durumda, her ikisinin de birleştirilmiş formlarını kullanmak en basitidir.
tek ve çok harfli seçenekler, örneğin:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Harita=a.harita

GNU linker tarafından kabul edilen genel komut satırı anahtarlarının bir tablosu:

@dosya
Komut satırı seçeneklerini şuradan okuyun: dosya. Okunan seçenekler yerine eklenir.
orijinal @dosya seçenek. Eğer dosya mevcut değilse veya okunamıyorsa, seçenek
kelimenin tam anlamıyla işlenecek ve kaldırılmayacaktır.

İçindeki seçenekler dosya boşluk ile ayrılır. Bir boşluk karakteri dahil edilebilir
tüm seçeneği tek veya çift tırnak içine alarak bir seçenekte. Herhangi
karakter (ters eğik çizgi dahil), kullanılacak karakterin önüne eklenerek dahil edilebilir.
ters eğik çizgi ile dahil edilmiştir. NS dosya kendisi ek @ içerebilirdosya seçenekler; herhangi
bu tür seçenekler özyinelemeli olarak işlenecektir.

-a Anahtar kelime
Bu seçenek, HP/UX uyumluluğu için desteklenir. NS Anahtar kelime argüman şunlardan biri olmalı
Teller arşiv, Paylaşılanya da varsayılan. -arşiv işlevsel olarak eşittir
-Bstatik, ve diğer iki anahtar kelime işlevsel olarak eşdeğerdir -Bdinamik. Bu
seçeneği herhangi bir sayıda kullanılabilir.

--denetim DENETİM
Ekler DENETİM dinamik bölümün "DT_AUDIT" girişine. DENETİM kontrol edilmedi
varlığı için ve kitaplıkta belirtilen DT_SONAME'i kullanmaz. belirtilmişse
birden çok kez "DT_AUDIT", denetim arabirimlerinin iki nokta üst üste ayrılmış bir listesini içerecektir.
kullanmak. Bağlayıcı, paylaşılanları ararken denetim girişi olan bir nesne bulursa
kütüphaneler, çıktı dosyasına karşılık gelen bir "DT_DEPAUDIT" girişi ekleyecektir. Bu
seçeneği yalnızca rtld-denetim arabirimini destekleyen ELF platformlarında anlamlıdır.

-A mimari
--mimari=mimari
Şu anki sürümde ld, bu seçenek yalnızca Intel 960 ailesi için kullanışlıdır.
mimariler. Şöyle ld yapılandırma, mimari argüman tanımlar
960 ailesindeki belirli bir mimari, bazı güvenlik önlemleri sağlar ve
arşiv-kütüphane arama yolu.

Gelecek sürümleri ld diğer mimariler için benzer işlevleri destekleyebilir
aileler.

-b giriş formatı
--format=giriş formatı
ld birden fazla nesne dosyasını destekleyecek şekilde yapılandırılabilir. Eğer senin ld is
bu şekilde yapılandırılmış, kullanabilirsiniz -b giriş için ikili formatı belirleme seçeneği
komut satırında bu seçeneği izleyen nesne dosyaları. Hatta ld yapılandırılmış
alternatif nesne biçimlerini desteklemek için genellikle bunu belirtmeniz gerekmez, çünkü ld
her birinde en olağan biçimi varsayılan bir giriş biçimi olarak bekleyecek şekilde yapılandırılmalıdır.
makinesi. giriş formatı tarafından desteklenen belirli bir biçimin adı olan bir metin dizesidir.
BFD kütüphaneleri. (Kullanılabilir ikili formatları ile listeleyebilirsiniz. nesne dökümü -i.)

Olağandışı bir ikili dosya ile dosyaları birbirine bağlıyorsanız bu seçeneği kullanmak isteyebilirsiniz.
biçim. Ayrıca kullanabilirsiniz -b biçimleri açıkça değiştirmek için (nesne dosyalarını bağlarken
farklı formatlarda), dahil ederek -b giriş formatı her nesne dosyası grubundan önce
belirli bir formatta.

Varsayılan biçim "GNUTARGET" ortam değişkeninden alınmıştır.

"TARGET" komutunu kullanarak bir komut dosyasından giriş biçimini de tanımlayabilirsiniz;

-c MRI komut dosyası
--mri-komut dosyası=MRI komut dosyası
MRI tarafından üretilen bağlayıcılarla uyumluluk için, ld içinde yazılmış komut dosyalarını kabul eder.
MRI Uyumlu Komut Dosyası Dosyalarında açıklanan alternatif, kısıtlı komut dili
GNU ld belgelerinin bölümü. Seçenek ile MRI komut dosyalarını tanıtın -c; kullanım
the -T genel amaçlı yazılmış bağlayıcı komut dosyalarını çalıştırma seçeneği ld komut dosyası
dilim. Eğer MRI-cmd dosyası bulunmuyor, ld belirtilen dizinlerde arar
herhangi biri tarafından -L seçenekleri.

-d
-dc
-dp Bu üç seçenek eşdeğerdir; uyumluluk için birden çok form desteklenir
diğer bağlayıcılar ile. Yeniden yerleştirilebilir bir çıktı olsa bile ortak sembollere boşluk atarlar.
dosya belirtilir (ile -r). "FORCE_COMMON_ALLOCATION" komut dosyası komutu,
aynı etki.

--depaudit DENETİM
-P DENETİM
Ekler DENETİM dinamik bölümün "DT_DEPAUDIT" girişine. DENETİM değil
varlığı kontrol edilir ve kitaplıkta belirtilen DT_SONAME'i kullanmaz. Eğer
birden çok kez belirtilen "DT_DEPAUDIT", iki nokta üst üste ayrılmış denetim listesi içerecektir
kullanılacak arayüzler. Bu seçenek yalnızca aşağıdakileri destekleyen ELF platformlarında anlamlıdır:
rtld-denetim arayüzü. Solaris uyumluluğu için -P seçeneği sağlanmıştır.

-e giriş
--giriş=giriş
kullanım giriş yerine programınızın yürütülmesini başlatmak için açık bir sembol olarak
varsayılan giriş noktası. Adlandırılmış bir sembol yoksa giriş, bağlayıcı deneyecek
ayrıştırmak giriş numara olarak girin ve bunu giriş adresi olarak kullanın (numara
10 tabanında yorumlanır; bir lider kullanabilirsiniz 0x taban 16 için veya önde gelen 0 baz için
8).

--exclude-lib'ler lib,lib, ...
Sembollerin otomatik olarak alınmaması gereken arşiv kitaplıklarının bir listesini belirtir
ihraç edildi. Kitaplık adları virgül veya iki nokta üst üste ile sınırlandırılabilir. belirtme
"--exclude-libs ALL", tüm arşiv kitaplıklarındaki sembolleri otomatik dışa aktarmanın dışında tutar.
Bu seçenek yalnızca bağlayıcının i386 PE hedefli bağlantı noktası ve ELF için kullanılabilir
hedeflenen portlar i386 PE için, bir .def dosyasında açıkça listelenen semboller hala
bu seçeneğe bakılmaksızın dışa aktarılır. ELF hedefli bağlantı noktaları için bundan etkilenen semboller
seçeneği gizli olarak kabul edilecektir.

--implib için-hariç-modüller modül,modül, ...
Sembollerin olmaması gereken nesne dosyalarının veya arşiv üyelerinin bir listesini belirtir.
otomatik olarak dışa aktarılır, ancak toptan olarak içe aktarma kitaplığına kopyalanması gerekir
bağlantı sırasında oluşturulur. Modül adları virgülle veya
iki nokta üst üste ve tarafından kullanılan dosya adlarıyla tam olarak eşleşmelidir. ld dosyaları açmak için; arşiv için
üyeler için bu yalnızca üye adıdır, ancak nesne dosyaları için listelenen ad
bağlayıcıdaki giriş dosyasını belirtmek için kullanılan herhangi bir yolu dahil edin ve eşleştirin
Komut satırı. Bu seçenek yalnızca cihazın i386 PE hedefli bağlantı noktası için kullanılabilir.
bağlayıcı. Bir .def dosyasında açıkça listelenen semboller, aşağıdakilerden bağımsız olarak yine de dışa aktarılır:
bu seçenek.

-E
--ihracat-dinamik
--no-export-dinamik
Dinamik olarak bağlı bir yürütülebilir dosya oluştururken, -E seçeneği veya
--ihracat-dinamik seçenek, bağlayıcının tüm sembolleri dinamik sembole eklemesine neden olur
tablo. Dinamik sembol tablosu, dinamikten görülebilen semboller kümesidir.
çalışma zamanında nesneler.

Bu seçeneklerden herhangi birini kullanmazsanız (veya --no-export-dinamik için seçenek
varsayılan davranışı geri yükleyin), dinamik sembol tablosu normalde yalnızca
bağlantıda belirtilen bazı dinamik nesneler tarafından başvurulan bu semboller.

Sembollere geri dönmesi gereken dinamik bir nesneyi yüklemek için "dlopen" kullanırsanız
başka bir dinamik nesne yerine program tarafından tanımlanmışsa, muhtemelen
programın kendisini bağlarken bu seçeneği kullanmanız gerekir.

Ayrıca, dinamik listeye hangi simgelerin eklenmesi gerektiğini kontrol etmek için de kullanabilirsiniz.
çıkış formatı destekliyorsa dinamik sembol tablosu. açıklamasına bakın
--dinamik-liste.

Bu seçeneğin ELF hedefli bağlantı noktalarına özel olduğunu unutmayın. PE hedefleri benzer bir desteği destekler
tüm sembolleri bir DLL veya EXE'den dışa aktarma işlevi; açıklamasına bakın
--tüm sembolleri dışa aktar altında.

-EB Büyük endian nesneleri bağlayın. Bu, varsayılan çıktı biçimini etkiler.

-EL Küçük endian nesneleri bağlayın. Bu, varsayılan çıktı biçimini etkiler.

-f isim
--yardımcı=isim
ELF paylaşımlı bir nesne oluştururken, dahili DT_AUXILIARY alanını şu şekilde ayarlayın:
belirtilen ad. Bu, dinamik bağlayıcıya paylaşılan simge tablosunun
nesne, paylaşılan nesnenin sembol tablosunda yardımcı filtre olarak kullanılmalıdır.
isim.

Daha sonra bir programı bu filtre nesnesine bağlarsanız, o zaman,
program, dinamik bağlayıcı DT_AUXILIARY alanını görecektir. Dinamik bağlayıcı ise
filtre nesnesinden herhangi bir sembolü çözer, önce bir olup olmadığını kontrol eder.
paylaşılan nesnedeki tanım isim. Varsa, yerine kullanılacaktır.
filtre nesnesindeki tanım. paylaşılan nesne isim var olması gerekmez. Böylece
paylaşılan nesne isim belirli bir alternatif uygulama sağlamak için kullanılabilir
işlevler, belki hata ayıklama veya makineye özel performans için.

Bu seçenek birden fazla belirtilebilir. DT_AUXILIARY girişleri oluşturulacak
komut satırında göründükleri sırayla.

-F isim
--filtre=isim
ELF paylaşımlı nesne oluştururken, dahili DT_FILTER alanını belirtilen değere ayarlayın.
isim. Bu, dinamik bağlayıcıya, paylaşılan nesnenin sembol tablosunun hangi
oluşturuluyor, paylaşılan nesnenin sembol tablosunda bir filtre olarak kullanılmalıdır.
isim.

Daha sonra bir programı bu filtre nesnesine bağlarsanız, o zaman,
program, dinamik bağlayıcı DT_FILTER alanını görecektir. Dinamik bağlayıcı
sembolleri her zamanki gibi filtre nesnesinin sembol tablosuna göre çözün, ancak
aslında paylaşılan nesnede bulunan tanımlara bağlanır isim. Böylece
filtre nesnesi, nesne tarafından sağlanan sembollerin bir alt kümesini seçmek için kullanılabilir
isim.

Bazı eski bağlayıcılar -F için bir derleme araç zinciri boyunca seçenek
hem girdi hem de çıktı nesne dosyaları için nesne dosyası biçimini belirleme. GNU bağlayıcı
bu amaç için başka mekanizmalar kullanır: -b, --biçim, --oformat seçenekler,
Bağlayıcı komut dosyalarında "TARGET" komutu ve "GNUTARGET" ortam değişkeni. GNU
bağlayıcı görmezden gelecek -F ELF paylaşılan nesnesi oluşturulmadığında seçenek.

-fini=isim
Bir ELF yürütülebilir veya paylaşılan nesne oluştururken, yürütülebilir dosya veya paylaşılan nesne olduğunda NAME öğesini arayın.
DT_FINI işlevin adresine ayarlanarak paylaşılan nesne kaldırılır. Tarafından
varsayılan olarak, bağlayıcı, çağrılacak işlev olarak "_fini"yi kullanır.

-g Yok sayıldı. Diğer araçlarla uyumluluk için sağlanmıştır.

-G değer
--gpssize=değer
GP kaydı kullanılarak optimize edilecek nesnelerin maksimum boyutunu ayarlayın. boyut. Bu
yalnızca büyük yerleştirmeyi destekleyen MIPS ELF gibi nesne dosya biçimleri için anlamlıdır.
ve küçük nesneleri farklı bölümlere ayırın. Bu, diğer nesne dosyası için yoksayılır
biçimleri.

-h isim
-soname=isim
ELF paylaşımlı nesne oluştururken, dahili DT_SONAME alanını belirtilen değere ayarlayın.
isim. Bir yürütülebilir dosya, DT_SONAME alanına sahip paylaşılan bir nesneye bağlandığında,
daha sonra yürütülebilir dosya çalıştırıldığında dinamik bağlayıcı paylaşılan dosyayı yüklemeye çalışır.
verilen dosya adını kullanmak yerine DT_SONAME alanı tarafından belirtilen nesne
bağlayıcı.

-i Artımlı bir bağlantı gerçekleştirin (seçenek ile aynı -r).

-init=isim
Bir ELF yürütülebilir veya paylaşılan nesne oluştururken, yürütülebilir dosya veya paylaşılan nesne olduğunda NAME öğesini arayın.
paylaşılan nesne, işlevin adresine DT_INIT ayarlanarak yüklenir. Tarafından
varsayılan olarak, bağlayıcı, çağrılacak işlev olarak "_init" kullanır.

-l isim belirtimi
--kütüphane=isim belirtimi
tarafından belirtilen arşivi veya nesne dosyasını ekleyin. isim belirtimi Bağlanacak dosyalar listesine.
Bu seçenek herhangi bir sayıda kullanılabilir. Eğer isim belirtimi formda :dosya adı, ld
adlı bir dosya için kitaplık yolunu arayacaktır Dosya, aksi takdirde
adlı bir dosya için kitaplık yolu libnamespec.a.

Paylaşımlı kütüphaneleri destekleyen sistemlerde, ld dışındaki dosyaları da arayabilir
libnamespec.a. Özellikle ELF ve SunOS sistemlerinde, ld için bir dizin arayacak
adında bir kitaplık libnamespec.so aranan birini aramadan önce libnamespec.a. (Tarafından
Kural olarak, bir ".so" uzantısı paylaşılan bir kitaplığı belirtir.) Bu davranışın dikkate alındığını unutmayın.
için geçerli değil :dosya adı, her zaman adlı bir dosyayı belirtir Dosya.

Bağlayıcı, üzerinde belirtildiği yerde bir arşivi yalnızca bir kez arayacaktır.
komut satırı. Arşiv, bazı nesnelerde tanımlanmamış bir sembolü tanımlarsa
komut satırında arşivden önce görünen linker,
arşivden uygun dosya(lar) Ancak, bir nesnedeki tanımsız bir sembol
daha sonra komut satırında görünmesi, bağlayıcının arşivde arama yapmasına neden olmaz
tekrar.

Bak -( bağlayıcıyı arşivleri birden çok kez aramaya zorlamanın bir yolu için seçenek.

Komut satırında aynı arşivi birden çok kez listeleyebilirsiniz.

Bu tür arşiv araması, Unix bağlayıcıları için standarttır. Ancak, eğer
kullanma ld AIX'te, bunun AIX bağlayıcısının davranışından farklı olduğunu unutmayın.

-L arama dizini
--kütüphane-yolu=arama dizini
Yol ekle arama dizini olan yollar listesine ld arşiv kitaplıklarını arayacak ve
ld kontrol komut dosyaları. Bu seçeneği istediğiniz sayıda kullanabilirsiniz. dizinler
komut satırında belirtilen sırayla aranır. dizinler
komut satırında belirtilenler, varsayılan dizinlerden önce aranır. Tüm -L
seçenekler hepsi için geçerlidir -l seçeneklerin göründüğü sıraya bakılmaksızın seçenekler.
-L seçenekler nasıl olduğunu etkilemez ld sürece bir bağlayıcı komut dosyası arar -T seçenektir
belirtildi.

If arama dizini "=" ile başlar, ardından "=" yerine sistem kökü önek,
tarafından kontrol edilir --sistem kökü seçeneği veya bağlayıcı yapılandırıldığında belirtilir.

Aranan varsayılan yol kümesi (belirtilmeden -L) hangisine bağlı
öykünme modu ld kullanıyor ve bazı durumlarda nasıl yapılandırıldığı hakkında da.

Yollar, "SEARCH_DIR" komutuyla bir bağlantı komut dosyasında da belirtilebilir.
Bu şekilde belirtilen dizinler, bağlayıcı komut dosyasının bulunduğu noktada aranır.
komut satırında görünür.

-m öykünme
öykünmek öykünme bağlayıcı. Kullanılabilir emülasyonları listeleyebilirsiniz.
--ayrıntılı or -V seçenekleri.

Eğer -m seçeneği kullanılmaz, öykünme "LDEMULATION"dan alınır.
eğer tanımlanmışsa, ortam değişkeni.

Aksi takdirde, varsayılan öykünme, bağlayıcının nasıl yapılandırıldığına bağlıdır.

-M
--baskı-harita
Standart çıktıya bir bağlantı haritası yazdırın. Bir bağlantı haritası, aşağıdakiler hakkında bilgi sağlar:
bağlantı, aşağıdakiler dahil:

· Nesne dosyalarının belleğe eşlendiği yer.

· Ortak sembollerin nasıl tahsis edildiği.

· Bağlantıya dahil edilen tüm arşiv üyeleri, aşağıdaki sembolden bahseder:
arşiv üyesinin getirilmesine neden oldu.

· Sembollere atanan değerler.

Not - değerleri bir ifadeyi içeren bir ifadeyle hesaplanan semboller
aynı sembolün bir önceki değerine yapılan referans doğru sonuca sahip olmayabilir
bağlantı haritasında görüntülenir. Bunun nedeni, bağlayıcının ara ürünü atmasıdır.
sonuçlar verir ve yalnızca bir ifadenin son değerini korur. Böyle
durumlarda, bağlayıcı köşeli parantez içine alınmış son değeri gösterecektir.
Bu nedenle, örneğin şunları içeren bir bağlayıcı komut dosyası:

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

eğer bağlantı haritasında aşağıdaki çıktıyı üretecektir: -M seçenek kullanılır:

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

Yerimizi İfadeler bağlayıcı komut dosyalarındaki ifadeler hakkında daha fazla bilgi için.

-n
--nsihirli
Bölümlerin sayfa hizalamasını kapatın ve paylaşılan kitaplıklara bağlanmayı devre dışı bırakın. Eğer
çıktı formatı Unix stili sihirli sayıları destekler, çıktıyı "NMAGIC" olarak işaretleyin.

-N
--omajik
Metin ve veri bölümlerini okunabilir ve yazılabilir olacak şekilde ayarlayın. Ayrıca, sayfa hizalama
veri segmentini seçin ve paylaşılan kitaplıklara karşı bağlantıyı devre dışı bırakın. çıkış formatı ise
Unix stili sihirli sayıları destekler, çıktıyı "OMAGIC" olarak işaretleyin. Not: Her ne kadar bir
PE-COFF hedefleri için yazılabilir metin bölümüne izin verilir,
Microsoft tarafından yayınlanan biçim belirtimi.

-- sihirli olmayan
Bu seçenek, uygulamanın etkilerinin çoğunu ortadan kaldırır. -N seçenek. Metin bölümünü şu şekilde ayarlar:
salt okunur olur ve veri segmentini sayfa hizalı olmaya zorlar. Not - bu seçenek
paylaşılan kitaplıklara bağlanmayı etkinleştirmez. Kullanmak -Bdinamik Bunun için.

-o çıktı
--çıktı=çıktı
kullanım çıktı tarafından üretilen programın adı olarak ld; bu seçenek değilse
belirtilen isim a.dışarı varsayılan olarak kullanılır. "OUTPUT" komut dosyası komutu da
çıktı dosyası adını belirtin.

-O seviye
If seviye sıfırdan büyük sayısal değerlerdir ld çıktıyı optimize eder. Bu olabilir
önemli ölçüde daha uzun sürer ve bu nedenle muhtemelen yalnızca final için etkinleştirilmelidir
ikili. Şu anda bu seçenek yalnızca ELF paylaşımlı kitaplık oluşturmayı etkiler. Gelecek
bağlayıcının sürümleri bu seçeneği daha fazla kullanabilir. Ayrıca şu anda yok
Bu seçeneğin sıfır olmayan farklı değerleri için bağlayıcının davranışındaki fark.
Yine bu, gelecekteki sürümlerle değişebilir.

--push durumu
The --push durumu yöneten bayrakların mevcut durumunu korumaya izin verir.
girdi dosyası işleme, böylece hepsi karşılık gelen bir dosyayla geri yüklenebilir
--pop-durumu seçeneği.

Kapsanan seçenekler şunlardır: -Bdinamik, -Bstatik, -dn, -dy, -Call_shared,
-paylaşılmayan, -statik, -N, -n, --bütün arşiv, --no-tüm-arşiv, -r, -Evet,
--copy-dt-gerekli-girişler, --no-copy-dt-gerekli-girişler, --ihyaç olduğu gibi, --hayır-gerektiğinde,
ve -a.

Bu seçenek için bir hedef, pkg-config. ile kullanıldığında
--lib'ler seçenek, muhtemelen gerekli olan tüm kitaplıklar listelenir ve ardından muhtemelen
her zaman. Bir şeyi aşağıdaki gibi döndürmek daha iyidir:

-Wl,--push-durumu,--gerektiğinde -libone -libtwo -Wl,--pop-durumu

--push-state'in etkisini geri alır, yöneten bayrakların önceki değerlerini geri yükler
giriş dosyası işleme.

-q
--emit-yer değiştirir
Yer değiştirme bölümlerini ve içeriğini tamamen bağlantılı yürütülebilir dosyalar halinde bırakın. Bağlantı gönder
analiz ve optimizasyon araçlarının doğru çalışması için bu bilgilere ihtiyaç duyabilir.
yürütülebilir dosyaların modifikasyonları. Bu, daha büyük yürütülebilir dosyalarla sonuçlanır.

Bu seçenek şu anda yalnızca ELF platformlarında desteklenmektedir.

--kuvvet-dinamik
Çıktı dosyasını dinamik bölümlere sahip olmaya zorlayın. Bu seçenek VxWorks'e özeldir
hedefler.

-r
-- yeniden yerleştirilebilir
Yeniden konumlandırılabilir çıktı üretin --- yani, sırayla işlev görebilecek bir çıktı dosyası oluşturun.
giriş ld. Buna genellikle kısmen bağlayıcı. Yan etki olarak, ortamlarda
standart Unix sihirli sayılarını destekleyen bu seçenek aynı zamanda çıktı dosyasının
sihirli sayı "OMAGIC". Bu seçenek belirtilmezse, mutlak dosya
üretilmiş. C++ programlarını bağlarken bu seçenek irade değil referansları çözmek
yapıcılar; bunu yapmak için kullanın -Evet.

Bir girdi dosyası çıktı dosyasıyla aynı biçime sahip olmadığında, kısmi bağlantı
yalnızca bu girdi dosyası herhangi bir yer değiştirme içermiyorsa desteklenir. Farklı
çıktı biçimlerinin başka kısıtlamaları olabilir; örneğin bazı "a.out" tabanlı biçimler
diğer biçimlerdeki girdi dosyalarıyla kısmi bağlantı kurmayı hiçbir şekilde desteklemez.

Bu seçenek aynı şeyi yapar -i.

-R Dosya
--sadece-semboller=Dosya
Sembol adlarını ve adreslerini şuradan okuyun: Dosya, ancak yerini değiştirmeyin veya dahil etmeyin
çıktıda o. Bu, çıktı dosyanızın sembolik olarak mutlak
diğer programlarda tanımlanan bellek konumları. Bu seçeneği birden fazla kullanabilirsiniz.
bir Zamanlar.

Diğer ELF bağlayıcıları ile uyumluluk için, eğer -R seçeneği bir dizin takip eder
dosya adı yerine dosya adı olarak kabul edilir. -rpath seçeneği.

-s
--tümünü şeritle
Çıktı dosyasındaki tüm sembol bilgilerini atlayın.

-S
--şerit-hata ayıklama
Hata ayıklayıcı sembolü bilgilerini (tüm sembolleri değil) çıktı dosyasından çıkarın.

-t
--iz
Giriş dosyalarının adlarını şu şekilde yazdırın: ld onları işler.

-T Komut dosyaları
--script=Komut dosyaları
kullanım Komut dosyaları bağlayıcı komut dosyası olarak. Bu komut dosyasının yerini alır ldvarsayılan bağlayıcı komut dosyası
(eklemek yerine), yani komut dosyası için gerekli her şeyi belirtmeli
çıktı dosyasını tanımlayın. Eğer Komut dosyaları geçerli dizinde mevcut değil,
"ld", önceki dizinler tarafından belirtilen dizinlerde arar. -L seçenekler. çoklu
-T seçenekler birikiyor.

-dT Komut dosyaları
--varsayılan-komut dosyası=Komut dosyaları
kullanım Komut dosyaları varsayılan bağlayıcı komut dosyası olarak.

Bu seçenek şuna benzer: --senaryo komut dosyasının işlenmesi dışında seçenek
komut satırının geri kalanı işlenene kadar ertelenir. Bu izin verir
sonra yerleştirilen seçenekler --varsayılan-komut dosyası etkilemek için komut satırındaki seçenek
bağlayıcı komut satırı olduğunda önemli olabilecek bağlayıcı komut dosyasının davranışı
doğrudan kullanıcı tarafından kontrol edilemez. (örneğin, komut satırı
gibi başka bir araç tarafından inşa gcc).

-u sembol
--tanımsız=sembol
Zorla sembol çıktı dosyasına tanımsız bir sembol olarak girilecek. Bunu yapmak,
örneğin, standart kitaplıklardan ek modüllerin bağlanmasını tetikleyin. -u olabilir
ek tanımsız semboller girmek için farklı seçenek argümanlarıyla tekrarlanır. Bu
seçeneği, "EXTERN" linker komut dosyası komutuna eşdeğerdir.

Bu seçenek, ek modülleri bağlantıya çekilmeye zorlamak için kullanılıyorsa,
ve sembolün tanımsız kalması bir hataysa, o zaman seçenek
--require-tanımlı yerine kullanılmalıdır.

--require-tanımlı=sembol
Bunu gerektirir sembol çıktı dosyasında tanımlanır. Bu seçenek, seçenekle aynıdır
--Tanımsız bunun dışında sembol çıktı dosyasında tanımlanmamış, ardından bağlayıcı
hata verecek ve çıkacaktır. Aynı etki, bir bağlayıcı komut dosyasında şu şekilde elde edilebilir:
"EXTERN", "ASSERT" ve "TANIMLI" kelimelerini birlikte kullanın. Bu seçenek birden fazla kullanılabilir
ek semboller gerektiren zamanlar.

-Evet C++ programları dışındaki herhangi bir şey için bu seçenek şuna eşdeğerdir: -r: üretir
yeniden yerleştirilebilir çıktı --- yani, sırayla girdi işlevi görebilecek bir çıktı dosyası ld. Ne zaman
C++ programlarını bağlama, -Evet yok aksine, kuruculara yapılan referansları çöz -r. Yapar
kullanmak için çalışmıyor -Evet kendileri ile bağlantılı olan dosyalarda -Evet; bir kere
yapıcı tablosu oluşturuldu, eklenemez. Kullanmak -Evet sadece sonuncusu için
kısmi bağlantı ve -r diğerleri için.

--yetim-işleme=MOD
Yetim bölümlerin nasıl işlendiğini kontrol edin. Yetim bölümü, özel olarak olmayan bir bölümdür
bir bağlayıcı komut dosyasında belirtilen.

MOD aşağıdaki değerlerden herhangi birine sahip olabilir:

"yer"
Yetim bölümler strateji izlenerek uygun bir çıktı bölümüne yerleştirilir.
tarif edilmek Yetim Bölümler. Seçenek --benzersiz bölümlerin nasıl olduğunu da etkiler
yerleştirdi.

"at"
Tüm yetim bölümler, kutuya yerleştirilerek atılır. /İNDİR/ Bölüm.

"uyarmak"
Bağlayıcı, yetim bölümünü "yer" olarak yerleştirecek ve ayrıca bir uyarı verecektir.

"hata"
Herhangi bir yetim bölüm bulunursa, bağlayıcı bir hatayla çıkacaktır.

Varsayılan ise --yetim-işleme verilmeyen "yer"dir.

--benzersiz[=BÖLÜM]
Eşleşen her giriş bölümü için ayrı bir çıkış bölümü oluşturur BÖLÜMveya eğer
isteğe bağlı joker karakter BÖLÜM her yetim giriş bölümü için argüman eksik. Bir
yetim bölümü, bir bağlayıcı komut dosyasında özellikle belirtilmeyen bir bölümdür. bunu kullanabilirsin
komut satırında birden çok kez seçeneği; Girişin normal birleşmesini önler
aynı ada sahip bölümler, bir bağlayıcı komut dosyasındaki çıktı bölümü atamalarını geçersiz kılar.

-v
--versiyon
-V için sürüm numarasını görüntüleyin ld. -V seçeneği ayrıca desteklenen öykünmeleri listeler.

-x
--Hepsini at
Tüm yerel sembolleri silin.

-X
--discard-yerlileri
Tüm geçici yerel sembolleri silin. (Bu semboller sisteme özgü yerel
etiket önekleri, tipik olarak .L ELF sistemleri için veya L geleneksel a.out sistemleri için.)

-y sembol
--iz-sembol=sembol
Her bağlantılı dosyanın adını yazdırın. sembol görünür. Bu seçenek verilebilir
herhangi bir sayıda. Birçok sistemde, bir alt çizgi eklemek gerekir.

Bu seçenek, bağlantınızda tanımsız bir sembole sahip olduğunuz ancak bilmediğiniz durumlarda kullanışlıdır.
referans nereden geliyor.

-Y yol
Ekle yol varsayılan kitaplık arama yoluna. Bu seçenek Solaris için mevcuttur
uyumluluğu.

-z Anahtar kelime
Tanınan anahtar kelimeler şunlardır:

tarak
Birden çok yer değiştirme bölümünü birleştirir ve dinamik sembol araması yapmak için bunları sıralar
önbelleğe alma mümkündür.

tanımlar
Nesne dosyalarında tanımsız sembollere izin vermez. Paylaşılanda tanımsız semboller
kütüphanelere hala izin verilmektedir.

yürütme yığını
Nesneyi yürütülebilir yığın gerektiriyor olarak işaretler.

global
Bu seçenek yalnızca paylaşılan bir nesne oluştururken anlamlıdır. yapar
sembol çözünürlüğü için mevcut olan bu paylaşılan nesne tarafından tanımlanan semboller
daha sonra yüklenen kütüphaneler.

ilk önce
Bu seçenek yalnızca paylaşılan bir nesne oluştururken anlamlıdır. nesneyi işaretler
böylece çalışma zamanı başlatması, çalışma zamanı başlatma işleminden önce gerçekleşecektir.
aynı anda sürece getirilen diğer nesneler. Benzer şekilde
nesnenin çalışma zamanı sonlandırması, nesnenin çalışma zamanı sonlandırmasından sonra gerçekleşir.
diğer nesneler.

araya girmek
Sembol tablosunun tüm sembollerin önüne koyduğu nesneyi işaretler, ancak
birincil yürütülebilir dosya

tembel
Yürütülebilir veya paylaşılan bir kitaplık oluştururken, dinamiklere anlatmak için işaretleyin.
fonksiyon çağrıldığında fonksiyon çağrısı çözünürlüğünü ertelemek için linker
(tembel bağlama), yükleme zamanında değil. Tembel bağlama varsayılandır.

yük fltr
Çalışma zamanında filtrelerinin hemen işleneceği nesneyi işaretler.

muldefler
Birden fazla tanımlamaya izin verir.

nocombreloc
Birden çok yer değiştirme bölümünün birleştirilmesini devre dışı bırakır.

nocopyreloc
içinde tanımlanan değişkenlerin yerine kullanılan bağlayıcı tarafından oluşturulan .dynbss değişkenlerini devre dışı bırakın
paylaşılan kütüphaneler Dinamik metin yer değiştirmelerine neden olabilir.

nodefaultlib
Bu nesnenin bağımlılıklarının aranacağı nesneyi işaretler.
varsayılan kitaplık arama yolları.

düğüm noktası
Nesnenin çalışma zamanında boşaltılmaması gerektiğini belirtir.

salak
"Dlopen" için uygun olmayan nesneyi işaretler.

boşaltma yok
Nesnenin "dldump" tarafından boşaltılamayacağını işaretler.

yürütme yok
Nesneyi yürütülebilir yığın gerektirmiyor olarak işaretler.

metin
DT_TEXTREL'i paylaşılan nesnede hata olarak ele alın.

Yazı yok
DT_TEXTREL'i paylaşılan nesnede hata olarak kabul etmeyin.

metin kapalı
DT_TEXTREL'i paylaşılan nesnede hata olarak kabul etmeyin.

Norelro
Nesnede bir ELF "PT_GNU_RELRO" segment başlığı oluşturmayın.

şimdi Yürütülebilir veya paylaşılan bir kitaplık oluştururken, dinamiklere anlatmak için işaretleyin.
program başlatıldığında veya paylaşıldığında tüm sembolleri çözmek için linker
kitaplık, işlev çağrısı çözünürlüğünü ertelemek yerine dlopen kullanmaya bağlıdır
fonksiyonun ilk çağrıldığı noktaya kadar.

köken
Nesnenin $ORIGIN içerebileceğini işaretler.

tekrar
Nesnede bir ELF "PT_GNU_RELRO" segment başlığı oluşturun.

maksimum sayfa boyutu=değer
Öykünme maksimum sayfa boyutunu şuna ayarlayın: değer.

ortak sayfa boyutu=değer
Öykünme ortak sayfa boyutunu şuna ayarlayın: değer.

yığın boyutu=değer
Bir ELF "PT_GNU_STACK" segmentinde bir yığın boyutu belirtin. sıfır belirtmek
herhangi bir varsayılan sıfır olmayan boyutlu "PT_GNU_STACK" segment oluşturmayı geçersiz kılar.

bndplt
PLT girişlerinde her zaman BND öneki oluşturun. Linux/x86_64 için desteklenir.

noextern korumalı veri
Paylaşılan kitaplık oluştururken korunan veri sembolünü harici olarak ele almayın. Bu
seçenek, bağlayıcı arka uç varsayılanını geçersiz kılar. Yanlış bir çözüm için kullanılabilir
derleyici tarafından oluşturulan korumalı veri sembollerine karşı yer değiştirme. Güncellemeler
başka bir modül tarafından korunan veri sembolleri, elde edilen paylaşılanlar tarafından görülmez
kütüphane. i386 ve x86-64 için desteklenir.

call-nop=prefix-addr
call-nop=önek-nop
call-nop=sonek-nop
call-nop=ön ek-bayt
call-nop=sonek-bayt
Dolaylı çağrıyı yerel bir çağrıya dönüştürürken 1 baytlık "NOP" dolgusunu belirtin
GOT yuvası aracılığıyla tanımlanmış işlev, foo. call-nop=prefix-addr "0x67 oluşturur
foo'yu ara". call-nop=önek-nop "0x90 çağrı foo" oluşturur. call-nop=sonek-nop
"çağrı 0x90" oluşturur. call-nop=ön ek-bayt üretir"bayt çağrı foo".
call-nop=sonek-bayt "foo çağrısı" üretir bayt". i386 ve x86_64 için desteklenir.

Solaris uyumluluğu için diğer anahtar kelimeler yok sayılır.

-( arşiv -)
--başlangıç ​​grubu arşiv --son grup
The arşiv arşiv dosyalarının bir listesi olmalıdır. Açık dosya olabilir
isimler veya -l seçenekleri.

Belirtilen arşivler, yeni tanımsız referans kalmayıncaya kadar tekrar tekrar aranır.
yaratıldı. Normalde, bir arşiv, belirtildiği sırayla yalnızca bir kez aranır.
komut satırında. Tanımlanmamış bir sorunu çözmek için o arşivdeki bir sembole ihtiyaç duyulursa
daha sonra komut satırında görünen bir arşivdeki bir nesne tarafından atıfta bulunulan sembol,
linker bu referansı çözemez. Arşivleri gruplayarak,
tüm olası referanslar çözülene kadar hepsi tekrar tekrar aranır.

Bu seçeneği kullanmanın önemli bir performans maliyeti vardır. Sadece ne zaman kullanmak en iyisidir
iki veya daha fazla arşiv arasında kaçınılmaz döngüsel referanslar var.

--kabul-unknown-input-arch
--no-kabul-unknown-input-arch
Bağlayıcıya, mimarisi tanınmayan girdi dosyalarını kabul etmesini söyler. NS
varsayım, kullanıcının ne yaptığını bildiği ve kasıtlı olarak bağlantı kurmak istediğidir.
bu bilinmeyen girdi dosyalarında. Bu, daha önce bağlayıcının varsayılan davranışıydı.
2.14'ü yayınlayın. 2.14 sürümünden itibaren varsayılan davranış, bu tür girdileri reddetmektir.
dosyalar ve böylece --kabul-unknown-input-arch eskisini geri yüklemek için seçenek eklendi
davranışı.

--ihyaç olduğu gibi
--hayır-gerektiğinde
Bu seçenek, komutta belirtilen dinamik kitaplıklar için ELF DT_NEEDED etiketlerini etkiler
satırdan sonra --ihyaç olduğu gibi seçenek. Normalde bağlayıcı, aşağıdakiler için bir DT_NEEDED etiketi ekler:
kitaplığın olup olmadığına bakılmaksızın komut satırında belirtilen her dinamik kitaplık
aslında gerekli olup olmadığıdır. --ihyaç olduğu gibi bir DT_NEEDED etiketinin yalnızca
bir kütüphane ki at o nokta in the Link zayıf olmayan tanımsız bir sembolü karşılar
normal bir nesne dosyasından referans veya kitaplık DT_NEEDED içinde bulunmazsa
diğer gerekli kitaplıkların listeleri, diğerinden zayıf olmayan tanımsız bir sembol referansı
gerekli dinamik kütüphane. Komut satırında görünen nesne dosyaları veya kitaplıkları sonra
söz konusu kitaplık, kitaplığın gerektiği gibi görülüp görülmediğini etkilemez. Bu
nesne dosyalarının arşivlerden çıkarılmasına ilişkin kurallara benzer. --hayır-gerektiğinde
varsayılan davranışı geri yükler.

--add-gerekli
--eklenmeye gerek yok
Adlarının benzerliği nedeniyle bu iki seçenek kullanımdan kaldırılmıştır.
--ihyaç olduğu gibi ve --hayır-gerektiğinde seçenekler. Onlar tarafından değiştirildi
--copy-dt-gerekli-girişler ve --no-copy-dt-gerekli-girişler.

-iddia etmek Anahtar kelime
Bu seçenek SunOS uyumluluğu için yok sayılır.

-Bdinamik
-dy
-Call_shared
Dinamik kitaplıklara karşı bağlantı. Bu, yalnızca paylaşılan platformlarda anlamlıdır.
kütüphaneler desteklenir. Bu seçenek normalde bu tür platformlarda varsayılandır. NS
bu seçeneğin farklı varyantları, çeşitli sistemlerle uyumluluk içindir. Yapabilirsin
bu seçeneği komut satırında birden çok kez kullanın: kitaplık aramasını etkiler
-l onu takip eden seçenekler.

-B grubu
Dinamik bölümdeki "DT_FLAGS_1" girişinde "DF_1_GROUP" bayrağını ayarlayın. Bu
çalışma zamanı bağlayıcısının bu nesnedeki aramaları işlemesine ve bağımlılıklarının
sadece grup içinde yapılır. --çözülmemiş-semboller=hepsini raporla ima edilir. Bu
seçeneği yalnızca paylaşılan kitaplıkları destekleyen ELF platformlarında anlamlıdır.

-Bstatik
-dn
-paylaşılmayan
-statik
Paylaşılan kitaplıklara karşı bağlantı vermeyin. Bu, yalnızca şu platformlarda anlamlıdır:
paylaşılan kitaplıklar desteklenir. Bu seçeneğin farklı varyantları
çeşitli sistemlerle uyumluluk. Bu seçeneği ekranda birden çok kez kullanabilirsiniz.
komut satırı: kitaplığın aranmasını etkiler -l onu takip eden seçenekler. Bu
seçeneği de ima eder --çözülmemiş-semboller=hepsini raporla. Bu seçenek ile kullanılabilir
-paylaşılan. Bunu yapmak, paylaşılan bir kitaplığın oluşturulduğu, ancak tüm
kütüphanenin dış referansları, girişler statikten çekilerek çözülmelidir.
kütüphaneler.

-Bsembolik
Paylaşılan bir kitaplık oluştururken, genel sembollere yapılan referansları tanıma bağlayın
varsa, paylaşılan kitaplık içinde. Normalde, bağlantılı bir program için mümkündür
paylaşılan kitaplık içindeki tanımı geçersiz kılmak için paylaşılan bir kitaplığa karşı. Bu
seçeneği ile de kullanılabilir. --ihracat-dinamik seçenek, bir pozisyon oluştururken
küresel sembollere yapılan referansları içindeki tanıma bağlamak için bağımsız yürütülebilir dosya
yürütülebilir. Bu seçenek yalnızca paylaşımlı paylaşımları destekleyen ELF platformlarında anlamlıdır.
kitaplıklar ve konumdan bağımsız yürütülebilir dosyalar.

-Bsembolik-fonksiyonlar
Paylaşılan bir kitaplık oluştururken, global fonksiyon sembollerine yapılan referansları
varsa, paylaşılan kitaplık içindeki tanım. Bu seçenek aynı zamanda
--ihracat-dinamik seçenek, konumdan bağımsız bir yürütülebilir dosya oluştururken, bağlamak için
yürütülebilir dosya içindeki tanımlamaya genel işlev sembollerine referanslar. Bu
seçeneği yalnızca paylaşılan kitaplıkları ve konumu destekleyen ELF platformlarında anlamlıdır.
bağımsız yürütülebilir dosyalar

--dinamik-liste=dinamik liste dosyası
Bağlayıcıya dinamik liste dosyasının adını belirtin. Bu genellikle şu durumlarda kullanılır:
referansları olan küresel sembollerin bir listesini belirtmek için paylaşılan kitaplıklar oluşturma
paylaşılan kitaplık içindeki tanıma bağlı olmamalı veya oluşturulmamalıdır.
eklenmesi gereken sembollerin bir listesini belirtmek için dinamik olarak bağlantılı yürütülebilir dosyalar
yürütülebilir dosyadaki sembol tablosu. Bu seçenek yalnızca ELF platformlarında anlamlıdır
paylaşılan kitaplıkları destekler.

Dinamik listenin biçimi, kapsam ve düğüm içermeyen sürüm düğümüyle aynıdır
isim. Görmek VERSION daha fazla bilgi için.

--dinamik-liste-veri
Tüm global veri sembollerini dinamik listeye dahil edin.

--dinamik-liste-cpp-yeni
Yeni C++ operatörü için yerleşik dinamik listeyi sağlayın ve silin. Esas olarak yararlıdır
paylaşılan libstdc++ oluşturmak için.

--dinamik-list-cpp-typeinfo
C++ çalışma zamanı türü tanımlaması için yerleşik dinamik listeyi sağlayın.

--kontrol bölümleri
--no-check-bölümleri
bağlayıcıya sorar değil bölüm adreslerini atandıktan sonra kontrol etmek için
herhangi bir örtüşme var. Normalde bağlayıcı bu kontrolü gerçekleştirir ve bulursa
herhangi bir örtüşme, uygun hata mesajları üretecektir. Bağlayıcı bunu biliyor ve
bindirmelerdeki bölümler için ödenek yapar. Varsayılan davranış geri yüklenebilir
komut satırı anahtarını kullanarak --kontrol bölümleri. Bölüm çakışması genellikle
yeniden yerleştirilebilir bağlantılar için kontrol edildi. Bu durumda, aşağıdakileri kullanarak denetimi zorlayabilirsiniz:
--kontrol bölümleri seçeneği.

--copy-dt-gerekli-girişler
--no-copy-dt-gerekli-girişler
Bu seçenek, DT_NEEDED etiketleri tarafından atıfta bulunulan dinamik kitaplıkların işlenmesini etkiler.
içeride Komut satırında belirtilen ELF dinamik kitaplıkları. Normalde bağlayıcı olmaz
DT_NEEDED etiketinde belirtilen her kitaplık için çıktı ikili dosyasına bir DT_NEEDED etiketi ekleyin
bir giriş dinamik kitaplığında. İle birlikte --copy-dt-gerekli-girişler komutta belirtilen
ancak onu takip eden tüm dinamik kitaplıkların DT_NEEDED girişleri olacaktır.
katma. Varsayılan davranış ile geri yüklenebilir --no-copy-dt-gerekli-girişler.

Bu seçeneğin dinamik kitaplıklardaki sembollerin çözünürlüğü üzerinde de etkisi vardır.
İle --copy-dt-gerekli-girişler komut satırında belirtilen dinamik kitaplıklar
DT_NEEDED etiketlerini takip ederek diğer kütüphanelere tekrar tekrar aranır.
çıktı ikili dosyasının gerektirdiği sembolleri çöz. Ancak varsayılan ayar ile
onu takip eden dinamik kitaplıkların aranması dinamik kitaplık ile duracaktır
kendisi. Sembolleri çözmek için hiçbir DT_NEEDED bağlantısı geçilmez.

--cref
Bir çapraz referans tablosu çıktısı alın. Bir bağlayıcı eşleme dosyası oluşturuluyorsa, çapraz
referans tablosu harita dosyasına yazdırılır. Aksi takdirde standart üzerine basılmıştır.
çıktı.

Tablonun formatı kasıtlı olarak basittir, böylece kolayca işlenebilir.
gerekirse bir komut dosyası. Semboller ada göre sıralanarak yazdırılır. Her bir sembol için,
dosya adlarının bir listesi verilir. Sembol tanımlanmışsa, listelenen ilk dosya,
tanımın yeri. Sembol ortak bir değer olarak tanımlanmışsa, herhangi bir dosya
bunun gerçekleştiği yer daha sonra görünür. Son olarak, sembole başvuran tüm dosyalar
listelenmiş.

--no-tanımsız-ortak
Bu seçenek, adreslerin ortak sembollere atanmasını engeller. Senaryo
"INHIBIT_COMMON_ALLOCATION" komutu aynı etkiye sahiptir.

The --no-tanımsız-ortak seçenek, adres atama kararının ayrıştırılmasına izin verir.
Çıktı dosyası türü seçiminden ortak semboller; aksi takdirde Yeri Değiştirilemez
çıktı türü, adresleri Ortak sembollere atamaya zorlar. kullanma --no-tanımsız-ortak
paylaşılan bir kitaplıktan başvurulan Ortak sembollerin atanmasına izin verir
adresleri sadece ana programda. Bu, dosyadaki kullanılmayan yinelenen alanı ortadan kaldırır.
paylaşılan kütüphane ve ayrıca yanlış çözümleme konusunda olası karışıklığı önler
için özel arama yollarına sahip birçok dinamik modül olduğunda çoğaltın
çalışma zamanı sembolü çözünürlüğü.

--defsim=sembol=ifade
tarafından verilen mutlak adresi içeren çıktı dosyasında genel bir sembol oluşturun.
ifade. Bu seçeneği birden çok kez tanımlamak için gerektiği kadar kullanabilirsiniz.
komut satırındaki semboller. için sınırlı bir aritmetik biçimi desteklenir.
ifade bu bağlamda: onaltılık bir sabit veya bir
veya onaltılık sabitleri eklemek veya çıkarmak için "+" ve "-" kullanın veya
semboller. Daha ayrıntılı ifadelere ihtiyacınız varsa, linker komutunu kullanmayı düşünün.
bir komut dosyasından dil. Not: arasında beyaz boşluk olmamalıdır. sembol,
eşittir işareti ("="), ve ifade.

--demang[=stil]
--bozulma yok
Bu seçenekler, hata mesajlarında ve diğer durumlarda sembol adlarının çözülüp çözülmeyeceğini kontrol eder.
çıktı. Bağlayıcıya demangle yapması söylendiğinde, sembol adlarını bir
okunabilir moda: nesne dosyası tarafından kullanılıyorlarsa baştaki alt çizgileri kaldırır
biçimlendirir ve C++ karışık sembol adlarını kullanıcı tarafından okunabilir adlara dönüştürür. Farklı
derleyicilerin farklı yönetme stilleri vardır. İsteğe bağlı sökme stili argümanı,
derleyiciniz için uygun bir demangling stili seçmek için kullanılabilir. bağlayıcı
ortam değişkeni olmadığı sürece varsayılan olarak demangle TOPLA_NO_DEMANGLE ayarlanır. Bunlar
varsayılanı geçersiz kılmak için seçenekler kullanılabilir.

-Idosya
--dinamik-bağlayıcı=dosya
Dinamik bağlayıcının adını ayarlayın. Bu sadece üretirken anlamlıdır
dinamik olarak bağlı ELF yürütülebilir dosyaları. Varsayılan dinamik bağlayıcı normalde doğrudur;
ne yaptığınızı bilmiyorsanız bunu kullanmayın.

--no-dinamik-bağlayıcı
Yürütülebilir bir dosya üretirken, şurada kullanılacak dinamik bir bağlayıcı talebini atlayın.
yükleme zamanı. Bu, yalnızca dinamik içeren ELF yürütülebilir dosyaları için anlamlıdır.
ve genellikle bunları işleyebilen giriş noktası kodu gerektirir
yer değiştirmeler.

--ölümcül-uyarılar
--ölümcül olmayan-uyarılar
Tüm uyarıları hata olarak kabul edin. Varsayılan davranış seçeneği ile geri yüklenebilir
--ölümcül olmayan-uyarılar.

--force-exe-soneki
Bir çıktı dosyasının bir .exe son ekine sahip olduğundan emin olun.

Başarıyla oluşturulmuş tam bağlantılı bir çıktı dosyasında ".exe" veya ".dll" yoksa
sonek, bu seçenek bağlayıcıyı çıktı dosyasını aynı ada sahip birine kopyalamaya zorlar.
".exe" son eki ile. Bu seçenek, değiştirilmemiş Unix makefile'lerini bir bilgisayarda kullanırken kullanışlıdır.
Microsoft Windows ana bilgisayarı, çünkü Windows'un bazı sürümleri, bir görüntüyü çalıştırmadıkça
".exe" son ekiyle biter.

--gc bölümleri
--no-gc-bölümleri
Kullanılmayan giriş bölümlerinin çöp toplamasını etkinleştirin. Bunu yapan hedeflerde yoksayılır.
bu seçeneği desteklemiyor. Varsayılan davranış (bu çöpü gerçekleştirmemek
koleksiyon) belirtilerek geri yüklenebilir --no-gc-bölümleri komut satırında. Not
COFF ve PE biçimli hedefler için çöp toplamanın desteklendiği, ancak
uygulama şu anda deneysel olarak kabul edilmektedir.

--gc bölümleri sembolleri inceleyerek hangi girdi bölümlerinin kullanılacağına karar verir ve
yer değiştirmeler. Giriş sembolünü içeren bölüm ve aşağıdakileri içeren tüm bölümler
komut satırında tanımlanmayan semboller, aşağıdakileri içeren bölümler gibi tutulacaktır.
dinamik nesneler tarafından başvurulan semboller. Paylaşılan kitaplıkları oluştururken,
linker, herhangi bir görünür sembolün referans alındığını varsaymalıdır. Bu ilk set bir kez
bölümler belirlendi, bağlayıcı herhangi bir bölümü tekrar tekrar kullanılmış olarak işaretler
taşınmaları ile anılır. Görmek --giriş ve --Tanımsız.

Bu seçenek, kısmi bir bağlantı yapılırken ayarlanabilir (seçenek ile etkinleştirilir) -r). Bunda
tutulan sembollerin kökü, bir --giriş or
--Tanımsız seçeneğiyle veya bağlayıcı komut dosyasındaki bir "ENTRY" komutuyla.

--print-gc-bölümleri
--no-print-gc-bölümleri
Çöp toplama tarafından kaldırılan tüm bölümleri listeleyin. Liste stderr'de basılmıştır.
Bu seçenek, yalnızca çöp toplama işlevi aracılığıyla etkinleştirilmişse etkilidir.
--gc bölümleri) seçenek. Varsayılan davranış (olan bölümleri listelememe)
kaldırıldı) belirtilerek geri yüklenebilir --no-print-gc-bölümleri komut satırında.

--baskı-çıktı-formatı
Varsayılan çıktı biçiminin adını yazdırın (belki diğer komut satırından etkilenir).
seçenekler). Bu, bir "OUTPUT_FORMAT" bağlayıcı komut dosyasında görünecek dizedir
Komut.

--print-bellek-kullanımı
ile oluşturulan bellek bölgelerinin kullanılan boyutunu, toplam boyutunu ve kullanılan boyutunu yazdırın. BELLEK
emretmek. Bu, ücretsiz veri miktarını hızlı bir şekilde görmek için gömülü hedeflerde kullanışlıdır.
hafıza. Çıktının biçimi, bölge başına bir başlık ve bir satıra sahiptir. Bu
hem insan tarafından okunabilir hem de araçlarla kolayca ayrıştırılabilir. İşte bir çıktı örneği:

Bellek bölgesi Kullanılan Boyut Bölge Boyut %age Kullanılan
ROM: 256 KB 1 MB %25.00
RAM: 32 B 2 GB %0.00

--yardım et
Standart çıktıda komut satırı seçeneklerinin bir özetini yazdırın ve çıkın.

--hedef-yardım
Standart çıktıya tüm hedefe özel seçeneklerin bir özetini yazdırın ve çıkın.

-Harita=harita dosyası
Dosyaya bir bağlantı haritası yazdırın harita dosyası. açıklamasına bakın -M seçeneği, yukarıda.

--hayır-bellek-bellek
ld sembol tablolarını önbelleğe alarak normal olarak bellek kullanımı üzerindeki hızı optimize eder.
dosyaları belleğe girin. Bu seçenek söyler ld bunun yerine bellek kullanımı için optimize etmek için
sembol tablolarını gerektiği gibi yeniden okumak. Bu, eğer gerekli olabilir ld dışına kaçmak
büyük bir yürütülebilir dosyayı bağlarken bellek alanı.

--no-tanımsız
-z tanımlar
Normal nesne dosyalarından çözülmemiş sembol referanslarını bildirin. Bu yapılırsa bile
bağlayıcı, sembolik olmayan bir paylaşılan kitaplık oluşturuyor. Anahtar
--[no-]allow-shlib-tanımsız çözülmemiş raporlama davranışını kontrol eder
Bağlantılı paylaşılan kitaplıklarda bulunan referanslar.

--izin-çoklu-tanım
-z muldefler
Normalde bir sembol birden çok kez tanımlandığında, bağlayıcı ölümcül bir rapor verir.
hata. Bu seçenekler birden fazla tanımlamaya izin verir ve ilk tanım kullanılır.

--allow-shlib-tanımsız
--no-allow-shlib-tanımsız
Paylaşılan kitaplıklarda tanımsız sembollere izin verir veya vermez. Bu anahtar şuna benzer
--no-tanımsız tanımsız semboller olduğunda davranışı belirlemesi dışında
normal bir nesne dosyası yerine paylaşılan bir kitaplıkta. Nasıl etkilemez
normal nesne dosyalarındaki tanımsız semboller işlenir.

Varsayılan davranış, içinde atıfta bulunulan tüm tanımsız semboller için hataları bildirmektir.
bağlayıcı yürütülebilir bir dosya oluşturmak için kullanılıyorsa, ancak izin vermek için paylaşılan kitaplıklar
linker, paylaşılan bir kitaplık oluşturmak için kullanılıyorsa.

Belirtilen paylaşılan kitaplıklarda tanımsız sembol referanslarına izin vermenin nedenleri
bağlantı zamanı şudur:

· Bağlantı zamanında belirtilen paylaşılan kitaplık, paylaşılan kitaplık ile aynı olmayabilir.
yükleme zamanında kullanılabilir, bu nedenle sembol yükleme zamanında gerçekten çözülebilir olabilir.

· Bazı işletim sistemleri vardır, örneğin BeOS ve HPPA, içinde tanımsız sembollerin bulunduğu
paylaşılan kütüphaneler normaldir.

Örneğin, BeOS çekirdeği, seçim için yükleme zamanında paylaşılan kitaplıkları yamalar
mevcut mimari için en uygun işlev hangisiyse. Bu
örneğin, uygun bir memset işlevini dinamik olarak seçmek için kullanılır.

--no-tanımsız-sürüm
Normalde bir sembolün tanımsız bir versiyonu olduğunda, bağlayıcı onu görmezden gelir. Bu
seçenek, tanımsız sürüme sahip sembollere izin vermez ve önemli bir hata verilir
yerine.

--varsayılan-symver
Versiyonsuz dışa aktarılan semboller için varsayılan bir sembol versiyonu (soneme) oluşturun ve kullanın.

--varsayılan-içe aktarılan-symver
Sürüm değiştirilmemiş içe aktarılan semboller için varsayılan bir sembol sürümü (soneme) oluşturun ve kullanın.

--no-uyarı-uyumsuzluğu
Normalde ld olan girdi dosyalarını birbirine bağlamaya çalışırsanız bir hata verecektir.
bir nedenden dolayı uyumsuz, belki de farklı amaçlar için derlendikleri için
işlemciler veya farklı endianness'ler için. Bu seçenek söyler ld gerektiğini
sessizce bu tür olası hatalara izin verin. Bu seçenek yalnızca dikkatli kullanılmalıdır,
bağlayıcı hatalarının olmasını sağlayan bazı özel eylemler gerçekleştirdiğiniz durumlar
uygunsuz.

--no-warn-arama-uyumsuzluğu
Normalde ld bir kitaplık sırasında uyumsuz bir kitaplık bulursa uyarı verir
arama. Bu seçenek uyarıyı susturur.

--no-tüm-arşiv
efektini kapat --bütün arşiv sonraki arşiv dosyaları için seçenek.

--noinhibit-yürütme
Yürütülebilir çıktı dosyasını hala kullanılabilir olduğunda saklayın. Normalde, bağlayıcı
bağlantı işlemi sırasında hatalarla karşılaşırsa bir çıktı dosyası üretmeyecektir; o
herhangi bir hata verdiğinde çıktı dosyası yazmadan çıkar.

-nstdlib
Yalnızca komut satırında açıkça belirtilen kitaplık dizinlerini arayın. Kütüphane
bağlayıcı komut dosyalarında belirtilen dizinler (bağlayıcı komut dosyalarında belirtilen bağlayıcı komut dosyaları dahil)
komut satırı) yoksayılır.

--oformat=çıkış formatı
ld birden fazla nesne dosyasını destekleyecek şekilde yapılandırılabilir. Eğer senin ld is
bu şekilde yapılandırılmış, kullanabilirsiniz --oformat için ikili formatı belirleme seçeneği
çıktı nesnesi dosyası. Hatta ld alternatif nesneyi desteklemek için yapılandırıldı
biçimlerde, genellikle bunu belirtmeniz gerekmez, çünkü ld üretecek şekilde yapılandırılmalıdır.
varsayılan çıktı biçimi olarak, her makinedeki en olağan biçimdir. çıkış formatı bir
metin dizesi, BFD kitaplıkları tarafından desteklenen belirli bir biçimin adı. (Yapabilirsiniz
mevcut ikili formatları listeleyin nesne dökümü -i.) Komut dosyası komutu
"OUTPUT_FORMAT" çıktı biçimini de belirleyebilir, ancak bu seçenek onu geçersiz kılar.

-turta
--pic-yürütülebilir
Bir konumdan bağımsız yürütülebilir dosya oluşturun. Bu, şu anda yalnızca ELF'de desteklenmektedir
platformlar. Konumdan bağımsız yürütülebilir dosyalar, bu konuda paylaşılan kitaplıklara benzer.
dinamik bağlayıcı tarafından işletim sisteminin seçtiği sanal adrese taşınırlar.
(çağrılar arasında değişebilir). Normal dinamik olarak bağlantılı yürütülebilir dosyalar gibi
yürütülebilirler ve yürütülebilir dosyada tanımlanan semboller tarafından geçersiz kılınamazlar.
paylaşılan kütüphaneler

-qbüyü
Bu seçenek Linux uyumluluğu için yoksayılır.

-Qy Bu seçenek, SVR4 uyumluluğu için yok sayılır.

--rahatlamak
--hayır-rahatla
Makineye bağlı etkileri olan bir seçenek. Bu seçenek yalnızca birkaç
hedefler.

Bazı platformlarda, --rahatlamak seçenek, hedefe özel, global optimizasyonlar gerçekleştirir
bu, linker programda adreslemeyi çözdüğünde mümkün olur, örneğin
rahatlatıcı adres modları, yeni talimatları sentezleme, daha kısa versiyonunu seçme
mevcut talimatlar ve sabit değerlerin birleştirilmesi.

Bazı platformlarda bu bağlantı zamanı global optimizasyonları, sembolik hata ayıklama yapabilir.
ortaya çıkan yürütülebilir dosya imkansız. Bunun Matsushita için geçerli olduğu bilinmektedir.
MN10200 ve MN10300 işlemci ailesi.

Bunun desteklenmediği platformlarda, --rahatlamak kabul edilir ama görmezden gelinir.

olduğu platformlarda --rahatlamak seçenek kabul edildi --hayır-rahatla devre dışı bırakmak için kullanılabilir
özellik.

--retain-symbols-dosyası=Dosya
tutmak bir tek dosyada listelenen semboller Dosya, diğerlerini atarak. Dosya
her satırda bir sembol adı olan düz bir dosyadır. Bu seçenek özellikle
büyük bir global sembol tablosunun bulunduğu ortamlarda (VxWorks gibi) kullanışlıdır.
çalışma zamanı belleğini korumak için kademeli olarak toplanır.

--retain-symbols-dosyası yok değil tanımlanmamış sembolleri veya bunun için gerekli sembolleri atın
yer değiştirmeler.

sadece belirtebilirsiniz --retain-symbols-dosyası komut satırında bir kez. geçersiz kılar -s
ve -S.

-ryol=dir
Çalışma zamanı kitaplığı arama yoluna bir dizin ekleyin. Bu, bir ELF'yi bağlarken kullanılır
paylaşılan nesnelerle yürütülebilir. Tüm -rpath argümanlar birleştirilir ve iletilir
bunları çalışma zamanında paylaşılan nesneleri bulmak için kullanan çalışma zamanı bağlayıcısı. NS -rpath
seçeneği, paylaşılan nesneler tarafından ihtiyaç duyulan paylaşılan nesneleri bulurken de kullanılır.
bağlantıya açıkça dahil edilmiştir; açıklamasına bakın -rpath-bağlantısı seçenek. Eğer
-rpath bir ELF yürütülebilir dosyası bağlanırken kullanılmaz, ortamın içeriği
"LD_RUN_PATH" değişkeni tanımlanmışsa kullanılacaktır.

The -rpath seçeneği SunOS'ta da kullanılabilir. Varsayılan olarak, SunOS'ta bağlayıcı
hepsinden bir çalışma zamanı arama yolu oluşturun -L verdiği seçeneklerdir. Eğer bir -rpath seçenek
kullanıldığında, çalışma zamanı arama yolu yalnızca -rpath seçenekleri,
görmezden gelmek -L seçenekler. Bu, birçok ekleyen gcc kullanırken yararlı olabilir. -L
NFS'ye bağlı dosya sistemlerinde olabilecek seçenekler.

Diğer ELF bağlayıcıları ile uyumluluk için, eğer -R seçeneği bir dizin takip eder
dosya adı yerine dosya adı olarak kabul edilir. -rpath seçeneği.

-rpath-bağlantısı=dir
ELF veya SunOS kullanırken, paylaşılan bir kitaplık başka bir kitaplık gerektirebilir. Bu, bir
"ld -shared" bağlantısı, girdi dosyalarından biri olarak paylaşılan bir kitaplık içerir.

Bağlayıcı, paylaşılmayan, yeri değiştirilemez bir işlem yaparken böyle bir bağımlılıkla karşılaştığında
bağlantı, gerekli paylaşılan kitaplığı otomatik olarak bulmaya çalışacak ve onu dahil edecektir.
açık bir şekilde dahil edilmemişse, bağlantıda. Böyle bir durumda, -rpath-bağlantısı seçenek
aranacak ilk dizin kümesini belirtir. NS -rpath-bağlantısı seçenek belirtebilir
ile ayrılmış bir ad listesi belirterek bir dizin adları dizisi
iki nokta üst üste veya birden çok kez görünerek.

Bu seçenek, olası arama yolunu geçersiz kıldığı için dikkatli kullanılmalıdır.
paylaşılan bir kitaplıkta zor derlenmiştir. Böyle bir durumda kullanmak mümkündür
istemeden, çalışma zamanı bağlayıcısının yapacağından farklı bir arama yolu.

Bağlayıcı, gerekli paylaşılan kitaplıkları bulmak için aşağıdaki arama yollarını kullanır:

1. tarafından belirtilen herhangi bir dizin -rpath-bağlantısı seçenekleri.

2. tarafından belirtilen herhangi bir dizin -rpath seçenekler. Arasındaki fark -rpath ve
-rpath-bağlantısı tarafından belirtilen dizinler -rpath seçeneklere dahildir
yürütülebilir ve çalışma zamanında kullanılır, oysa -rpath-bağlantısı seçenek sadece etkilidir
bağlantı zamanında. Aranıyor -rpath bu şekilde yalnızca yerel bağlayıcılar tarafından desteklenir ve
ile yapılandırılmış çapraz bağlayıcılar --sysroot ile seçeneği.

3. Bir ELF sisteminde, yerel bağlayıcılar için -rpath ve -rpath-bağlantısı seçenekler vardı
kullanılmıyorsa, "LD_RUN_PATH" ortam değişkeninin içeriğini arayın.

4. SunOS'ta, eğer -rpath seçenek kullanılmadı, belirtilen dizinleri arayın
kullanma -L seçenekleri.

5. Yerel bir bağlayıcı için ortam değişkeninin içeriğini arayın
"LD_LIBRARY_PATH".

6. Yerel bir ELF bağlayıcısı için, paylaşılan bir dosyanın "DT_RUNPATH" veya "DT_RPATH" içindeki dizinleri
kütüphane, ihtiyaç duyduğu paylaşılan kütüphaneler için aranır. "DT_RPATH" girişleri
"DT_RUNPATH" girişleri varsa yoksayılır.

7. Normalde varsayılan dizinler / lib ve / USR / lib.

8. Bir ELF sistemindeki yerel bir bağlayıcı için, eğer dosya /etc/ld.so.conf var, liste
Bu dosyada bulunan dizinler.

Gerekli paylaşılan kitaplık bulunamazsa, bağlayıcı bir uyarı verir ve
bağlantı ile devam edin.

-paylaşılan
-Bpaylaşılabilir
Paylaşılan bir kitaplık oluşturun. Bu, şu anda yalnızca ELF, XCOFF ve SunOS'ta desteklenmektedir.
platformlar. SunOS'ta, bağlayıcı, aşağıdaki durumlarda otomatik olarak paylaşılan bir kitaplık oluşturacaktır. -e
seçeneği kullanılmamaktadır ve linkte tanımsız semboller bulunmaktadır.

--sıralama-ortak
--sort-common=artan
--sort-ortak=azalan
Bu seçenek söyler ld ortak sembolleri artan veya
bunları uygun çıktı bölümlerine yerleştirdiğinde azalan sırada. Sembol
dikkate alınan hizalamalar on altı bayt veya daha büyük, sekiz bayt, dört bayt, iki bayt ve
bir bayt. Bu, hizalama kısıtlamaları nedeniyle semboller arasındaki boşlukları önlemek içindir. Eğer hayırsa
sıralama düzeni belirtilir, ardından azalan düzen varsayılır.

--sort-bölümü=isim
Bu seçenek, "SORT_BY_NAME" ifadesini bağlayıcıdaki tüm joker karakter bölümü kalıplarına uygular
komut.

--sort-section=hizalama
Bu seçenek, "SORT_BY_ALIGNMENT" ifadesini, dizindeki tüm joker karakter bölümü kalıplarına uygular.
bağlayıcı komut dosyası

--dosyaya göre böl[=boyut]
Benzer --bölünerek yer değiştirme ancak her girdi dosyası için yeni bir çıktı bölümü oluşturur.
boyut ulaşıldı. boyut verilmezse varsayılan olarak 1 boyutundadır.

--bölünerek yer değiştirme[=saymak]
Çıktı dosyasında tek bir çıktı bölümü olmaması için ekstra bölümler oluşturmaya çalışır.
dosya daha fazlasını içeriyor saymak yer değiştirmeler. Bu, büyük oluştururken kullanışlıdır
COFF nesnesiyle belirli gerçek zamanlı çekirdeklere indirmek için yeniden konumlandırılabilir dosyalar
dosya formatı; COFF, tek bir yerde 65535'ten fazla yer değiştirmeyi temsil edemediğinden
Bölüm. Bunun, çalışmayan nesne dosya biçimleriyle çalışmayacağını unutmayın.
keyfi bölümleri destekler. Bağlayıcı, bireysel giriş bölümlerini bölmez
yeniden dağıtım için, yani tek bir giriş bölümü birden fazla içeriyorsa saymak tehcir
bir çıktı bölümü bu kadar çok yer değiştirmeyi içerecektir. saymak bir değere varsayılan
32768

--istatistikler
Yürütme gibi bağlayıcının çalışmasıyla ilgili istatistikleri hesaplayın ve görüntüleyin
zaman ve bellek kullanımı.

--sysroot=rehber
kullanım rehber sysroot'un konumu olarak, yapılandırma zamanı varsayılanını geçersiz kılar.
Bu seçenek yalnızca aşağıdakiler kullanılarak yapılandırılan bağlayıcılar tarafından desteklenir: --sysroot ile.

--geleneksel-format
Bazı hedefler için çıktı ld bazı yönlerden bazılarının çıktısından farklıdır
mevcut bağlayıcı Bu anahtar istekleri ld bunun yerine geleneksel biçimi kullanmak için.

Örneğin, SunOS'ta, ld sembol dizesi tablosundaki yinelenen girişleri birleştirir. Bu
tam hata ayıklama bilgisine sahip bir çıktı dosyasının boyutunu 30'dan fazla azaltabilir
yüzde. Ne yazık ki, SunOS "dbx" programı ortaya çıkan programı okuyamıyor
("gdb"de sorun yok). NS --geleneksel-format anahtar söyler ld birleştirmemek
yinelenen girişler

--bölüm-başlangıç=Bölüm adı=org
Tarafından verilen mutlak adreste çıktı dosyasında bir bölüm bulun org. Kullanabilirsin
bu seçenek, komutta birden çok bölümü bulmak için gerektiği kadar
hattı. org tek bir onaltılık tam sayı olmalıdır; diğer bağlayıcılarla uyumluluk için,
önde gelenleri atlayabilirsiniz 0x genellikle onaltılık değerlerle ilişkilendirilir. Not: Orada
arasında boşluk olmamalı Bölüm adı, eşittir işareti ("="), ve org.

-Tbss=org
-Tveri=org
-Tmetin=org
Aynısı --bölüm-başlangıç, ".bss", ".data" veya ".text" olarak Bölüm adı.

-Ttext-segmenti=org
Bir ELF yürütülebilir dosyası oluştururken, metnin ilk baytının adresini ayarlayacaktır.
segmenti.

-Trodata-segmenti=org
Salt okunur verilerin bulunduğu bir hedef için bir ELF yürütülebilir veya paylaşılan nesne oluştururken
yürütülebilir metinden ayrı kendi segmentindeyse,
salt okunur veri segmentinin ilk baytı.

-Tlveri-segmenti=org
x86-64 orta bellek modeli için bir ELF yürütülebilir veya paylaşılan nesne oluştururken,
ldata segmentinin ilk baytının adresini ayarlayacaktır.

--çözülmemiş-semboller=yöntem
Çözümlenmemiş sembollerin nasıl ele alınacağını belirleyin. için dört olası değer vardır.
yöntem:

hepsini Yoksay
Çözülmemiş sembolleri bildirmeyin.

hepsini rapor et
Çözülmemiş tüm sembolleri bildirin. Bu varsayılandır.

nesne-içinde-dosyaları yoksay
Paylaşılan kitaplıklarda bulunan çözümlenmemiş sembolleri bildirin, ancak bunları yoksayın
normal nesne dosyalarından geliyorlarsa.

paylaşılan kütüphaneleri yoksay
Normal nesne dosyalarından gelen çözümlenmemiş sembolleri bildirin, ancak
paylaşılan kitaplıklardan gelirler. Bu, bir dinamik oluştururken yararlı olabilir.
ikili ve referans olması gereken tüm paylaşılan kitaplıkların olduğu bilinmektedir.
bağlayıcının komut satırına dahil edilir.

Paylaşılan kitaplıkların davranışı kendi başlarına da kontrol edilebilir.
--[no-]allow-shlib-tanımsız seçeneği.

Normalde bağlayıcı, rapor edilen her çözülmemiş sembol için bir hata mesajı oluşturur.
ama seçenek --warn-çözülmemiş-semboller bunu bir uyarı olarak değiştirebilir.

--dll-ayrıntılı
--ayrıntılı[=NUMBER]
için sürüm numarasını görüntüleyin ld ve desteklenen bağlayıcı öykünmelerini listeleyin. Görüntülemek
hangi girdi dosyalarının açılabileceği ve açılamayacağı. Tarafından kullanılan bağlayıcı komut dosyasını görüntüleyin
bağlayıcı. isteğe bağlı ise NUMBER argüman > 1, eklenti sembolü durumu da
Görüntülenen.

--version-script=sürüm-komut dosyası
Bağlayıcıya bir sürüm komut dosyasının adını belirtin. Bu genellikle şu durumlarda kullanılır:
sürüm hakkında ek bilgi belirtmek için paylaşılan kitaplıklar oluşturma
oluşturulan kitaplık için hiyerarşi. Bu seçenek yalnızca ELF'de tam olarak desteklenir
paylaşılan kütüphaneleri destekleyen platformlar; görmek VERSION. Kısmen destekleniyor
Otomatik dışa aktarmada sembol görünürlüğünü filtrelemek için sürüm komut dosyalarını kullanabilen PE platformları
mod: işaretli herhangi bir sembol yerel sürüm komut dosyasında dışa aktarılmayacaktır.

--uyarı-ortak
Ortak bir sembol başka bir ortak sembolle veya bir sembolle birleştirildiğinde uyar
tanım. Unix bağlayıcıları bu biraz özensiz uygulamaya izin verir, ancak bazılarında bağlayıcılar
diğer işletim sistemleri yoktur. Bu seçenek, olası sorunları bulmanızı sağlar.
küresel sembolleri birleştirmekten Ne yazık ki, bazı C kütüphaneleri bu uygulamayı kullanır, bu yüzden
Programlarınızda olduğu gibi kütüphanelerde de sembollerle ilgili bazı uyarılar alabilirsiniz.

Burada C örnekleriyle gösterilen üç tür global sembol vardır:

int i = 1;
Çıktı dosyasının başlatılmış veri bölümüne giren bir tanım.

stajyer doktor int i;
Boşluk ayırmayan tanımsız bir başvuru. ya bir olmalı
bir yerde değişken için tanım veya ortak bir sembol.

int i;
Ortak bir sembol. Bir değişken için yalnızca (bir veya daha fazla) ortak sembol varsa,
çıktı dosyasının başlatılmamış veri alanına gider. bağlayıcı birleşir
aynı değişken için birden çok ortak sembolü tek bir sembole dönüştürür. Eğer öylelerse
farklı boyutlarda, en büyük boyutu seçer. Bağlayıcı ortak bir sembolü döndürür
aynı değişkenin bir tanımı varsa, bir bildirime dönüştürülür.

The --uyarı-ortak seçeneği beş çeşit uyarı üretebilir. Her uyarı şunlardan oluşur:
bir çift satır: ilki az önce karşılaşılan sembolü tanımlar ve ikincisi
aynı adla karşılaşılan önceki sembolü tanımlar. İkisinden biri veya ikisi
semboller ortak bir sembol olacaktır.

1. Ortak bir sembolü referansa dönüştürmek, çünkü zaten bir tanım var
sembolü için.

( ): uyarı: ortak ` '
tanım gereği geçersiz kılındı
( ): uyarı: burada tanımlanmıştır

2. Ortak bir sembolü referansa dönüştürmek, çünkü daha sonraki bir tanım için
sembolü ile karşılaşılır. Bu, önceki durumla aynıdır, ancak
sembollerle farklı bir sırada karşılaşılır.

( ): uyarı: ` tanımı '
yaygın
( ): uyarı: ortak burada

3. Ortak bir sembolün önceki aynı boyuttaki ortak sembolle birleştirilmesi.

( ): uyarı: çoklu ortak
` '
( ): uyarı: önceki ortak burada

4. Ortak bir sembolü daha önceki daha büyük bir ortak sembolle birleştirme.

( ): uyarı: ortak ` '
daha büyük ortak tarafından geçersiz kılındı
( ): uyarı: daha büyük ortak burada

5. Ortak bir sembolü önceki daha küçük bir ortak sembolle birleştirme. Bu aynısı
önceki durumda olduğu gibi, sembollerin farklı bir şekilde karşılaşılması dışında
sipariş.

( ): uyarı: ortak ` '
daha küçük ortak geçersiz kılma
( ): uyarı: daha küçük ortak burada

--warn-yapıcılar
Herhangi bir global kurucu kullanılıyorsa uyar. Bu sadece birkaç nesne dosyası için kullanışlıdır.
biçimler. COFF veya ELF gibi formatlar için, bağlayıcı global kullanımını algılayamaz.
yapıcılar.

--uyar-çoklu-gp
Çıktı dosyasında birden çok global işaretçi değeri gerekiyorsa uyar. Bu sadece
Alpha gibi belirli işlemciler için anlamlıdır. Özellikle, bazı işlemciler
büyük değerli sabitleri özel bir bölüme koyun. Özel bir kayıt (küresel
pointer) sabitlerin yüklenebilmesi için bu bölümün ortasına işaret eder.
bir temel kayıt göreli adresleme modu aracılığıyla verimli bir şekilde. Tabandaki ofsetten beri-
göreli kayıt modu sabittir ve nispeten küçüktür (örneğin, 16 bit), bu
sabit havuzun maksimum boyutu. Bu nedenle, büyük programlarda, genellikle
olası tüm noktaları ele alabilmek için birden çok global işaretçi değeri kullanın
sabitler. Bu seçenek, bu durum oluştuğunda bir uyarı verilmesine neden olur.

--uyarı-bir kez
Her bir tanımsız sembol için yalnızca bir kez uyar;
bunu.

--warn-bölüm-hizalama
Hizalama nedeniyle bir çıkış bölümünün adresi değiştirilirse uyar. Tipik,
hizalama bir giriş bölümü tarafından ayarlanacaktır. Adres sadece eğer değiştirilirse
açıkça belirtilmemiş; yani, "SECTIONS" komutu bir başlangıç ​​belirtmiyorsa
bölümün adresi.

--warn-paylaşılan-textrel
Bağlayıcı, paylaşılan bir nesneye bir DT_TEXTREL eklerse uyar.

--uyar-alternatif-em
Bir nesnenin alternatif ELF makine kodu varsa uyar.

--warn-çözülmemiş-semboller
Bağlayıcı çözülmemiş bir sembolü rapor edecekse (seçenek
--çözülmemiş-semboller) normalde bir hata üretecektir. Bu seçenek onu yapar
bunun yerine bir uyarı oluşturun.

--hata-çözülmemiş-semboller
Bu, rapor verirken bağlayıcının varsayılan hata oluşturma davranışını geri yükler.
çözülmemiş semboller

--bütün arşiv
Komut satırında belirtilen her arşiv için --bütün arşiv seçeneği
arama yapmak yerine, arşivdeki her nesne dosyasını bağlantıya dahil edin.
gerekli nesne dosyaları için arşiv. Bu normalde bir arşiv dosyasını açmak için kullanılır.
paylaşılan bir kütüphaneye, her nesneyi sonuçtaki paylaşılana dahil edilmeye zorlar.
kütüphane. Bu seçenek birden fazla kullanılabilir.

Bu seçeneği gcc'den kullanırken iki not: Birincisi, gcc bu seçeneği bilmiyor,
yani kullanmak zorundasın -Wl,-bütün-arşiv. İkincisi, kullanmayı unutma
-Wl,-bütün-arşiv yok arşiv listenizden sonra, çünkü gcc kendi listesini ekleyecektir.
bağlantınıza arşivler ve bu bayrağın bunları da etkilemesini istemeyebilirsiniz.

--sarma=sembol
için bir sarmalayıcı işlevi kullanın sembol. Herhangi bir tanımsız referans sembol çözülecek
sarmak için_sembol". "__real_ için herhangi bir tanımsız referanssembol" çözülecek
sembol.

Bu, bir sistem işlevi için bir sarmalayıcı sağlamak için kullanılabilir. sarma işlevi
"__wrap_" olarak adlandırılmalıdırsembol". Sistem işlevini çağırmak isterse,
"__gerçek_" arasembol".

İşte önemsiz bir örnek:

geçersiz *
__wrap_malloc (size_t c)
{
printf ("malloc %zu\n ile çağrılır", c);
__real_malloc (c) döndür;
}

Kullanarak bu dosyaya başka bir kod bağlarsanız --dürüm malloc, ardından tüm "malloc" çağrıları
bunun yerine "__wrap_malloc" işlevini çağırır. içinde "__real_malloc" çağrısı
"__wrap_malloc", gerçek "malloc" işlevini çağırır.

Bir "__real_malloc" işlevi de sağlamak isteyebilirsiniz, böylece
--dürüm seçenek başarılı olacaktır. Bunu yaparsanız, tanımını koymamalısınız.
"__real_malloc", "__wrap_malloc" ile aynı dosyada; yaparsanız, montajcı
çağrıyı, bağlayıcının "malloc" a sarma şansı olmadan önce çözün.

--eh-kare-hdr
".eh_frame_hdr" bölümünün ve ELF "PT_GNU_EH_FRAME" bölüm başlığının oluşturulmasını isteyin.

--no-ld-oluşturulan-gevşeme-bilgisi
gibi bağlayıcı tarafından oluşturulan kod bölümleri için ".eh_frame" çözme bilgilerinin oluşturulmasını isteyin
PLT. Bağlayıcı tarafından oluşturulan çözme bilgisi destekleniyorsa, bu seçenek varsayılan olarak açıktır.

--yeni-dtag'leri etkinleştir
--yeni-dtag'leri devre dışı bırak
Bu bağlayıcı, ELF'de yeni dinamik etiketleri oluşturabilir. Ancak eski ELF sistemleri
onları anla. belirtirseniz --yeni-dtag'leri etkinleştir, yeni dinamik etiketler
gerektiği gibi oluşturulur ve daha eski dinamik etiketler atlanır. belirtirseniz
--yeni-dtag'leri devre dışı bırak, yeni dinamik etiketler oluşturulmaz. Varsayılan olarak, yeni dinamik
etiketler oluşturulmaz. Bu seçeneklerin yalnızca ELF sistemleri için mevcut olduğunu unutmayın.

--hash-boyutu=numara
Bağlayıcının karma tablolarının varsayılan boyutunu şuna yakın bir asal sayıya ayarlayın. numara.
Bu değeri artırmak, bağlayıcının görevini gerçekleştirmesi için geçen süreyi azaltabilir.
görevler, bağlayıcının bellek gereksinimlerini artırma pahasına. benzer şekilde
bu değeri azaltmak, hız pahasına bellek gereksinimlerini azaltabilir.

--karma stili=stil
Bağlayıcının karma tablo(lar)ının türünü ayarlayın. stil klasik ELF için "sysv" olabilir
".hash" bölümü, yeni stil GNU için "gnu" ".gnu.hash" bölümü veya her ikisi için "her ikisi"
klasik ELF ".hash" ve yeni stil GNU ".gnu.hash" karma tabloları. Varsayılan "sysv"dir.

--compress-debug-sections=yok
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
ELF platformlarında, bu seçenekler kullanılarak DWARF hata ayıklama bölümlerinin nasıl sıkıştırılacağı kontrol edilir.
zlib.zlib. --compress-debug-sections=yok Cüce hata ayıklama bölümlerini sıkıştırmaz.
--compress-debug-sections=zlib-gnu DWARF hata ayıklama bölümlerini sıkıştırır ve hata ayıklamayı yeniden adlandırır
Başlamak için bölüm adları .zdebug yerine .hata ayıklama. --compress-debug-sections=zlib
ve --compress-debug-sections=zlib-gabi Cüce hata ayıklama bölümlerini sıkıştır
ELF ABI'den SHF_COMPRESSED. Varsayılan davranış, aşağıdakilere bağlı olarak değişir:
ilgili hedef ve araç zincirini oluşturmak için kullanılan yapılandırma seçenekleri. Varsayılan
bağlayıcının çıktısı incelenerek belirlenebilir --yardım et seçeneği.

--reduce-bellek-yükleri
Bu seçenek, bağlantı pahasına ld çalışma zamanında bellek gereksinimlerini azaltır
hız. Bu, bağlantı haritası dosyası için eski O(n^2) algoritmasını seçmek için tanıtıldı
için yaklaşık %40 daha fazla bellek kullanan yeni O(n) algoritması yerine
sembol depolama

Anahtarın başka bir etkisi, varsayılan karma tablo boyutunu 1021 olarak ayarlamaktır;
yine, bağlayıcının çalışma süresini uzatma pahasına bellekten tasarruf sağlar. Bu tamamlanmamış
ancak eğer --karma boyutu anahtarı kullanılmıştır.

The --reduce-bellek-yükleri anahtarı, diğer değiş tokuşları etkinleştirmek için de kullanılabilir.
bağlayıcının gelecekteki sürümleri.

--build-id
--build-id=stil
Bir ".note.gnu.build-id" ELF not bölümü veya bir ".buildid" COFF oluşturulmasını isteyin
Bölüm. Notun içeriği, bu bağlantılı dosyayı tanımlayan benzersiz bitlerdir.
stil 128 rastgele bit kullanmak için "uuid", üzerinde 1 bitlik bir SHA160 karması kullanmak için "sha1" olabilir.
çıktı içeriğinin normatif kısımları, "md5" üzerinde 128-bit MD5 hash kullanmak için
çıktı içeriğinin normatif kısımları veya "0xaltıgen" seçilen bir bit dizesini kullanmak için
çift ​​sayıda onaltılık basamak olarak belirtilir ("-" ve ":" karakterleri arasında
rakam çiftleri dikkate alınmaz). Eğer stil atlanır, "sha1" kullanılır.

"md5" ve "sha1" stilleri, her zaman aynı olan bir tanımlayıcı üretir.
aynı çıktı dosyası, ancak tüm özdeş olmayan çıktı dosyaları arasında benzersiz olacaktır. Bu
dosyanın içeriği için bir sağlama toplamı olarak karşılaştırılmak üzere tasarlanmamıştır. Bağlantılı bir dosya
daha sonra diğer araçlar tarafından değiştirilebilir, ancak orijinali tanımlayan yapı kimliği bit dizesi
bağlantılı dosya değişmez.

için "hiçbiri" geçmek stil ayarı daha önce herhangi bir "--build-id" seçeneğinden devre dışı bırakır
komut satırı.

i386 PE bağlayıcı, aşağıdakileri destekler: -paylaşılan çıktının bir olmasına neden olan seçenek
normal bir yürütülebilir dosya yerine dinamik olarak bağlantılı kitaplık (DLL). adını vermelisin
Bu seçeneği kullandığınızda "*.dll" çıktısını alın. Ek olarak, bağlayıcı tamamen destekler
bağlayıcı komut satırında bir nesne gibi belirtilebilen standart "*.def" dosyaları
dosya (aslında, sembollerini dışa aktardığı arşivlerden önce gelmelidir)
bağlı, tıpkı normal bir nesne dosyası gibi).

Tüm hedefler için ortak olan seçeneklere ek olarak, i386 PE bağlayıcı, ek
i386 PE hedefine özel komut satırı seçenekleri. Değer alan seçenekler
değerlerinden bir boşluk veya eşittir işaretiyle ayrılabilir.

--add-stdcall-takma ad
Belirtilmişse, stdcall son ekine sahip semboller (@nn) olduğu gibi ve ayrıca
eki kaldırıldı. [Bu seçenek, bağlayıcının i386 PE hedefli bağlantı noktasına özeldir]

--base-dosyası dosya
kullanım dosya tüm temel adreslerin kaydedileceği bir dosyanın adı olarak
DLL'ler oluşturmak için gereken yer değiştirmeler dll aracı. [Bu bir i386 PE'ye özgüdür
seçenek]

--dll
Normal bir yürütülebilir dosya yerine bir DLL oluşturun. Ayrıca kullanabilirsiniz -paylaşılan veya bir belirtin
Belirli bir ".def" dosyasındaki "KÜTÜPHANE". [Bu seçenek, hedeflenen i386 PE'ye özeldir.
bağlayıcı bağlantı noktası]

--enable-uzun-bölüm-adları
--disable-uzun-bölüm-adları
COFF nesne biçiminin PE türevleri, kullanımına izin veren bir uzantı ekler.
sekiz karakterden uzun bölüm adları, COFF için normal sınır. Varsayılan olarak,
bu adlara yalnızca nesne dosyalarında izin verilir, çünkü tam bağlantılı yürütülebilir görüntüler
daha uzun adları desteklemek için gereken COFF dize tablosunu taşıyın. Bir GNU uzantısı olarak,
yürütülebilir görüntülerde de kullanılmasına izin vermek veya (muhtemelen
anlamsızca!) bu iki seçeneği kullanarak nesne dosyalarında izin vermeyin. yürütülebilir
bu uzun bölüm adlarıyla oluşturulan görüntüler biraz standart dışıdır,
bir dize tablosu yaparlar ve GNU olmayanlarla incelendiğinde kafa karıştırıcı çıktılar oluşturabilirler.
Dosya görüntüleyiciler ve damperler gibi PE uyumlu araçlar. Ancak GDB,
Yürütülebilir bir dosyada Cüce-2 hata ayıklama bilgisi bölümlerini bulmak için PE uzun bölüm adları
çalışma zamanında görüntü ve bu nedenle komut satırında hiçbir seçenek belirtilmemişse, ld irade
varsayılan ve teknik olarak doğru davranışı geçersiz kılarak uzun bölüm adlarını etkinleştirin,
yürütülebilir bir görüntüyü bağlarken hata ayıklama bilgilerinin varlığını bulduğunda ve
sembolleri sıyırma değil. [Bu seçenek, bağlayıcının tüm PE hedefli bağlantı noktaları için geçerlidir]

--enable-stdcall-düzeltme
--disable-stdcall-düzeltme
Bağlantı çözemediği bir sembol bulursa, "fuzzy" yapmaya çalışır.
yalnızca biçiminde farklılık gösteren başka bir tanımlanmış sembol arayarak
sembol adı (cdecl vs stdcall) ve eşleşmeye bağlanarak bu sembolü çözecektir.
Örneğin, tanımsız "_foo" sembolü, "_foo@12" işlevine bağlanabilir veya
tanımsız "_bar@16" sembolü, "_bar" işleviyle bağlantılı olabilir. Ne zaman
linker bunu yaparsa, normalde bağlanmaması gerektiği için bir uyarı yazdırır,
ancak bazen üçüncü taraf dll'lerden oluşturulan içe aktarma kitaplıklarının bu özelliğe ihtiyacı olabilir
kullanılabilir olması. belirtirseniz --enable-stdcall-düzeltme, bu özellik tamamen etkin
ve uyarılar yazdırılmaz. belirtirseniz --disable-stdcall-düzeltme, bu özellik
devre dışı bırakılır ve bu tür uyumsuzluklar hata olarak kabul edilir. [Bu seçenek şunlara özeldir:
bağlayıcının i386 PE hedeflenen bağlantı noktası]

--ön-alt çizgi
--no-lider-alt çizgi
Çoğu hedef için varsayılan sembol öneki bir alt çizgidir ve hedefin
tanım. Bu seçenek ile varsayılan alt çizgiyi devre dışı bırakmak/etkinleştirmek mümkündür.
sembol öneki.

--tüm sembolleri dışa aktar
Verilirse, bir DLL oluşturmak için kullanılan nesnelerdeki tüm genel semboller tarafından dışa aktarılır.
DLL'yi seçin. Aksi takdirde dışa aktarılmayacaksa bunun varsayılan olduğunu unutmayın.
semboller. Semboller, DEF dosyaları aracılığıyla açıkça dışa aktarıldığında veya dolaylı olarak dışa aktarıldığında
işlev öznitelikleri aracılığıyla, varsayılan, bu seçenek olmadıkça başka hiçbir şeyi dışa aktarmamaktır.
verilmiş. "DllMain@12", "DllEntryPoint@0" sembollerinin,
"DllMainCRRTStartup@12" ve "impure_ptr" otomatik olarak dışa aktarılmayacaktır. Ayrıca,
diğer DLL'lerden içe aktarılan semboller yeniden dışa aktarılmayacağı gibi,
DLL'nin "_head_" ile başlayan veya ile bitenler gibi dahili düzeni
"_iname". Ayrıca, "libgcc", "libstd++", "libmingw32" veya
"crtX.o" dışa aktarılacaktır. Adları "__rtti_" veya "__builtin_" ile başlayan semboller
C++ DLL'lerine yardımcı olmak için dışa aktarılmayacaktır. Son olarak, kapsamlı bir liste var
Dışa aktarılmayan cygwin-özel sembolleri (belli ki, bu
cygwin hedefleri için DLL'ler). Bu cygwin hariç tutulanlar şunlardır: "_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" ve "çevre". [Bu seçenek, hedeflenen i386 PE'ye özeldir.
bağlayıcı bağlantı noktası]

--hariç tutma-semboller sembol,sembol, ...
Otomatik olarak dışa aktarılmaması gereken bir sembol listesi belirtir. Sembol
isimler virgül veya iki nokta üst üste ile sınırlandırılabilir. [Bu seçenek i386 PE'ye özeldir
bağlayıcının hedeflenen bağlantı noktası]

--tüm sembolleri hariç tut
Hiçbir sembolün otomatik olarak dışa aktarılmaması gerektiğini belirtir. [Bu seçenek şunlara özeldir:
bağlayıcının i386 PE hedeflenen bağlantı noktası]

--dosya hizalama
Dosya hizalamasını belirtin. Dosyadaki bölümler her zaman dosya ofsetlerinde başlar
bu sayının katları olan Bu, varsayılan olarak 512'dir. [Bu seçenek özeldir
bağlayıcının i386 PE hedefli bağlantı noktasına]

--yığın rezerv
--yığın rezerv,işlemek
olarak kullanılmak üzere ayrılacak (ve isteğe bağlı olarak taahhüt edilecek) bellek bayt sayısını belirtin.
Bu program için yığın. Varsayılan 1MB ayrılmış, 4K taahhüt edilmiş. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--resim tabanı değer
kullanım değer programınızın veya dll'nizin temel adresi olarak. Bu en düşük bellek
programınız veya dll yüklendiğinde kullanılacak konum. ihtiyacını azaltmak için
dll'lerinizin yerini değiştirin ve performansını artırın, her birinin benzersiz bir temel adresi olmalıdır
ve diğer dll'lerle örtüşmez. Yürütülebilir dosyalar için varsayılan 0x400000'dir ve
0x10000000 dll'ler için. [Bu seçenek, cihazın i386 PE hedefli bağlantı noktasına özeldir.
bağlayıcı]

--öldürme
Verilmişse, stdcall son eki (@nn) kullanılmadan önce sembollerden çıkarılacaktır.
ihraç edildi. [Bu seçenek, bağlayıcının i386 PE hedefli bağlantı noktasına özeldir]

--büyük-adres-farkında
Eğer verilirse, COFF başlığının "Özellikler" alanındaki uygun bit ayarlanır.
Bu yürütülebilir dosyanın 2 gigabayttan büyük sanal adresleri desteklediğini belirtmek için.
Bu, /3GB veya /USERVA= ile birlikte kullanılmalıdır.değer megabayt geçiş
BOOT.INI'nin "[işletim sistemleri]" bölümü. Aksi takdirde, bu bitin hiçbir etkisi yoktur.
[Bu seçenek, bağlayıcının PE hedefli bağlantı noktalarına özeldir]

--disable-büyük-adres farkında
Bir öncekinin etkisini geri alır --büyük-adres-farkında seçenek. Bu yararlı ise
--büyük-adres-farkında her zaman derleyici sürücüsü (örn. Cygwin gcc) tarafından ayarlanır ve
yürütülebilir dosya, 2 gigabayttan büyük sanal adresleri desteklemez. [Bu seçenek
bağlayıcının PE hedefli bağlantı noktalarına özeldir]

--major-image-sürüm değer
"Görüntü sürümünün" ana numarasını ayarlar. Varsayılan 1'dir. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--major-os-versiyonu değer
"OS sürümünün" ana numarasını ayarlar. Varsayılan 4'tür. [Bu seçenek özeldir.
bağlayıcının i386 PE hedefli bağlantı noktasına]

--ana-alt-sistem-sürüm değer
"Alt sistem sürümünün" ana numarasını ayarlar. Varsayılan 4'tür. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--minor-image-sürüm değer
"Görüntü sürümünün" küçük numarasını ayarlar. Varsayılan 0'dır. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--minor-os-versiyonu değer
"OS sürümünün" küçük numarasını ayarlar. Varsayılan 0'dır. [Bu seçenek özeldir
bağlayıcının i386 PE hedefli bağlantı noktasına]

--minor-alt sistem-sürüm değer
"Alt sistem sürümünün" küçük numarasını ayarlar. Varsayılan 0'dır. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--çıktı-def dosya
Bağlayıcı dosyayı oluşturacak dosya karşılık gelen bir DEF dosyası içerecektir.
bağlayıcının oluşturduğu DLL. Bu DEF dosyası ("*.def" olarak adlandırılmalıdır)
"dlltool" ile bir içe aktarma kitaplığı oluşturmak için kullanılabilir veya bir referans olarak kullanılabilir
otomatik veya dolaylı olarak dışa aktarılan semboller. [Bu seçenek i386 PE'ye özeldir
bağlayıcının hedeflenen bağlantı noktası]

--out-implib dosya
Bağlayıcı dosyayı oluşturacak dosya karşılık gelen bir içe aktarma lib içerecektir
bağlayıcının oluşturduğu DLL. Bu içe aktarma lib ("*.dll.a" olarak adlandırılmalıdır) veya
"*.a", istemcileri oluşturulan DLL dosyasına bağlamak için kullanılabilir; bu davranış onu
ayrı bir "dlltool" içe aktarma kitaplığı oluşturma adımını atlamak mümkündür. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--enable-auto-image-base
--enable-auto-image-base=değer
İsteğe bağlı olarak tabandan başlayarak, DLL'ler için görüntü tabanını otomatik olarak seçin değer,
"--image-base" bağımsız değişkeni kullanılarak belirtilmediği sürece. Oluşturulan bir karma kullanarak
her DLL için benzersiz görüntü tabanları oluşturmak için dll adından, bellek içi çarpışmalar ve
programın yürütülmesini geciktirebilecek yer değiştirmelerden kaçınılır. [Bu seçenek belirli
bağlayıcının i386 PE hedefli bağlantı noktasına]

--otomatik-görüntü tabanını devre dışı bırak
Otomatik olarak benzersiz bir görüntü tabanı oluşturmayın. Kullanıcı tanımlı değilse
image base ("--image-base") ardından platform varsayılanını kullanın. [Bu seçenek belirli
bağlayıcının i386 PE hedefli bağlantı noktasına]

--dll-arama-ön eki dizi
İçe aktarma kitaplığı olmayan bir dll'ye dinamik olarak bağlanırken, şunu arayın:
" .dll" yerine "lib" .dll". Bu davranış,
çeşitli "alt platformlar" için oluşturulmuş DLL'ler arasında kolay ayrım: yerel, cygwin,
uwin, pw, vb. Örneğin, cygwin DLL'leri genellikle "--dll-search-prefix=cyg" kullanır.
[Bu seçenek, bağlayıcının i386 PE hedefli bağlantı noktasına özeldir]

--etkinleştir-otomatik içe aktarma
DLL'lerden VERİ içe aktarmaları için "_symbol" ile "__imp__symbol" arasında karmaşık bağlantı yapın,
ve içe aktarma kitaplıklarını oluştururken gerekli thunking sembollerini oluşturun.
bu VERİ dışa aktarma işlemleri. Not: 'Otomatik içe aktarma' uzantısının kullanılması metnin
görüntü dosyasının yazılabilir hale getirilecek bölümü. Bu, PE-COFF'a uymuyor
Microsoft tarafından yayınlanan biçim belirtimi.

Not - 'otomatik içe aktarma' uzantısının kullanılması aynı zamanda salt okunur verilere neden olur ve bu
normalde .rdata bölümüne yerleştirilecek, .data bölümüne yerleştirilecektir
Bunun yerine. Bu, açıklanan consts ile ilgili bir soruna geçici bir çözüm bulmak içindir.
İşte: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html

'Otomatik içe aktarma'yı kullanmak genellikle 'sadece çalışır' -- ancak bazen bunu görebilirsiniz
Mesaj:

"" değişkeni otomatik olarak içe aktarılamaz. Lütfen ld'ler için belgeleri okuyun
Ayrıntılar için "--enable-auto-import".

Bu mesaj, bazı (alt) ifadeler tarafından nihai olarak verilen bir adrese eriştiğinde ortaya çıkar.
iki sabitin toplamı (Win32 alma tabloları yalnızca birine izin verir). Bunun olduğu durumlar
DLL'den içe aktarılan yapı değişkenlerinin üye alanlarına erişimleri içerebilir,
bir DLL'den içe aktarılan bir dizi değişkenine sabit bir dizin kullanmanın yanı sıra. Herhangi
çok kelimeli değişken (diziler, yapılar, uzun uzun, vb.) bu hata koşulunu tetikleyebilir.
Ancak, sorunlu dışa aktarılan değişkenin tam veri türünden bağımsız olarak, ld
her zaman algıla, uyarıyı ver ve çık.

Veri türünden bağımsız olarak bu zorluğu gidermenin birkaç yolu vardır.
dışa aktarılan değişken:

Bunun bir yolu --enable-runtime-pseudo-reloc anahtarını kullanmaktır. Bu görevi bırakır
çalışma zamanı ortamı için istemci kodunuzdaki referansları ayarlama, böylece bu yöntem işe yarar
yalnızca çalışma zamanı ortamı bu özelliği desteklediğinde.

İkinci bir çözüm, 'sabitlerden' birini değişken olmaya zorlamaktır -- yani,
derleme zamanında bilinmeyen ve optimize edilemez. Diziler için iki olasılık vardır:
a) dizin sahibini (dizinin adresi) bir değişken yapın veya b) 'sabit' dizini yapın
bir değişken. Böylece:

dış tip dış_dizi[];
extern_array[1] -->
{ uçucu tip *t=harici_dizi; t[1] }

or

dış tip dış_dizi[];
extern_array[1] -->
{ uçucu int t=1; dış_dizi[t] }

Yapılar (ve diğer çoğu çok kelimeli veri türleri) için tek seçenek,
struct kendisini (veya uzun uzun veya ...) değişkeni:

dış yapı s dış_yapı;
extern_struct.field -->
{ uçucu yapı s *t=&extern_struct; t->alan }

or

extern uzun uzun extern_ll;
extern_ll -->
{ uçucu uzun uzun * local_ll=&extern_ll; *local_ll }

Bu zorlukla başa çıkmanın üçüncü bir yöntemi, 'otomatik içe aktarma'dan vazgeçmektir.
rahatsız edici sembol ve "__declspec(dllimport)" ile işaretleyin. Ancak pratikte bu
DLL oluşturup oluşturmadığınızı belirtmek için derleme zamanı #defines kullanılmasını gerektirir,
DLL'ye bağlanacak istemci kodu oluşturma veya yalnızca bir statik dosyaya bağlantı oluşturma/bağlama
kütüphane. "Doğrudan" sorunu çözmenin çeşitli yöntemleri arasında seçim yaparken
sabit ofset' sorunu ile adres, tipik gerçek dünya kullanımını göz önünde bulundurmalısınız:

Orijinal:

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

Çözüm 1:

--foo.h
dış int dizi[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
/* Bu geçici çözüm, win32 ve cygwin içindir; "optimize etme" */
uçucu int *parr = arr;
printf("%d\n",parr[1]);
}

Çözüm 2:

--foo.h
/* Not: otomatik dışa aktarma varsayılır (__declspec(dllexport yok)) */
#if (tanımlı(_WIN32) || tanımlı(__CYGWIN__)) && \
!(tanımlı(FOO_BUILD_DLL) || tanımlı(FOO_STATIC))
#define FOO_IMPORT __declspec(dllimport)
#else
#define FOO_IMPORT
#endif
harici FOO_IMPORT int dizi[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
printf("%d\n",dizi[1]);
}

Bu sorunu önlemenin dördüncü bir yolu, kitaplığınızı işlevsel bir işlev kullanacak şekilde yeniden kodlamaktır.
kusurlu değişkenler için bir veri arayüzü yerine arayüz (örn. set_foo() ve
get_foo() erişim işlevleri). [Bu seçenek, i386 PE hedefli bağlantı noktasına özeldir
bağlayıcının]

--disable-otomatik içe aktarma
DATA için "_symbol" ile "__imp__symbol" arasında karmaşık bir bağlantı yapmaya çalışmayın
DLL'lerden içe aktarır. [Bu seçenek, cihazın i386 PE hedefli bağlantı noktasına özeldir.
bağlayıcı]

--enable-runtime-pseudo-reloc
Kodunuz --enable-auto-import bölümünde açıklanan ifadeleri içeriyorsa, yani,
DLL'den sıfır olmayan ofset ile VERİ içe aktarma, bu anahtar bir vektör oluşturacaktır
ayarlamak için çalışma zamanı ortamı tarafından kullanılabilen 'çalışma zamanı sözde yer değiştirmeleri'
müşteri kodunuzdaki bu tür verilere referanslar. [Bu seçenek i386 PE'ye özeldir
bağlayıcının hedeflenen bağlantı noktası]

--çalışma zamanı-sözde-yeniden yerleşimi devre dışı bırak
DLL'lerden sıfır olmayan ofset VERİ içe aktarmaları için sözde yer değiştirmeler oluşturmayın. [Bu
seçenek, bağlayıcının i386 PE hedefli bağlantı noktasına özeldir]

--ekstra-pe-hata ayıklamayı etkinleştir
Sembolü otomatik içe aktarmayla ilgili ek hata ayıklama bilgilerini göster. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--bölüm hizalama
Bölüm hizalamasını ayarlar. Bellekteki bölümler her zaman aşağıdaki adreslerde başlar:
bu sayının katıdır. Varsayılan olarak 0x1000'dir. [Bu seçenek,
Bağlayıcının i386 PE hedefli bağlantı noktası]

--yığın rezerv
--yığın rezerv,işlemek
olarak kullanılmak üzere ayrılacak (ve isteğe bağlı olarak taahhüt edilecek) bellek bayt sayısını belirtin.
Bu program için yığın. Varsayılan 2MB ayrılmış, 4K taahhüt edilmiş. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özel]

--alt sistem hangi
--alt sistem hangi:büyük
--alt sistem hangi:büyük.küçük
Programınızın yürütüleceği alt sistemi belirtir. için yasal değerler
hangi "yerli", "windows", "console", "posix" ve "xbox"tır. isteğe bağlı olarak ayarlayabilirsiniz
alt sistem versiyonu da. için sayısal değerler de kabul edilir. hangi. [Bu seçenek
bağlayıcının i386 PE hedefli bağlantı noktasına özeldir]

Aşağıdaki seçenekler, PE dosyasının "DllCharacteristics" alanındaki bayrakları ayarlar
başlık: [Bu seçenekler, bağlayıcının PE hedefli bağlantı noktalarına özeldir]

--yüksek entropi-va
Görüntü, 64 bit adres alanı düzeni rastgeleleştirmesi (ASLR) ile uyumludur.

--dinamik taban
Görüntü temel adresi, adres alanı düzeni rastgeleleştirme kullanılarak yeniden konumlandırılabilir
(ASLR). Bu özellik, i386 PE hedefleri için MS Windows Vista ile tanıtıldı.

--forceinteg
Kod bütünlüğü kontrolleri uygulanır.

--nxcompat
Görüntü, Veri Yürütme Engellemesi ile uyumludur. Bu özellik
i2 PE hedefleri için MS Windows XP SP386 ile tanıtıldı.

--izolasyonsuz
Görüntü izolasyonu anlasa da, görüntüyü izole etmeyin.

--hayır-seh
Görüntü SEH kullanmıyor. Bu görüntüden SE işleyicisi çağrılamaz.

--bağlama yok
Bu görüntüyü bağlamayın.

--wdm sürücüsü
Sürücü, MS Windows Sürücü Modelini kullanır.

--tsaware
Görüntü, Terminal Server'ın farkındadır.

--insert-zaman damgası
--no-insert-zaman damgası
Görüntüye gerçek bir zaman damgası ekleyin. Bu, eşleştiği için varsayılan davranıştır
eski kod ve görüntünün diğer özel araçlarla çalışacağı anlamına gelir. NS
bu varsayılanla ilgili sorun, biraz farklı görüntülerin ortaya çıkmasına neden olmasıdır.
aynı kaynaklar her bağlandığında üretilir. Seçenek --no-insert-zaman damgası yapabilmek
zaman damgası için sıfır değeri eklemek için kullanılabilir, bu ikili dosyaların üretilmesini sağlar
aynı kaynaklardan gelenler aynı şekilde karşılaştıracaktır.

C6X uClinux hedefi, paylaşılan kitaplıkları desteklemek için DSBT adlı ikili bir biçim kullanır. Her biri
sistemdeki paylaşılan kitaplığın benzersiz bir dizine sahip olması gerekir; tüm yürütülebilir dosyalar bir dizini kullanır
0.

--dsbt boyutu boyut
Bu seçenek, geçerli yürütülebilir veya paylaşılan dosyanın DSBT'sindeki girişlerin sayısını ayarlar.
kütüphane boyut. Varsayılan, 64 girişli bir tablo oluşturmaktır.

--dsbt-endeksi indeks
Bu seçenek, geçerli yürütülebilir veya paylaşılan kitaplığın DSBT dizinini şu şekilde ayarlar: indeks.
Varsayılan, yürütülebilir dosyalar oluşturmak için uygun olan 0'dır. eğer paylaşılmışsa
kitaplık 0 DSBT dizini ile oluşturulur, "R_C6000_DSBT_INDEX" yer değiştirmeleri
çıktı dosyasına kopyalanır.

The --no-merge-exidx-girişleri anahtarı, bitişik exidx girişlerinin birleştirilmesini devre dışı bırakır
çerçeve gevşetme bilgisi.

68HC11 ve 68HC12 bağlayıcıları, bellek bankasını kontrol etmek için belirli seçenekleri destekler
anahtarlama eşleme ve trambolin kodu oluşturma.

--no-trambolin
Bu seçenek, trambolin oluşumunu devre dışı bırakır. Varsayılan olarak bir trambolin
"jsr" komutu kullanılarak çağrılan her bir uzak işlev için oluşturulur (bu
uzak bir işleve işaretçi alındığında olur).

--banka penceresi isim
Bu seçenek, bağlayıcıya bellek bölgesinin adını gösterir. BELLEK
bellek bankası penceresini açıklayan belirtim. Böyle bir bölgenin tanımı
daha sonra linker tarafından bellek penceresindeki sayfalama ve adresleri hesaplamak için kullanılır.

GOT neslinin işlenmesini kontrol etmek için aşağıdaki seçenekler desteklenir:
68K hedef.

--var=tip
Bu seçenek, bağlayıcıya hangi GOT oluşturma şemasının kullanılacağını söyler. tip bir olmalı
of tek, negatif, çok noktalı or hedef. Daha fazla bilgi için Bilgi girişine bakın
için ld.

Aşağıdaki seçenekler, aşağıdaki durumlarda microMIPS komut üretimini kontrol etmek için desteklenir:
MIPS hedefleri için bağlantı.

--insn32
--hayır-insn32
Bu seçenekler, tarafından oluşturulan kodda kullanılan microMIPS talimatlarının seçimini kontrol eder.
PLT veya tembel bağlama saplamalarında veya gevşemede olduğu gibi bağlayıcı. Eğer
--insn32 kullanılırsa, bağlayıcı yalnızca 32 bit talimat kodlamalarını kullanır. Varsayılan olarak
ya da eğer --hayır-insn32 kullanıldığında, 16 bit olanlar da dahil olmak üzere tüm talimat kodlamaları kullanılır
nerede mumkunse.

ÇEVRE


davranışını değiştirebilirsiniz ld "GNUTARGET" ortam değişkenleriyle,
"LDEMULATION" ve "COLLECT_NO_DEMANGLE".

"GNUTARGET", kullanmıyorsanız girdi dosyası nesne biçimini belirler. -b (veya eş anlamlısı
--biçim). Değeri, bir giriş biçimi için BFD adlarından biri olmalıdır. yoksa
Ortamda "GNUTARGET", ld hedefin doğal biçimini kullanır. Eğer "GNUTARGET"
"varsayılan" olarak ayarlandığında BFD, ikili dosyaları inceleyerek giriş biçimini keşfetmeye çalışır
girdi dosyaları; bu yöntem genellikle başarılı olur, ancak potansiyel belirsizlikler vardır, çünkü
nesne dosyası biçimlerini belirtmek için kullanılan sihirli sayının
benzersiz. Ancak, her sistemdeki BFD için yapılandırma prosedürü,
arama listesinde ilk sırada bu sistem için geleneksel biçim, böylece belirsizlikler çözülür
konvansiyon lehine.

"LDEMULATION", kullanmazsanız varsayılan öykünmeyi belirler. -m seçeneği.
öykünme, bağlayıcı davranışının çeşitli yönlerini, özellikle de varsayılan bağlayıcıyı etkileyebilir.
senaryo. Kullanılabilir emülasyonları listeleyebilirsiniz. --ayrıntılı or -V seçenekler. Eğer
-m seçeneği kullanılmaz ve "LDEMULATION" ortam değişkeni tanımlanmaz,
varsayılan öykünme, bağlayıcının nasıl yapılandırıldığına bağlıdır.

Normalde, bağlayıcı varsayılan olarak parçalayıcı sembollere sahip olacaktır. Ancak, eğer
"COLLECT_NO_DEMANGLE" ortamda ayarlanır, ardından varsayılan olarak çözülmez
semboller. Bu ortam değişkeni, "gcc" bağlayıcısı tarafından benzer şekilde kullanılır.
sarma programı. Varsayılan, aşağıdakiler tarafından geçersiz kılınabilir: --deangle ve --bozulma yok
seçenekleri.

onworks.net hizmetlerini kullanarak mips-linux-gnu-ld çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    Firebird
    Firebird
    Firebird RDBMS, ANSI SQL özellikleri sunar
    & Linux, Windows üzerinde çalışır &
    birkaç Unix platformu. Özellikler
    mükemmel eşzamanlılık ve performans
    & güç...
    Firebird'ü indirin
  • 2
    KompoZer
    KompoZer
    KompoZer, aşağıdakileri kullanan bir wysiwyg HTML editörüdür.
    Mozilla Besteci kod tabanı. Olarak
    Nvu'nun gelişimi durduruldu
    2005'te KompoZer birçok hatayı düzeltti ve
    bir f ekler...
    KompoZer'i indirin
  • 3
    Ücretsiz Manga İndiricisi
    Ücretsiz Manga İndiricisi
    Ücretsiz Manga İndiricisi (FMD), bir
    yazılmış açık kaynak uygulama
    Yönetmek için Object-Pascal ve
    çeşitli web sitelerinden manga indirmek.
    Bu bir ayna...
    Ücretsiz Manga İndiriciyi İndirin
  • 4
    UNetbootin
    UNetbootin
    UNetbootin, önyüklenebilir oluşturmanıza olanak tanır
    Ubuntu, Fedora ve için canlı USB sürücüler
    olmayan diğer Linux dağıtımları
    CD yazma. Windows, Linux üzerinde çalışır,
    ve ...
    UNetbootin'i indirin
  • 5
    Dolibar ERP - CRM
    Dolibar ERP - CRM
    Dolibarr ERP - CRM kullanımı kolay
    ERP ve CRM açık kaynak yazılım paketi
    (bir web php sunucusuyla veya
    işletmeler için bağımsız yazılım),
    temeller...
    Dolibarr ERP'yi İndirin - CRM
  • 6
    SQuirreL SQL İstemcisi
    SQuirreL SQL İstemcisi
    SQuirreL SQL Client, grafiksel bir SQL'dir.
    izin verecek Java ile yazılmış istemci
    bir JDBC'nin yapısını görüntülemek için
    uyumlu veritabanı, içindeki verilere göz atın
    masalar...
    SQuirreL SQL İstemcisini İndirin
  • Daha fazla »

Linux komutları

Ad