«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.

12
Python'u makine koduna derlemek mümkün müdür?
Python'u (muhtemelen bir ara C temsili aracılığıyla) makine koduna derlemek ne kadar mümkün olabilir? Muhtemelen bir Python çalışma zamanı kitaplığına bağlanması gerekecek ve Python standart kitaplığının Python olan herhangi bir parçasının da derlenmesi (ve bağlanması) gerekecektir. Ayrıca, ifadelerin dinamik değerlendirmesini yapmak istiyorsanız Python yorumlayıcısını paketlemeniz gerekir, ancak belki de buna …
128 python  c  linker  compilation 


1
Paylaşılan bir kitaplık dinamik olarak bağlandığında global ve statik değişkenlere ne olur?
Küresel ve statik değişkenli modüller bir uygulamaya dinamik olarak bağlandığında ne olduğunu anlamaya çalışıyorum. Modüller derken, bir çözümdeki her projeyi kastediyorum (görsel stüdyo ile çok çalışıyorum!). Bu modüller ya * .lib ya da * .dll ya da * .exe'nin kendisinde yerleşiktir. Bir uygulamanın ikili dosyasının veri segmentindeki tüm bağımsız çeviri …


4
Bağlayıcılar ne yapar?
Hep merak etmişimdir. Derleyicilerin yazdığınız kodu ikililere dönüştürdüğünü biliyorum ama bağlayıcılar ne yapar? Benim için hep bir sır oldular. 'Bağlantının' ne olduğunu kabaca anlıyorum. Kütüphanelere ve çerçevelere yapılan referansların ikiliye eklendiği zamandır. Bunun ötesinde hiçbir şey anlamıyorum. Benim için "sadece işe yarıyor". Dinamik bağlantının temellerini de anlıyorum ama çok derin …

1
-All_load bağlayıcı işareti ne işe yarar?
Objective-C kodunu derlerken -all_load bayrağının ne yaptığını hiçbir yerde bulamıyorum. İkili dosyaları Apple'a yüklerken bazı sorunlar yaşıyorum, çünkü bu bayrağı kullanmadığım için söylüyorlar, ancak kodum onsuz bile derleniyor. Biri bana yardım edebilir mi? Teşekkürler

8
Visual C ++: Belirli bağlayıcı uyarıları nasıl devre dışı bırakılır?
CGAL'den bir kitaplık kullanıyorum ve kod derlememin bağlanma aşamasında bu formda birçok bağlantı uyarısı üretiyor: warning LNK4099: PDB 'vc80.pdb' was not found with 'gmp-vc80-mt-sgd.lib' or at 'vc80.pdb'; linking object as if no debug info Visual C ++ / Studio 2008 altında bu belirli bağlayıcı uyarısını nasıl kapatırım? Kullandığım harici (CGAL) …


4
Belirli bir glibc sürümüne nasıl bağlanabilirim?
Ubuntu Lucid 10.04 bilgisayarımda bir şey derlediğimde, glibc'ye bağlanıyor. Lucid, glibc'nin 2.11'ini kullanır. Bu ikili dosyayı daha eski bir glibc ile başka bir bilgisayarda çalıştırdığımda, komut glibc 2.11 olmadığını söyleyerek başarısız oluyor ... Bildiğim kadarıyla glibc, sembol versiyonlama kullanıyor. Gcc'yi belirli bir sembol sürümüne bağlanmaya zorlayabilir miyim? Somut kullanımımda, ARM …
111 linux  gcc  linker  glibc  libc 

4
Visual Studio Express 2005 ile nasıl tamamen statik olarak bağlantılı bir .exe oluşturabilirim?
Şu anda tercih ettiğim C ++ ortamı, ücretsiz ve büyük ölçüde mükemmel Microsoft Visual Studio 2005 Express sürümüdür. Zaman zaman diğer insanlara hoş sonuçlar veren .exe dosyaları gönderdim. Ancak son zamanlarda, hoş sonuçların istediğimden daha fazla şansa dayandığını rahatsız edici bir keşif yaptım. Bu programlardan birini eski (2001 yapımı, titizlikle …

8
sadece bazı kitaplıkları statik bağlama
GCC ile bağlantı kurarken yalnızca bazı belirli kitaplıkları ikili dosyama statik olarak nasıl bağlayabilirim? gcc ... -static ...tüm bağlantılı kitaplıkları statik olarak bağlamayı dener , ancak bazılarının statik sürümüne sahip değilim (örneğin: libX11).


6
__Gxx_personality_v0 ne için?
Bu, bir işletim sistemi geliştirme sitesinden gelen ikinci el bir soru, ancak hiçbir yerde düzgün bir açıklama bulamadığım için beni meraklandırdı. Gcc kullanarak bağımsız bir C ++ programını derlerken ve bağlarken bazen bunun gibi bir bağlayıcı hatası oluşur: out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' Bunun nedeni görünüşe göre bu sembolün, bağımsız …
103 c++  gcc  linker  kernel 

3
C ++ 17, C ++ 14 ve C ++ 11 nesnelerini bağlamak güvenli midir?
Diyelim ki hepsi aynı derleyici / sürüm tarafından üretilmiş üç derlenmiş nesnem var : A, C ++ 11 standardı ile derlendi B, C ++ 14 standardıyla derlendi C, C ++ 17 standardıyla derlenmiştir Basit olması için, tüm üstbilgilerin yalnızca üç standart sürüm arasında anlamsallığı değişmeyen yapılar kullanılarak C ++ 11'de …
103 c++  c++11  linker  c++14  abi 

16
Şablonlu C ++ sınıflarını .hpp / .cpp dosyalarına bölmek - mümkün mü?
A .hppve .cppdosya arasında bölünmüş bir C ++ şablon sınıfını derlemeye çalışırken hatalar alıyorum : $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()' main.cpp:(.text+0x1c): undefined reference to 'stack<int>::~stack()' collect2: ld returned …

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.