.TH MCPP "1" "Mar 2008" "alternative CPP" "User Commands" .SH "نام (NAME)" mcpp \- یک پیش‌پردازندهٔ جایگزین زبان C به نام Matsui CPP .SH "خلاصه دستور (SYNOPSIS)" mcpp [\fIoptions\fP] [\fI\fP [\fI\fP]] .SH "توضیحات (DESCRIPTION)" دستور \fBmcpp\fR یک پیش‌پردازندهٔ C/C++ با بیشترین میزان سازگاری با استانداردها است که استانداردهای C90، C99 و C++98 را پیاده‌سازی می‌کند. \fBmcpp\fR دارای امکانات عیب‌یابی فراوان و رهنمودهای ‎#pragma بسیار است. این ابزار برای بررسی قابلیت حمل برنامه و همچنین اشکال‌زدایی ماکروهای پیچیده سودمند است. این صفحهٔ راهنما برای ساخت مستقل از کامپایلر (compiler-independent-build) \fBmcpp\fR نوشته شده است. .SH "گزینه‌ها (OPTIONS)" دستور \fBmcpp\fR دو نام فایل را به عنوان آرگومان دریافت می‌کند: \fI\fR و \&\fI\fR. در صورت تعیین نشدن، \fI\fR به طور پیش‌فرض ورودی استاندارد و \fI\fR خروجی استاندارد خواهد بود. .PP این دستور گزینه‌های زیر را می‌پذیرد: .PP گزینه‌های پرکاربرد: .IP \fB-@MODE تعیین حالت پیش‌پردازش. MODE باید یکی از این ۴ مورد باشد: .IP " \fB-@std" حالت منطبق بر استاندارد. (پیش‌فرض) .IP " \fB-@poststd, -@post" حالت ویژهٔ «پس از استاندارد» (post-Standard). .IP " \fB-@kr" حالت نگارش نخست K&R. .IP " \fB-@oldprep, -@old" حالت «پیش‌پردازنده قدیمی» (مدل Reiser برای cpp). .IP " \fB-@compat" حالت «سازگار» با استاندارد. .IP \fB-C کامنت‌ها را نیز در خروجی حفظ می‌کند. .IP "\fB-D [=]" تعریف با مقدار (پیش‌فرض: 1). .IP "\fB-D [=]" تعریف ماکروی تابع‌گونهٔ با مقدار جایگزین . .IP "\fB-e " تغییر کدگذاری نویسه‌های چندبایتی پیش‌فرض به یکی از موارد زیر: euc_jp, gb2312, ksc5601, big5, sjis, iso2022_jp, utf8. .IP "\fB-I " افزودن به فهرست مسیرهای جستجوی ‎#include. .IP \fB-I- حذف دایرکتوری‌های include وابسته به سیستم یا میزبان خاص. .IP \fB-j خط مبدأ را در پیام‌های عیب‌یابی نمایش نمی‌دهد. .IP \fB-k فاصله‌های خالی خطوط ورودی را دست‌نخورده نگه می‌دارد. .IP "\fB-M, -MM, -MD, -MMD, -MP, -MQ target, -MT target, -MF file" تولید خط وابستگی فایل منبع برای makefile. .IP \fB-m32 تغییر پردازندهٔ مقصد از x86_64 و ppc64 به ترتیب به i386 و ppc. .IP \fB-m64 تغییر پردازندهٔ مقصد از i386 و ppc به ترتیب به x86_64 و ppc64. .IP \fB-[no-]mmx تعریف یا لغو تعریف ماکروی __MMX__. .IP \fB-N هیچ ماکروی غیراستانداردی را از پیش تعریف نمی‌کند. .IP "\fB-o " ارسال خروجی به . .IP \fB-P خطوط ‎#line را در خروجی تولید نمی‌کند. .IP \fB-Q ارسال گزارش‌های عیب‌یابی به "mcpp.err" (پیش‌فرض: stderr). .IP "\fB-U " لغو تعریف . .IP \fB-v نمایش نسخهٔ \fBmcpp\fR. .IP "\fB-W " تنظیم سطح هشدار روی (عملیات OR بیتی روی {0,1,2,4,8,16}، پیش‌فرض: 1). .IP \fB-z فایل‌های گنجانده‌شده (included) را در خروجی نمی‌آورد و فقط ماکروها را تعریف می‌کند. .PP گزینه‌های در دسترس با گزینه‌های -@std (پیش‌فرض) یا -@poststd: .IP \fB-+ پردازش کد منبع C++. .IP \fB-2 فعال‌سازی دونگاره‌ها (digraphs). .IP "\fB-h " تعریف مجدد ماکروی از پیش‌تعریف‌شدهٔ __STDC_HOSTED__ با مقدار . .IP "\fB-S " تعریف مجدد __STDC__ با مقدار و لغو تعریف ماکروهای سبک قدیمی. .IP "\fB-V " تعریف مجدد __STDC_VERSION__ یا __cplusplus با مقدار . .br در زبان C استفاده از -V199901L حالت C99 را مشخص می‌کند. .br در زبان C++ استفاده از -V199901L حالت سازگار با C99 را مشخص می‌کند. .PP گزینه‌هایی که تنها با گزینهٔ -@std (پیش‌فرض) در دسترس هستند: .IP \fB-@compat گسترش ماکروهای بازگشتی بیشتر از حد استاندارد. .IP \fB-3 فعال‌سازی سه‌نگاره‌ها (trigraphs). .IP \fB-K جای‌گذاری توضیحات ماکروها درون کامنت‌ها. .PP گزینه‌های در دسترس با گزینه‌های -@std (پیش‌فرض)، -@kr یا -@oldprep: .IP \fB-a پردازش کد منبع اسمبلی (assembler). .SH "دستورات عملگر (PRAGMA)" دستور \fBmcpp\fR رهنمودهای ‎#pragma زیر را دارد: .IP "#pragma once" خواندن فایل سرآیند تنها یک‌بار، حتی اگر چندین بار ‎#include شده باشد. .IP "#pragma __setlocale( ""encoding"")" تعیین کدگذاری نویسه‌های چندبایتی به "encoding". برای فهرست کدگذاری‌ها گزینهٔ -e را ببینید. .IP "#pragma MCPP put_defines" چاپ تمام تعاریف ماکرویی که هم‌اکنون معتبر هستند در خروجی. .IP "#pragma MCPP debug " آغاز چاپ اطلاعات اشکال‌زدایی. باید یک یا چند مورد از این‌ها باشد: token expand macro_call path if expression memory getc .IP "#pragma MCPP end_debug " توقف چاپ اطلاعات اشکال‌زدایی. آرگومان‌های مشابه با 'debug' هستند. نبود آرگومان به معنی اعمال روی همهٔ شناسه‌ها است. .IP "#pragma MCPP push_macro( ""MACRO"")" ذخیرهٔ تعریف ماکرو در پشته. .IP "#pragma MCPP pop_macro( ""MACRO"")" بازیابی تعریف ماکرو از پشته. .IP "#pragma MCPP preprocess" «پیش‌پردازش اولیه» فایل‌های سرآیند بعدی برای \fBmcpp\fR. .IP "#pragma MCPP warning any message" نمایش هشدار حاوی "any message". .SH "نسخه (VERSION)" MCPP V.2.7 (2008/03) compiler-independent-build .SH "همچنین ببینید (SEE ALSO)" برای نسخهٔ مبتنی بر کامپایلر GCC این دستور، 'man mcpp-gcc' را ببینید. مستندات کامل \fBmcpp\fR در قالب فایل‌های html نگهداری می‌شوند. لطفاً فایل mcpp-manual.html را مطالعه کنید.