2015-03-09 7 views
3

Мне просто интересно, можно ли поручить GCC (или другому компилятору), что я не хочу чувствительности к регистру в своем C-коде?Есть ли флаг компилятора C, который позволяет нечувствительность к регистру?

Если это невозможно, то другой вариант должен состоять в том, чтобы иметь флаг компилятора, который выдает ошибку, когда он находит две глобальные переменные/функции с тем же именем и с другим корпусом.

+6

Стандарт языка C должен быть чувствителен к регистру. Почему они поддерживают это? Зачем это нужно? – chmike

+2

Перед отправкой кода в компилятор, пропустите его через фильтр – pmg

+0

MSVC имеет без учета регистра #includes за то, что он стоит ... – tux3

ответ

5

Странный вопрос .... C - чувствительный к регистру язык, мне кажется, что невозможно найти нечувствительный к регистру компилятор.

Возможное решение - разобрать исходный код до и ниже каждого символа, а после этого скомпилировать его.

EDIT: Согласно комментарии, я отговаривать разобрать код, чтобы изменить случай caracters, в результате чего некоторые проблемы с библиотеками

+1

Это не будет хорошо работать с идентификаторами стандартной библиотеки верхнего регистра. – juanchopanza

+0

@juanchopanza: это правильно, и если вы поднимаете каждый символ, то в стандартной библиотеке с нижним регистром у вас будут проблемы. Итак, наконец, неплохо разобрать код до – Garf365