c++ - 为什么我们需要 libstdc++.so?

标签 c++ linux unix posix standards

  • C++ 标准库的大部分组件均以源代码形式导出 代码形式,即仅在头文件中提供。
  • C 库的大部分函数均由 libc.so 提供。

所以,我的问题是:

为什么我们需要 libstdc++.so?

libstdc++.so中有哪些内容?

最佳答案

库中定义了很多符号。值得注意的是,大部分语言支持和所有标准库异常类都是在库中定义的。

即使标准 C++ 库中的许多组件都是模板,因此具有内联定义,它们也确实受益于显式实例化。使用 IOStreams 库的显式实例化(并将它们声明为 extern 模板)可以极大地缩短编译时间。

要找出库中定义了哪些符号,请使用nm:它将打印库定义和引用的符号。名称可能会被破坏,这可以通过将结果管道传输到合适的 c++filt 来修复。

关于c++ - 为什么我们需要 libstdc++.so?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40067467/

相关文章:

c++ - 访问没有对象的私有(private)成员变量

Linux 作为 USB UVC 设备

linux - 有没有 gstreamer 插件可以扩展视频流?

BASH shell 用变量中的空格扩展参数

c++ - 使用 *this 是个好主意吗?

c++ - GetModuleBaseName 不接受 char* 参数

linux - grep 在不期望的情况下返回匹配项

python - 在 unix 系统上使用 Python 对文件进行就地排序

c# - 实时 555 c# 包装器

linux - 添加两个十六进制数字并在 shell 脚本中存储为十六进制数字