use*_*710 38 linux abi llvm clang libc++
我正在尝试确定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)
Run Code Online (Sandbox Code Playgroud)
所以它的使用gcc_s图书馆,GNU librt,唯一真正的区别在于它使用的事实libc++了libstdc++,但如何好这真的是什么?
鉴于abi库的关键作用,我应该libcxxabi在这样的平台下去吗?
我的问题不在于如何建立这个,或者如果这样可行,但如果这是一个好主意C++ - 明智的,我可以获得什么样的好处,或者如果你已经使用这个有什么样的好处.
您不应该直接使用 libcxxabi。据我了解,它是一种平台抽象库,提供实现 libcxx 所需的低级函数。
如果您询问使用 libcxx 或 libstdc++,差异主要在于许可证、较新的标准版本完整性(clang 项目在实现最近的 C++ 修订版方面似乎稍快一些)以及您有两种替代实现的事实。
其中之一似乎没有紧迫的理由。我会坚持使用您的系统更好支持的那个。这两个项目都旨在兼容 ABI,因此应该可以使用其中任何一个而不会造成任何损坏。