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