我正在尝试确定是否构建和使用 libcxxabi
来自linux下的llvm项目是有道理的。
我的 libcxxabi
构建链接到
ldd libc++abi.so.1.0
linux-vdso.so.1 => (0x00007fff2e0db000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd658f0d000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fd658d05000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd65893c000)
libc++.so.1 => /path/where/clang/is // edited
/lib64/ld-linux-x86-64.so.2 (0x00007fd6593ab000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd658465000)
所以它使用 gcc_s
库,GNU librt,唯一真正的区别是它使用 libc++
而不是 libstdc++
,但这到底有多好?
鉴于 abi 库的关键作用,我应该在这样的平台下选择 libcxxabi
吗?
我的问题不在于如何构建它,或者这是否可行,而是如果这是一个好主意C++ 方面,我可以获得什么样的好处,或者什么样的好处如果您已经在使用它,您将获得的好处。
最佳答案
您不应该直接使用 libcxxabi。据我了解,它是一种平台抽象库,提供实现 libcxx 所需的低级函数。
如果您询问使用 libcxx 或 libstdc++,差异主要在于许可证、较新的标准版本的完整性(clang 项目在实现最近的 C++ 修订版方面似乎稍快)以及您有两个替代实现这一事实。
其中一个似乎没有紧迫的理由。我会坚持在您的系统上得到更好支持的那个。这两个项目都旨在与 ABI 兼容,因此应该可以在没有任何损坏的情况下使用其中任何一个。
关于linux - libcxxabi 在 linux 下有意义吗?有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22509711/