OnWorks favicon

mcpp - Online in the Cloud

Run mcpp in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command mcpp that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



mcpp - Matsui CPP, an alternative C preprocessor


mcpp [options] [<infile> [<outfile>]]


mcpp is a C/C++ preprocessor with the highest conformance which implements C90, C99 and
C++98. mcpp has plentiful diagnostics and many #pragmas. It is useful to check
portability of your program, and also useful to debug complicated macro. This is a man-
page for mcpp of compiler-independent-build.


mcpp expects two file names as arguments, <infile> and <outfile>. If not specified,
<infile> defaults to standard input and <outfile> defaults to standard output.

It takes the following options.

Commonly used options:

-@MODE Specify preprocessing mode. MODE should be one of these 4:

Standard conforming mode. (default)

-@poststd, -@post
special 'post-Standard' mode.

K&R 1st mode.

-@oldprep, -@old
"old_preprocessor" mode (i.e. "Reiser model" cpp).

-C Output also comments.

-D <macro>[=<value>]
Define <macro> as <value> (default:1).

-D <macro(args)>[=<replace>]
Define <macro(args)> as <replace>.

-e <encoding>
Change the default multi-byte character encoding to one of: euc_jp, gb2312,
ksc5601, big5, sjis, iso2022_jp, utf8.

-I <directory>
Add <directory> to the #include search list.

-I- Unset system or site specific include directories.

-j Do not output the source line in diagnostics.

-M, -MM, -MD, -MMD, -MP, -MQ target, -MT target, -MF file
Output source file dependency line for makefile.

-N Don't predefine any non-standard macros.

-o <file>
Output to <file>.

-P Don't output #line lines.

-Q Output diagnostics to "mcpp.err" (default:stderr).

-U <macro>
Undefine <macro>.

-v Show version of mcpp.

-W <level>
Set warning level to <level> (OR of {0,1,2,4,8,16}, default:1).

-z Don't output the included file, only defining macros.

Options available with -@std (default) or -@poststd options:

-+ Process C++ source.

-2 Enable digraphs.

-h <n> Re-define the pre-defined macro __STDC_HOSTED__ as <n>.

-S <n> Redefine __STDC__ to <n>, undefine old style macros.

-V <n> Redefine __STDC_VERSION__ or __cplusplus to <n>.
C with -V199901L specifies C99 mode.
C++ with -V199901L specifies C99 compatible mode.

Options available with only -@std (default) option:

Expand recursive macro more than Standard.

-3 Enable trigraphs.

-K Embed macro annotations into comments.

Options available with -@std (default), -@kr or -@oldprep options:

-a Process "assembler" source.


mcpp has the following #pragma directives.

#pragma once
Read the header file only once even if multiply #included.

#pragma __setlocale( "encoding")
Specify the multibyte character encoding to "encoding". See -e option for the

#pragma MCPP put_defines
Putout all the macro definitions currently valid.

#pragma MCPP debug <args>
Start to putout debugging informations.
<args> should be one or more of:
token expand macro_call path if expression memory getc

#pragma MCPP end_debug <args>
Stop to putout debugging informations.
<args> are the same with 'debug'.
No argument specifies all arguments.

#pragma MCPP push_macro( "MACRO")
Save the macro definition to the stack.

#pragma MCPP pop_macro( "MACRO")
Retrieve the macro definition from the stack.

#pragma MCPP preprocess
"Pre-preprocess" the following header files for mcpp.

#pragma MCPP warning any message
Putout warning "any message".


MCPP V.2.7 (2008/03) compiler-independent-build

Use mcpp online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • 2
    A GUI for mkvextract utility (part of
    MKVToolNix) which incorporates most (if
    not all) functionality of mkvextract and
    mkvinfo utilities. Written in C#NET 4.0,...
    Download gMKVExtractGUI
  • 3
    JasperReports Library
    JasperReports Library
    JasperReports Library is the
    world's most popular open source
    business intelligence and reporting
    engine. It is entirely written in Java
    and it is able to ...
    Download JasperReports Library
  • 4
    Frappe Books
    Frappe Books
    Frappe Books is a free and open source
    desktop book-keeping software that's
    simple and well-designed to be used by
    small businesses and freelancers. It'...
    Download Frappe Books
  • 5
    Numerical Python
    Numerical Python
    NEWS: NumPy 1.11.2 is the last release
    that will be made on sourceforge. Wheels
    for Windows, Mac, and Linux as well as
    archived source distributions can be fou...
    Download Numerical Python
  • 6
    CMU Sphinx
    CMU Sphinx
    CMUSphinx is a speaker-independent large
    vocabulary continuous speech recognizer
    released under BSD style license. It is
    also a collection of open source tools ...
    Download CMU Sphinx
  • More »

Linux commands