«linker» etiketlenmiş sorular

Bağlayıcı, derlenmiş programlama dillerinde yazılmış kaynak koddan çalıştırılabilir dosyalar üretmek için araç zincirinin bir parçasıdır. Birden çok dosyada derlenmiş nesne kodunu alır ve bunlardan tek, "bağlantılı", çalıştırılabilir bir dosya oluşturur.

5
Kitaplık yolu tercihi nasıl belirlenir?
Ben kullanarak c ++ program derleme ediyorum g++ve ld. .soBağlanırken kullanmak istediğim bir kütüphanem var . Ancak, içinde aynı isimde bir kitaplık var /usr/local/libve lddoğrudan belirttiğim kitaplık yerine o kitaplığı seçiyor. Bunu nasıl düzeltebilirim? Aşağıdaki örnekler için kitaplık dosyam /my/dir/libfoo.so.0. Çalışmayan denediğim şeyler: benim g ++ komutum g++ -g -Wall …
96 c++  linker  g++ 

4
Önceden derlenmiş bir ikili dosyadaki 'rpath'i değiştirebilir miyim?
Hurda yığını için planlanmış eski bir yürütülebilir dosyam var, ancak henüz orada değil. Çevremden kaldırılan bazı kitaplara dayanıyor, ancak iyi çalıştığı bir yerde bazı saplamalarım var. Bu yürütülebilir dosyayı bu saplama kitaplarına yönlendirmek istiyorum. Evet, LD_LIBRARY_PATH ayarlayabilirim, ancak bu yürütülebilir dosya birçok komut dosyasından çağrılır ve birçok kullanıcı ve bunu …
96 linux  linker  elf 


1
-Rpath ve -L arasındaki fark nedir?
gccve ldkitaplıklar için bir arama yolu belirtmek için birçok yol sağlar - aralarında -rpathve -Lişaretleri de vardır. Yönetim sayfaları, her bir bayrağın kitaplık arama yoluna bir kitaplık eklediğini etkili bir şekilde söyleyerek bu iki bayrak arasında hiçbir fark göstermez. Yine de her iki bayrağın da tamamen aynı şeyi yapması garip …

5
Linux dinamik bağlayıcıdan gelen "sürüm bilgisi yok" hatası ne anlama geliyor?
Ürünümüzde, "libpam" gibi sistem kitaplıklarına dinamik olarak bağlanan bazı Linux ikili dosyaları gönderiyoruz. Bazı müşteri sistemlerinde, program çalıştığında stderr'de aşağıdaki hatayı alıyoruz: ./authpam: /lib/libpam.so.0: no version information available (required by authpam) Uygulama iyi çalışır ve dinamik kitaplıktan kod yürütür. Yani bu ölümcül bir hata değil, gerçekten sadece bir uyarı. Sistem …
91 linux  linker 


5
Statik kitaplığın, statik olarak bağlı dinamik kitaplığın ve dinamik olarak bağlantılı dinamik kitaplığın .lib dosyasının içinde ne var?
Statik kitaplığın, statik olarak bağlantılı dinamik kitaplığın ve dinamik olarak bağlantılı dinamik kitaplığın .lib dosyasının içinde ne var? Dinamik olarak bağlı dinamik kitaplıkta bir .lib dosyasına gerek yoktur ve ayrıca statik bağlamada .lib dosyası, tüm yöntemlerle bir .obj dosyasından başka bir şey değildir. Bu doğru mu?

4
Paylaşılan kütüphanelerde çözülmemiş semboller için kolay kontrol?
Oldukça büyük bir C ++ paylaşılan nesne kitaplığı yazıyorum ve hata ayıklamayı bir acı haline getiren küçük bir sorunla karşılaştım: Bir başlık dosyasında bir işlev / yöntem tanımlarsam ve bunun için bir saplama oluşturmayı unutursam (geliştirme sırasında), yürütülebilir bir dosya yerine paylaşılan bir nesne kitaplığı oluşturduğum için, derleme sırasında bana …

6
C'de paylaşılan genel değişkenler
C'de paylaşılan global değişkenleri nasıl oluşturabilirim? Bunu bir başlık dosyasına koyarsam, bağlayıcı değişkenlerin önceden tanımlanmış olduğundan şikayet eder. Değişkeni C dosyalarımdan birinde bildirmenin ve externonu kullanmak isteyen diğer tüm C dosyalarının üstüne manuel olarak s yerleştirmenin tek yolu bu mu? Bu ideal değil.

8
Ld'yi altınla değiştirmek - herhangi bir deneyim?
goldBunun yerine kullanmaya çalışan oldu ldmu? gold daha hızlı olacağını vaat ediyorld , bu nedenle büyük C ++ uygulamaları için test döngülerini hızlandırmaya yardımcı olabilir, ancak ld yerine drop-in yerine kullanılabilir mi? Can gcc/ g++doğrudan çağrı gold.? Bilinen herhangi bir hata veya sorun var mı? goldBir süredir GNU binutillerinin bir …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.