我试图确定在linux下构建和使用llvm项目中的libcxxabi是否有意义
我的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=>/路径/where/clang//已编辑
/lib64/ld-linux-x86-64.so.2(0x00007fd6593ab000)
libgcc_.s.so.1=>/lib/x86_64-linux-gnu/libgcc_s.so.1(0x00007fd658465000)
所以它使用的是gcc\u s库,GNU librt,唯一真正的区别是它使用的是libc++而不是libstdc++,但这到底有多好
考虑到abi库的关键作用,我应该在这样的平台下选择libcxxabi
我的问题不在于如何构建,或者这是否可行,但如果这是一个好主意,我可能会得到什么样的好处,或者如果你已经在使用它,你会得到什么样的好处
您不应该直接使用libcxxabi。据我所知,它是一种平台抽象库,提供实现libcxx所需的低级功能
如果您想使用LICBXX或LISTSTDC++,则差异主要是许可证、更新的标准版本完整性(CLAN项目在实施最近的C++修订中似乎稍快)和事实上您有两种可供选择的实现。
似乎没有迫切的理由让其中一个凌驾于另一个之上。我会坚持使用在您的系统上得到更好支持的。这两个项目的目标都是ABI兼容,因此应该可以在没有任何损坏的情况下使用这两个项目