GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MCPP (1)

NAME

mcpp - Matsui CPP, an alternative C preprocessor

CONTENTS

Synopsis
Description
Options
Pragma

SYNOPSIS

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

DESCRIPTION

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.

OPTIONS

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:
-@std Standard conforming mode. (default)
-@poststd, -@post special ’post-Standard’ mode.
-@kr 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:
-@compat 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.

PRAGMA

mcpp has the following #pragma directives.
#pragma once Read the header file only once even if multiply #included.
#pragma __setlocale( Specify the multibyte character encoding to "encoding". See -e option for the encodings.
#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( Save the macro definition to the stack.
#pragma MCPP pop_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".

VERSION

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

SEE ALSO

Do ’man mcpp-gcc’ for mcpp of GCC-specific-build. The full documentation for mcpp are maintained as html files. Please see mcpp-manual.html.
Search for    or go to Top of page |  Section 1 |  Main Index


alternative CPP MCPP (1) Mar 2008

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.