2010-02-22 2 views

ответ

3

Их называют линейными маркерами, и вы можете использовать -P, чтобы иметь cpp или gcc опустить их.

Они описаны в разделе Preprocessor Output руководства cpp.

И я согласен с user30997 в том, что вы, вероятно, не хотите избавляться от них. Они игнорируются gcc в том смысле, что они не влияют на процесс компиляции, но они предоставляют полезную диагностическую информацию, когда ваш код не компилируется правильно.

2

Вы, вероятно, не хотят, чтобы избавиться от них. Они вставляются препроцессором, так что любой компилятор, который читает этот блок компиляции, может определить исходный файл и номер строки, породивший любую строку, которую он рассматривает. Без этого вы не сможете получить значимые ошибки, например, «синтаксическая ошибка в строке 7 main.cpp: ожидаемая точка с запятой». Или что угодно.

Если вы ДЕЙСТВИТЕЛЬНО хотите, чтобы их ударили, вы всегда можете просто написать что-то быстрое, что убьет все, начиная с «#».

+0

Для некоторых целей у вас нет выбора, потому что некоторые языки, кроме C, не распознают их. OTOH дебаты о том, если это хорошая идея, - это что-то еще вместе. – BCS

Смежные вопросы