2015-02-12 4 views
3

Fedora announced что они могут планировать доставку GCC 5 с новым отключенным ABI по умолчанию. Насколько я понимаю, Fedora 22 будет продолжать использовать старый ABI, а Fedora 23 будет использовать новый ABI. Программы должны быть перекомпилированы в массовом количестве.GCC 5 ABI change

Вопрос: что изменит стандарт C++ 11 от C++ 03, что нарушает совместимость с ABI?

+1

Одним из примеров является 'std :: string', не ссылающийся на подсчет и имеющий мелкоструйную оптимизацию. – Damon

+0

Также 'std :: list', который теперь требует O (1)' size() '. –

+0

Не будет необходимости перекомпилировать программы. Прочтите объявление полностью. – StenSoft

ответ

0

Существует страница в НКУ вики об обратной совместимости ABI Cxx11: https://gcc.gnu.org/wiki/Cxx11AbiCompatibility

C++ 98 языка является ABI совместим с C++ 11 языка, но несколько мест в библиотеке разрыв совместимости. Это делает опасным связывать объекты C++ 98 с объектами C++ 11.

+0

Можете ли вы сделать это более явным, а не просто связывание? – einpoklum

Смежные вопросы