-lgcc_s和gcc之间的区别

时间:2010-12-28 16:07:16

标签: gcc compiler-construction linker loader

通过gcc_s链接gccLDFLAGS之间的区别是什么?

gcc_s是一个静态库和gcc共享库吗?

因为我正在寻找一个解决方案,其中提到链接gcc,而只有gcc_s适用于我的情况。我想知道真正的区别。

<<hidden symbol `__name_here' in /some/library/path.a(_filename.o) is referenced by DSO

在这种情况下,通常通过向链接标志(LDFLAGS)添加“-l gcc”或“gcc -print-libgcc-file-name”来解决问题。但是,与我的其他常规平台(i386,amd64,sparc64)不同,这还不够。经过大量的轰炸(公平地说,它也来自音乐)我意识到在将libc 连接到最终的可执行文件时,这个标志是必要的。 链接:http://people.defora.org/~khorben/200903.html

1 个答案:

答案 0 :(得分:15)

libgcc_s.so是一个共享库,libgcc.a是一个静态库。它们并不等同;可能有必要将两者联系起来。 libgcc_s包含全局变量,它们在进程中不能有多个副本; libgcc中的代码可以安全地链接多次。