Я пытаюсь использовать gpp (Generic Preprocessor), чтобы добавить дополнительную информацию до и после #include . Код выглядит следующим образом:

\define{\code{filename}}{PRE \include{\filename} POST} ==> \code{./t.txt} <==

И вывод:

$ gpp -T t.mkd -o t.out t.mkd:2: error: Requested include file not found

Я думаю, что есть проблема со ссылкой на \filename с \include поскольку \filename будет оцениваться только после вызова \code в то время как мета-макросы сохранят свои параметры в определенное время (если я правильно понимаю документацию).

Я пробовал кучу разных вещей, и, хотя это, очевидно, вопрос типа RTFM, мое предполагаемое использование инструмента слишком ограничено, чтобы оправдывать использование большого количества времени на изучение инструмента (а не просто попробовать другой препроцессор и другой пока один из них не работает достаточно хорошо - я начал тестировать с gpp, так как он кажется вполне способным, если нам понадобится больше позже).

PS: извините за отсутствие соответствующих тегов. У меня недостаточно репутации для создания тегов, и единственным, который появился, был macro .

1 ответ1

1

Вы можете получить более полезные ответы на этот вопрос в StackOverflow, чем в SuperUser.

Тем временем, тем не менее, учитывая, что последняя версия gpp была выпущена в 2004 году, может быть трудно найти людей с опытом в этом, чтобы помочь вам. Если бы можно было использовать другой препроцессор, я бы предложил m4, для которого версия GNU регулярно обновляется и широко используется - особенно как часть программного обеспечения GNU autoconf . В m4 эквивалентный код (в файле t.m4) будет:

define(`code',`PRE include(`$1') POST')dnl
code(`./t.txt')

Имеется файл t.txt который гласит:

This is the content of the file t.txt.

... команда m4 t.m4 выдает:

PRE This is the content of the file t.txt.
 POST

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .