Как подавить предупреждение "отсутствует завершающий символ" в cpp?

Я пытаюсь использовать cpp (препроцессор ANSI-C) для предварительной обработки некоторых файлов не ANSI-C.

Эти файлы содержат инструкцию по сборке в синтаксисе PicoBlaze. PicoBlaze использует 'd комментировать корень литерала. Я хотел бы предварительно обработать мои файлы с помощью cpp.

Я получаю несколько:

<stdin>:228:163: warning: missing terminating ' character [enabled by default]
<stdin>:257:98: warning: missing terminating ' character [enabled by default]
...

предупреждения. Как я могу отключить проверки символов завершения для ' (или все символы) в cpp?

Вот мой вызов командной строки:

cpp.exe -E main_Page0.psm

1 ответ

Решение

Я думаю, что нашел решение самостоятельно, но я все еще открыт для других предложений.

Решение 1)
-w отключает все предупреждения -> неудовлетворен

Подавить все предупреждения, в том числе те, которые GNU CPP выдает по умолчанию.
Руководство по GCC (v4.9.2) -> стр. 158

Решение 2)
-x assembler-with-cpp устанавливает исходный язык cpp для сборки.
Язык по умолчанию - ANSI-C, если расширение файла неизвестно (равно -x c).

Укажите исходный язык: C, C++, Objective-C или ассемблер. Это не имеет ничего общего со стандартами соответствия или расширения; он просто выбирает, какой базовый синтаксис ожидать. Если вы не укажете ни один из этих параметров, cpp выведет язык из расширения исходного файла: ".c", ".cc", ".m" или ".S". Некоторые другие распространенные расширения для C++ и ассемблера также распознаются. Если cpp не распознает расширение, он будет обрабатывать файл как C; это самый общий режим.
Руководство GCC (v4.9.2) -> стр. 160

Другие вопросы по тегам