Какие версии 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.

Ответ 5

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