Sophie

Sophie

distrib > Arklinux > devel > x86_64 > media > main-src > by-pkgid > b15d64b7dedcf728704c9b666f6f20c7

mcpp-2.7.2-1ark.src.rpm

Description:

In compilation of C/C++ source program, preprocessing takes place before
compilation in narrower sense. Preprocessing processes #include, #if,


Every C/C++ compiler system has a preprocessor. In recent years many
compilers absorbed preprocessor into themselves, nevertheless, they
always do preprocessing internally.

C preprocessor has existed ever since the beginning of C language. Most
of the preprocessors have been, however, rather bonuses attached to the
compilers. Against that background, they have many problems such as
insufficient conformance and too many implementation-specific behaviors.

Though the main purpose of preprocessing phase in C/C++ language is to
provide portability, preprocessing itself sometimes impaires portability.

mcpp is a C/C++ preprocessor with the following features.

* Implements all of C90, C99 and C++98 specifications.
* Provides a validation suite to test C/C++ preprocessor's conformance
and quality comprehensively. When this validation suite is applied,
mcpp distinguishes itself among many existing preprocessors.
* Has plentiful and on-target diagnostics to check all the preprocessing
problems such as latent bug or lack of portability in source code.
* Has #pragma directives to output debugging information.
* Is portable and has been ported to many compiler-systems, including GCC
* Has various behavior modes.
* Can be built either as a compiler-specific preprocessor to replace the
resident preprocessor of a particular compiler system, or as a
compiler-independent command, or even as a subroutine called from some other
main program.
* Provides comprehensive documents both in Japanese and in English.
* Is an open source software released under BSD-style-license.
* It is probably among the best C/C++ preprocessors now available in the
world.

gcc's preprocessor does a good job and supports C++1x extensions - so
generally, using mcpp is not necessary. It can still be useful as a library
though.

Generated packages:

Other version of this rpm: