История изменений
Исправление hateyoufeel, (текущая версия) :
Нет, специальный флаг нужен чтобы эти фичи были не все. По умолчанию (умолчание это -std=gnuXX, XX разное в разных gcc) они есть.
Серьёзно? Я всегда думал, что там -std=c89/99/etc
по-умолчанию. С другой стороны, я всегда руками более новый стандарт указывал.
Если нужен 100% стабильный результат, то можно выбрать эталонный компилятор
Такой компилятор сейчас ровно один и называется compcert. GCC и Шланг – это не стабильные компиляторы. То, что ты предлагаешь, это бомба замедленного действия, потому что такая «штобильность» никак не предотвращает UB в твоём коде. И когда рано или поздно компилятор придётся обновить (например, для поддержки новой платформы), можно огрести.
Тащемта поэтому сишку проще выбросить на мороз уже в как минимум половине случаев и взять язычок без этих «особенностей».
Исправление hateyoufeel, :
Нет, специальный флаг нужен чтобы эти фичи были не все. По умолчанию (умолчание это -std=gnuXX, XX разное в разных gcc) они есть.
Серьёзно? Я всегда думал, что там -std=c89/99/etc
по-умолчанию. С другой стороны, я всегда руками более новый стандарт указывал.
Если нужен 100% стабильный результат, то можно выбрать эталонный компилятор
Такой компилятор сейчас ровно один и называется compcert. GCC и Шланг – это не стабильные компиляторы. То, что ты предлагаешь, это бомба замедленного действия, потому что такая «штобильность» никак не предотвращает UB в твоём коде. И когда рано или поздно компилятор придётся обновить (например, для поддержки новой платформы), можно огрести.
Исходная версия hateyoufeel, :
Нет, специальный флаг нужен чтобы эти фичи были не все. По умолчанию (умолчание это -std=gnuXX, XX разное в разных gcc) они есть.
Серьёзно? Я всегда думал, что там -std=c89/99/etc
по-умолчанию. С другой стороны, я всегда руками более новый стандарт указывал.
Если нужен 100% стабильный результат, то можно выбрать эталонный компилятор
Такой компилятор сейчас ровно один и называется compcert. GCC и Шланг – это не стабильные компиляторы.