Annotation of OpenXM_contrib2/windows/mcpp/mcpp.1, Revision 1.1
1.1 ! ohara 1: .\" $OpenXM$
! 2: .TH MCPP "1" "Mar 2008" "alternative CPP" "User Commands"
! 3: .SH NAME
! 4: mcpp \- Matsui CPP, an alternative C preprocessor
! 5: .SH SYNOPSIS
! 6: mcpp [\fIoptions\fP] [\fI<infile>\fP [\fI<outfile>\fP]]
! 7: .SH DESCRIPTION
! 8: \fBmcpp\fR is a C/C++ preprocessor with the highest conformance which implements C90, C99 and C++98.
! 9: \fBmcpp\fR has plentiful diagnostics and many #pragmas.
! 10: It is useful to check portability of your program, and also useful to debug complicated macro.
! 11: This is a man-page for \fBmcpp\fR of compiler-independent-build.
! 12: .SH OPTIONS
! 13: \fBmcpp\fR expects two file names as arguments, \fI<infile>\fR and
! 14: \&\fI<outfile>\fR. If not specified, \fI<infile>\fR defaults to standard input
! 15: and \fI<outfile>\fR defaults to standard output.
! 16: .PP
! 17: It takes the following options.
! 18: .PP
! 19: Commonly used options:
! 20: .IP \fB-@MODE
! 21: Specify preprocessing mode. MODE should be one of these 4:
! 22: .IP " \fB-@std"
! 23: Standard conforming mode. (default)
! 24: .IP " \fB-@poststd, -@post"
! 25: special 'post-Standard' mode.
! 26: .IP " \fB-@kr"
! 27: K&R 1st mode.
! 28: .IP " \fB-@oldprep, -@old"
! 29: "old_preprocessor" mode (i.e. "Reiser model" cpp).
! 30: .IP \fB-C
! 31: Output also comments.
! 32: .IP "\fB-D <macro>[=<value>]"
! 33: Define <macro> as <value> (default:1).
! 34: .IP "\fB-D <macro(args)>[=<replace>]"
! 35: Define <macro(args)> as <replace>.
! 36: .IP "\fB-e <encoding>"
! 37: Change the default multi-byte character encoding to one of:
! 38: euc_jp, gb2312, ksc5601, big5, sjis, iso2022_jp, utf8.
! 39: .IP "\fB-I <directory>"
! 40: Add <directory> to the #include search list.
! 41: .IP \fB-I-
! 42: Unset system or site specific include directories.
! 43: .IP \fB-j
! 44: Do not output the source line in diagnostics.
! 45: .IP "\fB-M, -MM, -MD, -MMD, -MP, -MQ target, -MT target, -MF file"
! 46: Output source file dependency line for makefile.
! 47: .IP \fB-N
! 48: Don't predefine any non-standard macros.
! 49: .IP "\fB-o <file>"
! 50: Output to <file>.
! 51: .IP \fB-P
! 52: Don't output #line lines.
! 53: .IP \fB-Q
! 54: Output diagnostics to "mcpp.err" (default:stderr).
! 55: .IP "\fB-U <macro>"
! 56: Undefine <macro>.
! 57: .IP \fB-v
! 58: Show version of \fBmcpp\fR.
! 59: .IP "\fB-W <level>"
! 60: Set warning level to <level> (OR of {0,1,2,4,8,16}, default:1).
! 61: .IP \fB-z
! 62: Don't output the included file, only defining macros.
! 63: .PP
! 64: Options available with -@std (default) or -@poststd options:
! 65: .IP \fB-+
! 66: Process C++ source.
! 67: .IP \fB-2
! 68: Enable digraphs.
! 69: .IP "\fB-h <n>"
! 70: Re-define the pre-defined macro __STDC_HOSTED__ as <n>.
! 71: .IP "\fB-S <n>"
! 72: Redefine __STDC__ to <n>, undefine old style macros.
! 73: .IP "\fB-V <n>"
! 74: Redefine __STDC_VERSION__ or __cplusplus to <n>.
! 75: .br
! 76: C with -V199901L specifies C99 mode.
! 77: .br
! 78: C++ with -V199901L specifies C99 compatible mode.
! 79: .PP
! 80: Options available with only -@std (default) option:
! 81: .IP \fB-@compat
! 82: Expand recursive macro more than Standard.
! 83: .IP \fB-3
! 84: Enable trigraphs.
! 85: .IP \fB-K
! 86: Embed macro annotations into comments.
! 87: .PP
! 88: Options available with -@std (default), -@kr or -@oldprep options:
! 89: .IP \fB-a
! 90: Process "assembler" source.
! 91: .SH PRAGMA
! 92: \fBmcpp\fR has the following #pragma directives.
! 93: .IP "#pragma once"
! 94: Read the header file only once even if multiply #included.
! 95: .IP "#pragma __setlocale( ""encoding"")"
! 96: Specify the multibyte character encoding to "encoding".
! 97: See -e option for the encodings.
! 98: .IP "#pragma MCPP put_defines"
! 99: Putout all the macro definitions currently valid.
! 100: .IP "#pragma MCPP debug <args>"
! 101: Start to putout debugging informations.
! 102: <args> should be one or more of:
! 103: token expand macro_call path if expression memory getc
! 104: .IP "#pragma MCPP end_debug <args>"
! 105: Stop to putout debugging informations.
! 106: <args> are the same with 'debug'.
! 107: No argument specifies all arguments.
! 108: .IP "#pragma MCPP push_macro( ""MACRO"")"
! 109: Save the macro definition to the stack.
! 110: .IP "#pragma MCPP pop_macro( ""MACRO"")"
! 111: Retrieve the macro definition from the stack.
! 112: .IP "#pragma MCPP preprocess"
! 113: "Pre-preprocess" the following header files for \fBmcpp\fR.
! 114: .IP "#pragma MCPP warning any message"
! 115: Putout warning "any message".
! 116: .SH "VERSION"
! 117: MCPP V.2.7 (2008/03) compiler-independent-build
! 118: .SH "SEE ALSO"
! 119: Do 'man mcpp-gcc' for \fBmcpp\fR of GCC-specific-build.
! 120: The full documentation for \fBmcpp\fR are maintained as html files.
! 121: Please see mcpp-manual.html.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>