Подтвердить что ты не робот

Имеет ли libcxxabi смысл под Linux? Каковы преимущества?

Я пытаюсь определить, имеет ли смысл создание и использование libcxxabi проекта llvm под Linux.

Моя сборка 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 и единственное реальное различие - это то, что она использует libc++ над libstdc++, но насколько это хорошо?

Учитывая критическую роль библиотеки abi, я должен пойти на libcxxabi на такой платформе?

Моя проблема не в том, как это сделать, либо если это будет работать, но если это хорошая идея С++ - мудрый, какие выгоды я могу получить или какие выгоды вы получаете, если вы уже используя это.

4b9b3361

Ответ 1

Вы не должны использовать libcxxabi напрямую. Насколько я понимаю, это своего рода библиотека абстракции платформы, предоставляющая функции низкого уровня, необходимые для реализации libcxx.

Если вы спрашиваете об использовании libcxx или libstdС++, отличия в основном - это лицензия, более новая стандартная полноформатная версия (проект clang кажется немного более быстрым при реализации недавних версий С++) и тот факт, что у вас есть две альтернативные реализации.

Кажется, нет насущной причины для одного из тех, что выше другого. Я бы придерживался того, который лучше поддерживается в вашей системе. Оба проекта нацелены на совместимость с ABI, поэтому их можно использовать либо без поломки.