Другая хорошая библиотека входа NLog, который может зарегистрироваться к большому количеству различных мест, таких как файлы, базы данных, регистратор события и т.д.
cpp - это то, что вы ищем. Я не уверен, можно ли получить его вне дистрибутива gcc, хотя
CPP(1) GNU CPP(1)
NAME
cpp - The C Preprocessor
SYNOPSIS
cpp [-Dmacro[=defn]...] [-Umacro]
[-Idir...] [-Wwarn...]
[-M|-MM] [-MG] [-MF filename]
[-MP] [-MQ target...]
[-MT target...]
[-P] [-fno-working-directory]
[-x language] [-std=standard]
infile outfile
Only the most useful options are listed here; see below for the remainder.
DESCRIPTION
The C preprocessor, often known as cpp, is a macro processor that is used automatically by the C compiler to transform your program before
compilation. It is called a macro processor because it allows you to define macros, which are brief abbreviations for longer constructs.
Вы можете посмотреть Boost Wave . Это препроцессор, созданный как библиотека, а не как приложение, но установка оболочки вокруг него, чтобы превратить его в отдельную программу, должна быть довольно тривиальной (большая часть того, что вы должны сделать, это подключить вещи, чтобы он знал, к какому файлу (файлам) читать и писать в).
Вы можете ознакомиться с GPP, Generic Pre Processor . Его можно настроить, но похоже, что он поставляется с некоторыми предопределенными настройками, которые будут выполнять предварительную обработку C / C ++.
Изменить: похоже, -C - это параметр для использования
-C cpp режим совместимости. Это режим, в котором поведение gpp наиболее близко к> cpp. В отличие от режима по умолчанию, расширение мета-макроса происходит только в начале строк>, а комментарии и строки C понятны.
Многие компиляторы имеют параметр командной строки, который будет делать то, что вы хотите.
Например, GCC - это -E
, а MSVC - / P
.
I suppose you could try to build your own app using the standalone library, cpplib, but while they supply it, they don't recommend using it that way as it "has not yet reached a point of reasonable stability." I don't know how long that has been true.
Обычно компилятор C ++ предоставляет вам возможность увидеть предварительно обработанный исходный код.
С GCC, как уже было сказано, вы используете:
g++ -E ...other options... files
В некоторых системах, особенно в системах Unix, может существовать отдельная программа cpp.
mpp portable c preprocessor:
Проект mcpp был выбран в качестве одного из "исследовательских программных проектов" 2002 года в Агентстве по продвижению информационных технологий Японии (IPA), и снова выбран для проектов 2003 года. За достижения проекта автор был оценен как один из программистов высшего класса<<