Какие версии 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.
Детали поддержки можно найти на веб-сайте gnu. Я помню, что существуют десятки стандартов, которые gcc не применяет для c99.
Во всяком случае, для поддержки c99 в gcc просто нужен простой параметр --std = c99