Re[6]: Утилита для удаления из текста C++ блоков #if с подхо
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.07.23 20:24
Оценка:
Здравствуйте, Quebecois, Вы писали:

Q>Вы результат работы gcc -E вживую видели?


Видел.

Q>По факту, задача элементарная


Она лишь просто выполнимой станет только после того, как препроцессор будет обеспечен правильной конфигурацией как путей include, так и значениями всех макросов, которые могут встретиться в выражениях. В общем случае все это доступно только внутри цикла сборки под соответствующую среду (VS, WDK и т.п. — ну не требовалось мне никогда именно *make), так что надо будет вытаскивать конфигурацию и поддерживать ее отдельно. Самое-то смешное, что по логике задачи всего этого не требуется.

Q>препроцессор нашпигует свою выдачу #line-ами.


Нашпигует, а толку? В #if может быть не только одинокий макрос вида "_BUILD_FOR_CUSTOMER_XXX", но и более сложное выражение. Как понять, по какой именно части условия препроцессор выкинул или оставил такой блок?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.