📄 cccp.1
字号:
\&Predefine \c.I name\c\& as a macro, with definition `\|\c.B 1\c\&\|'..TP.BI "\-D " "name" = definition\&Predefine \c.I name\c\& as a macro, with definition \c.I definition\c\&.There are no restrictions on the contents of \c.I definition\c\&, but ifyou are invoking the preprocessor from a shell or shell-like programyou may need to use the shell's quoting syntax to protect characterssuch as spaces that have a meaning in the shell syntax. If you use more thanone `\|\c.B \-D\c\&\|' for the same.I name\c\&, the rightmost definition takes effect..TP.BI "\-U " "name"\c\&Do not predefine \c.I name\c\&. If both `\|\c.B \-U\c\&\|' and `\|\c.B \-D\c\&\|' arespecified for one name, the `\|\c.B \-U\c\&\|' beats the `\|\c.B \-D\c\&\|' and the nameis not predefined..TP.B \-undefDo not predefine any nonstandard macros..TP.BI "\-A " "name(" value )Assert (in the same way as the \c.B #assert\c\& directive)the predicate \c.I name\c\& with tokenlist \c.I value\c\&. Remember to escape or quote the parentheses onshell command lines.You can use `\|\c.B \-A-\c\&\|' to disable all predefined assertions; it alsoundefines all predefined macros..TP.B \-dMInstead of outputting the result of preprocessing, output a list of`\|\c.B #define\c\&\|' directives for all the macros defined during theexecution of the preprocessor, including predefined macros. This givesyou a way of finding out what is predefined in your version of thepreprocessor; assuming you have no file `\|\c.B foo.h\c\&\|', the command.sp.brtouch\ foo.h;\ cpp\ \-dM\ foo.h.br.spwill show the values of any predefined macros..TP.B \-dDLike `\|\c.B \-dM\c\&\|' except in two respects: it does \c.I not\c\& include thepredefined macros, and it outputs \c.I both\c\& the `\|\c.B #define\c\&\|'directives and the result of preprocessing. Both kinds of output go tothe standard output file..PP.TP.BR \-M\ [ \-MG ]Instead of outputting the result of preprocessing, output a rulesuitable for \c.B make\c\& describing the dependencies of the mainsource file. The preprocessor outputs one \c.B make\c\& rule containingthe object file name for that source file, a colon, and the names ofall the included files. If there are many included files then therule is split into several lines using `\|\c.B \\\\\c\&\|'-newline.`\|\c.B \-MG\c\&\|' says to treat missing header files as generated files and assume \cthey live in the same directory as the source file. It must be specified \cin addition to `\|\c.B \-M\c\&\|'.This feature is used in automatic updating of makefiles..TP.BR \-MM\ [ \-MG ]Like `\|\c.B \-M\c\&\|' but mention only the files included with `\|\c.B #include"\c.I file\c\&"\c\&\|'. System header files included with `\|\c.B #include<\c.I file\c\&>\c\&\|' are omitted..TP.BI \-MD\ fileLike `\|\c.B \-M\c\&\|' but the dependency information is written to `\|\c.I file\c\&\|'. This is in addition to compiling the file asspecified\(em\&`\|\c.B \-MD\c\&\|' does not inhibit ordinary compilation the way`\|\c.B \-M\c\&\|' does.When invoking gcc, do not specify the `\|\c.I file\c\&\|' argument. Gcc will create file names made by replacing `\|\c.B .c\c\&\|' with `\|\c.B .d\c\&\|' at the end of the input file names.In Mach, you can use the utility \c.B md\c\& to merge multiple filesinto a single dependency file suitable for using with the `\|\c.B make\c\&\|'command..TP.BI \-MMD\ fileLike `\|\c.B \-MD\c\&\|' except mention only user header files, not systemheader files..TP.B \-HPrint the name of each header file used, in addition to other normalactivities..TP.BI "\-imacros " "file"\c\&Process \c.I file\c\& as input, discarding the resulting output, beforeprocessing the regular input file. Because the output generated from\c.I file\c\& is discarded, the only effect of `\|\c.B \-imacros \c.I file\c\&\c\&\|' is tomake the macros defined in \c.I file\c\& available for use in the maininput. The preprocessor evaluates any `\|\c.B \-D\c\&\|' and `\|\c.B \-U\c\&\|' optionson the command line before processing `\|\c.B \-imacros \c.I file\c\&\|' \c\&..TP.BI "\-include " "file"Process .I fileas input, and include all the resulting output,before processing the regular input file. .TP.BI "-idirafter " "dir"\c\&Add the directory \c.I dir\c\& to the second include path. The directorieson the second include path are searched when a header file is not foundin any of the directories in the main include path (the one that`\|\c.B \-I\c\&\|' adds to)..TP.BI "-iprefix " "prefix"\c\&Specify \c.I prefix\c\& as the prefix for subsequent `\|\c.B \-iwithprefix\c\&\|'options..TP.BI "-iwithprefix " "dir"\c\&Add a directory to the second include path. The directory's name ismade by concatenating \c.I prefix\c\& and \c.I dir\c\&, where \c.I prefix\c\&was specified previously with `\|\c.B \-iprefix\c\&\|'..TP.B \-lang-c.TP.B \-lang-c++.TP.B \-lang-objc.TP.B \-lang-objc++Specify the source language. `\|\c.B \-lang-c++\c\&\|' makes the preprocessorhandle C++ comment syntax, and includes extra default includedirectories for C++, and `\|\c.B \-lang-objc\c\&\|' enables the Objective C`\|\c.B #import\c\&\|' directive. `\|\c.B \-lang-c\c\&\|' explicitly turns off both ofthese extensions, and `\|\c.B \-lang-objc++\c\&\|' enables both.These options are generated by the compiler driver \c.B gcc\c\&, but notpassed from the `\|\c.B gcc\c\&\|' command line..TP.B \-lintLook for commands to the program checker \c.B lint\c\& embedded incomments, and emit them preceded by `\|\c.B #pragma lint\c\&\|'. For example,the comment `\|\c.B /* NOTREACHED */\c\&\|' becomes `\|\c.B #pragma lintNOTREACHED\c\&\|'.This option is available only when you call \c.B cpp\c\& directly;\c.B gcc\c\& will not pass it from its command line..TP.B \-$Forbid the use of `\|\c.B $\c\&\|' in identifiers. This is required for ANSIconformance. \c.B gcc\c\& automatically supplies this option to thepreprocessor if you specify `\|\c.B \-ansi\c\&\|', but \c.B gcc\c\& doesn'trecognize the `\|\c.B \-$\c\&\|' option itself\(em\&to use it without the othereffects of `\|\c.B \-ansi\c\&\|', you must call the preprocessor directly..SH "SEE ALSO".RB "`\|" Cpp "\|'"entry in.B info\c\&;.I The C Preprocessor\c, Richard M. Stallman..br.BR gcc "(" 1 ");".RB "`\|" Gcc "\|'"entry in .B info\c\&;.I Using and Porting GNU CC (for version 2.0)\c, Richard M. Stallman..SH COPYINGCopyright (c) 1991, 1992, 1993 Free Software Foundation, Inc..PPPermission is granted to make and distribute verbatim copies ofthis manual provided the copyright notice and this permission noticeare preserved on all copies..PPPermission is granted to copy and distribute modified versions of thismanual under the conditions for verbatim copying, provided that theentire resulting derived work is distributed under the terms of apermission notice identical to this one..PPPermission is granted to copy and distribute translations of thismanual into another language, under the above conditions for modifiedversions, except that this permission notice may be included intranslations approved by the Free Software Foundation instead of inthe original English.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -