Какие версии gcc и g++ поддерживают стандарт c и С++?
Например, какая версия gcc поддерживает c99?
Есть ли таблица или график для отображения стандартного поддерживаемого статуса gcc и g++?
Как развились gcc и g++?
Спасибо ~
Ответы
Ответ 1
Очень строго говоря, GCC поддерживает только C89, С++ 98 и С++ 03, все это точно с 4.3.
Поддержка C99 пока еще неполна, но очень большое и полезное подмножество долгое время поддерживалось GCC.
Поддержка Experiemental С++ 11 началась с 4.3 и с тех пор улучшается; он уже очень полезен в 4.6.x, и в 4.7 было добавлено намного больше (хотя 4.7.0 немного нестабильно).
Существует также поддержка C11, но для многих изменений в C11 требуется соответствующая новая библиотека C, которая не так легко заменяется.
Ответ 2
Вы получаете самую широкую поддержку стандартов с последней версией - 4.7 на данный момент. Выбранный стандарт можно установить с помощью переключателя -std
. Вот статья, которая описывает доступные значения. Некоторые дополнительные функции/различное поведение также можно включить с помощью -fpermissive
.
Ответ 3
См. http://gcc.gnu.org/projects/cxx0x.html
Ответ 4
Я полагаю, что эта таблица также полезна:
страница поддержки компилятора cppreference
Ответ 5
Детали поддержки можно найти на веб-сайте gnu. Я помню, что существуют десятки стандартов, которые gcc не применяет для c99.
Во всяком случае, для поддержки c99 в gcc просто нужен простой параметр --std = c99