g++ 两次链接同一个库会出现问题吗?

2024-02-17

我注意到,当我使用 gcc 制作应用程序并在链接阶段查看输出时,我看到以下库包含两次:

/home/rb01/opt/trx-HEAD/gcc/4.2.4/lib/../lib64/libstdc++.so

所以我只是想知道这是 g++ (gcc) 的问题还是第二个问题被简单地忽略了?

Thanks!


如果库中的符号已被解析,链接器将忽略它们。对于共享库,如本例所示,链接器实际上并不链接。

对于静态 (.a) 库,命令行上的多个副本实际上可能很有用,即使不是很漂亮,例如,如果 main 访问 libb,libb 又访问 libc,libc 又访问 libb 中 main 未访问的内容:

ld main.o -lb -lc -lb

是解决所有引用的一种方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

g++ 两次链接同一个库会出现问题吗? 的相关文章

随机推荐

  • 德尔福64位? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 手动将mysql查询结果缓存到txt文件

    有没有办法手动将mysql查询结果缓存到txt文件中 Ex a 1 b 9 c 0 cache filename cached results md5 a b c txt if file exists cache filename resu
  • ebpf - 根据内核版本使用ringbuf和perfbuf

    我正在使用 ebpf 来捕获进程创建 我对内核 5 8 及更高版本使用ringbuf 并希望在同一 ebpf 内核文件中对旧内核使用 perfbuf 有一个关于它的很棒的博客https nakryiko com posts bpf core
  • 无法使用 html 文本框登录

    因为我使用html按钮和文本框来登录 所以我必须在源代码中的javascript中执行后面的代码才能执行后面的代码 无论我使用正确的用户名和密码 Admin 和 123 登录并单击登录按钮 还是不输入任何内容并单击登录按钮 它总是将我重定向
  • 如何删除文件中的第一行?

    我无法搜索特定的字符串 因为它们都非常相似 但我想要一些简单的方法来删除文件中的前 4 行 它们的长度也都是可变的 我考虑过 Perl 这一切似乎比我想象的要难 但如果可能的话 我想用 Perl AWK 或 shell 命令来完成 有人有一
  • 滚动时更改网址

    当我单击导航按钮时 我使用 jQuery 更改 URL 哈希 但是当我使用鼠标滚轮滚动时 URL 不会改变 我怎样才能做到这一点 如何使用它来完成 window history pushState object or string Titl
  • Twitter API 是否可以缩短 url?

    有没有办法从 API 获取缩短的 t co 网址 在通过 API 发布推文之前 我需要缩短一个 url 我应该怎么做 这 这是 Twitter API 支持的还是我必须使用其他一些 像 bit ly 这样的 url 缩短器 除了通过 Twi
  • Rails 验证搜索参数

    我有一个相当安静的 API 但正在努力弄清楚如何干净地实现搜索 我希望能够搜索两个日期时间之间的所有记录 日期时间最多允许相隔 6 小时 目前在我的控制器方法中我有以下内容 required params start time end ti
  • DatatypeProperty、ObjectProperty 和FunctionalProperty 之间有什么区别,什么时候应该使用它们?

    在编写本体时 有几种非常常用的类型 包括 数据类型属性 对象属性 功能特性 反函数性质 前三个看起来像是以一组特定的方式使用 但我发现我对它们的想法受到了我在 FOAF 中的使用方式的挑战 它们分别在什么时候应该使用或者什么时候不应该使用
  • 使用 OpenSSL 相互身份验证始终成功

    我正在使用 openssl 和 zmq 编写服务器和客户端 我的客户端和服务器需要相互身份验证 但我设置后SSL CTX set verify ssl ctx SSL VERIFY FAIL IF NO PEER CERT NULL 在服务
  • 隐式将 List 转换为 List

    我正在使用 Linq to Entities 有一个实体 Order 其中有一个可为空的列 SplOrderID 我查询我的订单列表为 List
  • 无法从 nginx 获取第一个请求的 uid

    我已经在 nginx 中安装了 uid 模块 还添加了与 uid 相关的配置 userid on userid name uid userid expires 365d userid p3p policyref w3c p3p xml CP
  • 如何从基类(非抽象类)调用重载函数?

    DVD类继承了Media类 比基类多了一个变量 我声明一个指针 Media ptr new DVD 我想打印出 DVD 的内容 因此以下代码可以按预期工作 ptr gt print cout 但是使用重载的 cout lt lt ptr l
  • 如何在张量流中按元素方式将张量的每一行乘以其余行

    我有一个像这样的张量 tf docs tf constant 0 2 1 1 2 2 2 1 3 5 2 2 dtype tf int32 我需要按元素将每一行乘以其余行 然后对结果求和 完成第一行后 我们将处理第二行和其余行 然后 所以结
  • 无点动态函数组合

    我正在尝试将这个函数重构为无意义的 function siblings me return R pipe family R reject equalsMe me me 我想通过me到管道中的函数以及值family返回 尝试了一些事情R us
  • 使用带有 Pathogen 的 .vim 插件

    我想使用 lustyjuggler 和 lustyExplorer 它们是 vim 插件 但我希望我们的 Pathogen 来管理它们 通常我解压 vim 插件 整个文件夹结构进入 vim bundle 但对于 lustyJuggler 和
  • 从另一个基于应用程序的类继承 UWP 应用程序类时,名称“AppClass”不存在于命名空间“...”中

    我想要实现的只是继承 UWP App 类 而不是从 Windows UI Xaml Application 类继承 而是从某个基类继承 从 标准 类继承 但是 当我这样做时 namespace MyNamespace sealed part
  • 单例时间跨多个区域触发 Azure Function

    我有一个时间触发的 Azure 函数部署在多个区域中 我希望在它们之间具有单例行为 例如 如果这些区域是美国西部和欧洲中部 我希望每次只运行其中一个区域 这能实现吗 As the 文档 https learn microsoft com e
  • 安装设备所有者应用程序的更新

    有谁知道更新发生时通过 Google Play 分发的设备所有者应用程序的生产行为是什么 正如我们所知 安装设备所有者应用程序涉及一些动机并且并不容易 重置为出厂默认设置 然后通过 NFC 为设备提供第二个设备等 因此 即使我们认为这一步已
  • g++ 两次链接同一个库会出现问题吗?

    我注意到 当我使用 gcc 制作应用程序并在链接阶段查看输出时 我看到以下库包含两次 home rb01 opt trx HEAD gcc 4 2 4 lib lib64 libstdc so 所以我只是想知道这是 g gcc 的问题还是第