почему gcc не передает значение макроса из командной строки? - PullRequest
6 голосов
/ 30 марта 2012

Я пытаюсь передать значение макроса C препроцессору с опцией -Dmacro = value в gcc.Тем не менее, это не делает то, что я ожидаю.Это основы моего кода:

#define T0 0
#define T1 0
#define T2 0
#define T3 0

int main(){

    int f[9];

    start(f[T0], f[T1], f[T2], f[T3]);

    return 0;
}

Запуск gcc -DT3=1 -E показывает, что препроцессор не заменяет исходное значение T3.Что мне не хватает, и как правильно передать значение?

1 Ответ

7 голосов
/ 31 марта 2012

Afaik, этот переключатель будет определять макрос, но ваш код затем переопределяет его обратно на 0. Удалите это определение из вашего кода или окружите его ifdef, и все должно быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...