为什么我们需要 libstdc++.so?
Why does we need libstdc++.so?
- C++ 标准库的大部分组件都在源代码中导出
代码形式,即仅在头文件中提供。
- C 库的大部分函数由 libc.so 提供。
所以,我的问题是:
为什么我们需要libstdc++.so?
libstdc++.so中有哪些内容?
库中定义了很多符号。值得注意的是,大部分语言支持和所有标准库异常 类 都在库中定义。
即使标准 C++ 库中的许多组件都是模板,因此具有内联定义,但它们确实受益于显式实例化。使用 IOStreams 库的显式实例化(并将它们声明为 extern
模板)大大缩短了编译时间。
要弄清楚库中定义了哪些符号,请使用 nm
:它将打印库定义和引用的符号。名称可能会被破坏,这将通过将结果传递给合适的 c++filt
.
来修复
- C++ 标准库的大部分组件都在源代码中导出 代码形式,即仅在头文件中提供。
- C 库的大部分函数由 libc.so 提供。
所以,我的问题是:
为什么我们需要libstdc++.so?
libstdc++.so中有哪些内容?
库中定义了很多符号。值得注意的是,大部分语言支持和所有标准库异常 类 都在库中定义。
即使标准 C++ 库中的许多组件都是模板,因此具有内联定义,但它们确实受益于显式实例化。使用 IOStreams 库的显式实例化(并将它们声明为 extern
模板)大大缩短了编译时间。
要弄清楚库中定义了哪些符号,请使用 nm
:它将打印库定义和引用的符号。名称可能会被破坏,这将通过将结果传递给合适的 c++filt
.