Nasıl belirli bir abone olarak giriş bir sürüm için link alabilir miyim?
Ben Ubuntu Lucid 10.04 bilgisayarımda bir şey derlerken abone olarak giriş karşı bağlı olur. Lucid kullanan abone olarak giriş bu 2.11. Eski bir abone olarak giriş ile başka bir bilgisayarda bu ikili çalıştırdığınızda, komut abone olarak giriş yok diyerek başarısız 2.11...
Bildiğim kadarıyla abone olarak giriş sembol sürüm kullanır. Özel sembol bir sürümü karşı bağlamak için gcc zorlayabilir miyim?
Beton kullanımı kola için gcc çapraz bir araç zinciri derlemeye çalışıyorum.
CEVAP
Abone olarak giriş sembol sürüm kullanır bu doğru. Eğer merak ediyorsanız, sembol sürüm oluşturma uygulaması abone olarak giriş 2.1 tanıtıldı here açıklanan ve Güneş sembolü sürüm oluşturma şeması here açıklanan bir uzantısıdır.
Bir seçeneği statik olarak senin ikili bağlantı. Bu muhtemelen en kolay seçenek.
Ayrıca, bir kök ortamı oluşturmak veya abone olarak giriş- . bir ile ikili oluşturabilirsin ^em>yeni=>abone olarak giriş-eskiçapraz derleyici.
http://www.trevorpounds.com blog yazısı göre Linking to Older Versioned Symbols (glibc), Olası herhangi bir sembol eski bir diğeri de aynı kullanarak geçerli olduğu sürece, karşı bağlı olduğu kuvvet.symver
ilk etapta sürüm bilgisi sembolleri tanımlamak için kullanılan pseudo-op. Aşağıdaki örnek blog post dan alınmıştır.
Aşağıdaki örnek abone olarak giriş bu realpath kullanır, ama eski bir sürüm 2.2.5 karşı bağlı olduğundan emin olur.
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
__asm__(".symver realpath,realpath@GLIBC_2.2.5");
int main()
{
char* unresolved = "/lib64";
char resolved[PATH_MAX 1];
if(!realpath(unresolved, resolved))
{ return 1; }
printf("%s\n", resolved);
return 0;
}
Nasıl Debian üzerinde 2.15 sürüm 2.13 ...
Nasıl otomatik olarak dışarı Gıt sürüm...
Nasıl maven-Merkez-repo, belirli bir g...
Nasıl ücretsiz sürümü için bir "anahta...
Nasıl JavaScript para olarak format nu...