gpt4 book ai didi

c++ - 我可以通过链接静态库来构建共享库吗?

转载 作者:IT老高 更新时间:2023-10-28 21:41:40 25 4
gpt4 key购买 nike

我有一堆静态库 (*.a),我想构建一个共享库 (*.so) 来链接这些静态库 (*.a)。如何在 gcc/g++ 中这样做?

最佳答案

您可以(只需提取所有 .o 文件并将它们与 -shared 链接以制作 .so),但是否工作原理和工作情况取决于平台以及静态库是否编译为位置无关代码 (PIC)。在某些平台上(例如 x86_64),非 PIC 代码在共享库中无效并且无法工作(实际上我认为链接器会拒绝生成 .so)。在其他平台上,非 PIC 代码可以在共享库中工作,但该库的内存拷贝不能在使用它的不同程序甚至同一程序的不同实例之间共享,因此会导致巨大的内存膨胀。

关于c++ - 我可以通过链接静态库来构建共享库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8808691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com