如何使用ld创建共享库?

问题描述:

我知道如何使用gccln创建共享库,但是如何在使用对象文件(来自C++或c代码)作为输入时如何使用ld创建共享库,以及如何交换到新版本库?如何使用ld创建共享库?

+1

通过'-shared'? – immibis

+0

大多数人通过'gcc/g ++'使用'ld',它们不直接调用它。 – Galik

+0

“换到新版图书馆”是什么意思? – 2016-04-26 22:57:52

我怎么只用LD时,我有对象文件(从C++或C代码)作为输入

您可以运行gcc -v -shared ...发现gcc传递到ld哪些选项创建一个共享库。然后您可以直接将相同的参数传递给ld,并且最终得到相同的结果。

注:这是 -advised(做到这一点):参数与不同版本的gccld改变,他们改变从一个操作系统版本下。

构建ld的链接线很常见,这些链接线几年前曾经是正确的,但不再是。这样做时引入的错误往往是低层次且微妙的,并且超出了大多数程序员的理解和修复能力。