Существует ли автономный исходный препроцессор C++? [закрытый]

Другая хорошая библиотека входа NLog, который может зарегистрироваться к большому количеству различных мест, таких как файлы, базы данных, регистратор события и т.д.

10
задан Brian Tompsett - 汤莱恩 9 June 2016 в 16:25
поделиться

7 ответов

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.
8
ответ дан 3 December 2019 в 14:11
поделиться

Вы можете посмотреть Boost Wave . Это препроцессор, созданный как библиотека, а не как приложение, но установка оболочки вокруг него, чтобы превратить его в отдельную программу, должна быть довольно тривиальной (большая часть того, что вы должны сделать, это подключить вещи, чтобы он знал, к какому файлу (файлам) читать и писать в).

6
ответ дан 3 December 2019 в 14:11
поделиться

Вы можете ознакомиться с GPP, Generic Pre Processor . Его можно настроить, но похоже, что он поставляется с некоторыми предопределенными настройками, которые будут выполнять предварительную обработку C / C ++.

Изменить: похоже, -C - это параметр для использования

-C cpp режим совместимости. Это режим, в котором поведение gpp наиболее близко к> cpp. В отличие от режима по умолчанию, расширение мета-макроса происходит только в начале строк>, а комментарии и строки C понятны.

6
ответ дан 3 December 2019 в 14:11
поделиться

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

Например, GCC - это -E , а MSVC - / P .

5
ответ дан 3 December 2019 в 14:11
поделиться

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.

3
ответ дан 3 December 2019 в 14:11
поделиться

Обычно компилятор C ++ предоставляет вам возможность увидеть предварительно обработанный исходный код.

С GCC, как уже было сказано, вы используете:

g++ -E ...other options... files

В некоторых системах, особенно в системах Unix, может существовать отдельная программа cpp.

2
ответ дан 3 December 2019 в 14:11
поделиться

http://mcpp.sourceforge.net/

mpp portable c preprocessor:

Проект mcpp был выбран в качестве одного из "исследовательских программных проектов" 2002 года в Агентстве по продвижению информационных технологий Японии (IPA), и снова выбран для проектов 2003 года. За достижения проекта автор был оценен как один из программистов высшего класса<<

6
ответ дан 3 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: