این گزینه ها پیش پردازنده C را کنترل می کنند ، که قبل از تدوین واقعی روی هر پرونده منبع C اجرا می شود.
اگر از گزین ه-e استفاده می کنید ، هیچ کاری به جز پیش پردازش انجام نمی شود. برخی از این گزینه ها فقط ب ا-E معقول هستند زیرا باعث می شوند خروجی پیش پردازنده برای تدوین واقعی نامناسب باشد.
علاوه بر گزینه های ذکر شده در اینجا ، تعدادی گزینه برای کنترل مسیرهای جستجو وجود دارد که شامل پرونده های مستند شده در گزینه های دایرکتوری است. گزینه هایی برای کنترل تشخیص پیش پردازنده در گزینه های هشدار ذکر شده است.
نام از پیش تعیین شده به عنوان یک کلان ، با تعریف 1.
-d name = تعریف
محتوای تعریف به صورت نشانه گذاری و پردازش می شوند که گویی در مرحله ترجمه سه در یک دستورالعمل "#define" ظاهر می شوند. به طور خاص ، این تعریف توسط شخصیت های Newline تعبیه شده کوتاه می شود.
اگر از پیش پردازنده از یک برنامه پوسته یا پوسته مانند استفاده می کنید ، ممکن است لازم باشد از نحو نقل قول پوسته برای محافظت از کاراکترهایی مانند فضاهایی که در نحو پوسته معنی دارند ، استفاده کنید.
اگر می خواهید یک ماکرو مانند عملکرد را در خط فرمان تعریف کنید ، قبل از علامت برابر با پرانتزهای اطراف ، لیست استدلال های خود را با پرانتز اطراف بنویسید (در صورت وجود). پرانتز برای اکثر پوسته ها معنی دار است ، بنابراین باید گزینه را نقل کنید. با نام SH و CSH ، -d 'نام (استدلال ...) = تعریف "کار می کند.
گزینه ها ی-D و-U به ترتیب ارائه شده در خط فرمان پردازش می شوند. همه فایل های imacros و گزینه های فایل حذف شده پس از همه گزینه ها ی-D و-U پردازش می شوند.
هر تعریف قبلی از نام را که در آن ساخته شده یا با گزین ه-d تهیه شده یا ارائه شده است ، لغو کنید.
پرونده پردازش به طوری که اگر #includ "پرونده" به عنوان اولین خط پرونده منبع اولیه ظاهر شد. با این حال ، اولین دایرکتوری که برای پرونده جستجو شده است ، فهرست کار پیش پردازنده به جای دایرکتوری حاوی پرونده منبع اصلی است. اگر در آنجا یافت نشد ، در بقیه زنجیره جستجو #include "..." به صورت عادی جستجو می شود.
اگر گزینه های چندگانه داده شود ، پرونده ها به ترتیب ظاهر شده در خط فرمان گنجانده شده اند.
دقیقاً مانن د-به جز این که هر خروجی تولید شده توسط پرونده اسکن دور می شود. ماکرو تعریف می کند که تعریف شده است. این به شما امکان می دهد بدون پردازش اعلامیه های آن ، تمام ماکروها را از یک هدر بدست آورید.
تمام پرونده های مشخص شده توس ط-imacros قبل از همه پرونده های مشخص شده توس ط-lude پردازش می شوند.
ماکروهای خاص سیستم یا GCC خاص را از پیش تعیین نکنید. ماکروهای از پیش تعریف شده استاندارد تعریف می شوند.
ماکروهای اضافی مورد نیاز برای استفاده از کتابخانه رشته های POSIX را تعریف کنید. شما باید از این گزینه به طور مداوم هم برای کامپایل و هم برای پیوند استفاده کنید. این گزینه در اهداف گنو/لینوکس، بیشتر مشتقات یونیکس دیگر، و همچنین در اهداف x86 Cygwin و MinGW پشتیبانی می شود.
به جای خروجی گرفتن نتیجه پیش پردازش، یک قانون مناسب برای توصیف وابستگی های فایل منبع اصلی خروجی بگیرید. پیش پردازشگر یک قانون را خروجی می دهد که شامل نام فایل شی برای آن فایل منبع، یک دونقطه، و نام همه فایل های شامل، از جمله آنهایی که از گزینه های خط فرما ن-include ی ا-imacros می آیند.
مگر اینکه به طور صریح مشخص شده باشد (ب ا-MT ی ا-MQ)، نام فایل شی شامل نام فایل منبع با هر پسوندی است که با پسوند فایل شی جایگزین شده و هر قسمت دایرکتوری اصلی حذف شده باشد. اگر تعداد فایل های گنجانده شده زیادی وجود داشته باشد، قانون با استفاده از " " -newline به چندین خط تقسیم می شود. قانون هیچ فرمانی ندارد.
این گزینه خروجی اشکال زدایی پیش پردازنده مانن د-dM را سرکوب نمی کند. برای جلوگیری از اختلاط چنین خروجی اشکال زدایی با قوانین وابستگی، باید به صراحت فایل خروجی وابستگی را ب ا-MF مشخص کنید، یا از یک متغیر محیطی مانند DEPENDENCIES_OUTPUT استفاده کنید (به متغیرهای محیط مراجعه کنید). خروجی اشکال زدایی همچنان به طور معمول به جریان خروجی معمولی ارسال می شود.
ارسا ل-M به راننده به معنا ی-E است و هشدارها را با ی ک-w ضمنی سرکوب می کند.
مانن د-M، اما به فایل های هدری که در فهرست های هدر سیستم یافت می شوند، و همچنین فایل های هدری که به طور مستقیم یا غیرمستقیم در چنین هدری گنجانده شده اند، اشاره نکنید.
این نشان می دهد که انتخاب براکت های زاویه یا نقل قول های دوگانه در دستورالعمل «#include» به خودی خود تعیین نمی کند که آیا آن هدر در خروجی وابستگ ی-MM ظاهر شود یا خیر.
هنگامی که ب ا-M ی ا-MM استفاده می شود، فایلی را برای نوشتن وابستگی ها مشخص می کند. اگر سوئی چ-MF داده نشود، پیش پردازنده قوانین را به همان مکان ارسال می کند که خروجی پیش پردازش شده را ارسال می کند.
هنگامی که با گزینه های درایو ر-MD ی ا-MMD استفاده می شود، -MF فایل خروجی وابستگی پیش فرض را لغو می کند.
اگر فایل - باشد، وابستگی ها در stdout نوشته می شوند.
در ارتباط با گزینه ای مانن د-M درخواست تولید وابستگی، -MG فرض می کند که فایل های هدر از دست رفته فایل هایی تولید می شوند و آنها را بدون ایجاد خطا به لیست وابستگی اضافه می کند. نام فایل وابستگی مستقیماً از دستورالعمل #include بدون پیش فرض هیچ مسیری گرفته شده است.-MG همچنین خروجی از پیش پردازش شده را سرکوب می کند، زیرا یک فایل هدر از دست رفته این کار را بی فایده می کند.
این ویژگی در به روزرسانی خودکار MakeFiles استفاده می شود.
تولید وابستگی را برای رابط های ماژول کامپایل غیرفعال کنید.
این گزینه به CPP دستور می دهد تا برای هر وابستگی به غیر از پرونده اصلی ، یک هدف فنی اضافه کند و باعث می شود هرکدام به هیچ چیز وابسته باشند. این قوانین ساختگی در مورد خطاها کار می کند ، اگر پرونده های هدر را بدون به روزرسانی MakeFile برای مطابقت با آنها حذف کنید.
این خروجی معمولی است:
هدف قانون ساطع شده توسط تولید وابستگی را تغییر دهید. به طور پیش فرض CPP نام پرونده اصلی ورودی را می گیرد ، هر مؤلفه دایرکتوری و هر پسوند پرونده ای مانند ". C" را حذف می کند و پسوند شیء معمول این پلتفرم را ضمیمه می کند. نتیجه هدف است.
یک گزین ه-mt هدف را دقیقاً رشته ای که مشخص کرده اید تنظیم می کند. اگر می خواهید چندین هدف داشته باشید ، می توانید آنها را به عنوان یک آرگومان واحد ب ه-mt مشخص کنید ، یا از گزینه های متعد د-MT استفاده کنید.
به عنوان مثال ، -Mt '$ (objpfx) foo. o' ممکن است بدهد
مشاب ه-mt ، اما هر شخصیت خاصی را که برای ساختن آنها خاص است نقل می کند.-mq '$ (objpfx) foo. o' می دهد
هدف پیش فرض به طور خودکار نقل می شود ، گویی ب ا-mq داده شده است.
-MD معادل پروند ه-m -mf است ، به جز اینک ه-E دلالت ندارد. درایور پرونده را بر اساس اینکه آیا گزین ه-o داده شده است تعیین می کند. اگر اینطور باشد ، درایور از استدلال خود استفاده می کند اما با پسوند . D ، در غیر این صورت نام پرونده ورودی را می گیرد ، هر یک از اجزای و پسوند دایرکتوری را حذف می کند و یک پسوند . D را اعمال می کند.
اگ ر-MD در رابطه ب ا-e استفاده می شود ، هر سوئی چ-o برای مشخص کردن پرونده خروجی وابستگی (نگاه کنید ب ه-mf) ، اما اگر بدو ن-e استفاده شود ، ه ر-o برای مشخص کردن یک فایل هدف هدف درک می شود.
از آنجا ک ه-E دلالت ندارد ، -MD می تواند برای تولید یک فایل خروجی وابستگی به عنوان یک عارضه جانبی فرآیند تلفیقی استفاده شود.
مانن د-md به جز ذکر فقط پرونده های هدر کاربر ، نه پرونده های هدر سیستم.
به پیش پردازنده نشان دهید که پرونده ورودی قبلاً از پیش پردازش شده است. این مواردی مانند گسترش کلان ، تبدیل تریگراف ، فرار از نواحی جدید و پردازش بیشتر دستورالعمل ها را سرکوب می کند. پیش پردازنده هنوز نظرات را تشخیص داده و حذف می کند ، به طوری که می توانید بدون مشکل ، پرونده ای را که ب ا-C به کامپایلر پردازش شده است ، منتقل کنید. در این حالت ، پیش پردازنده یکپارچه کمی بیشتر از یک نشانه دهنده برای انتهای جلو است.
اگر پرونده ورودی یکی از پسوندها ". i" ، ". ii" یا ". mi" داشته باشد ، پردازش شده ضمنی است. اینها پسوندهایی هستند که GCC برای پرونده های از پیش پردازش شده توس ط-Sav e-Temps استفاده می کند.
هنگام پردازش ، دستورالعمل ها را اداره کنید ، اما ماکروها را گسترش ندهید.
رفتار گزینه به گزینه ها ی-e و-fpreprociated بستگی دارد.
ب ا-E ، پیش پردازش محدود به رسیدگی به دستورالعمل هایی مانند #define ، #ifdef و #Error است. سایر عملیات پیش پردازنده ، مانند گسترش کلان و تبدیل تریگراف انجام نمی شود. علاوه بر این ، گزین ه-dd به طور ضمنی فعال است.
ب ا-FPREPROCEDS ، پیش بینی خط فرمان و بیشتر ماکروهای داخلی غیرفعال است. ماکروها مانند __line__ ، که از نظر متنی وابسته هستند ، به طور عادی اداره می شوند. این امکان جمع آوری پرونده هایی را فراهم می کند که قبلاً ب ا-e -fdirectives فقط پردازش شده بودند.
با هر د و-E و-FPREPROCESS ، قوانین مربوط ب ه-FPREPROCIESS مقدم بر این است. این امکان پردازش کامل پرونده هایی را فراهم می کند که قبلاً ب ا-e -fdirectives فقط پردازش شده بودند.
"$" را در شناسه ها بپذیرید.
نام شخصیت های جهانی و شخصیت های گسترده را در شناسه ها بپذیرید. این گزینه به طور پیش فرض برای C99 (و بعداً نسخه های استاندارد C) و C ++ فعال شده است.
هنگام پیش پردازش ، مسیرهای هدر سیستم را با متعارف کوتاه نکنید.
حداکثر عمق #include تو در تو را تنظیم کنید. پیش فرض 200 است.
فاصله بین توقف زبانه را تنظیم کنید. این به پیش پردازنده کمک می کند تا شماره های ستون را در هشدارها یا خطاها صحیح گزارش دهد ، حتی اگر زبانه ها در خط ظاهر شوند. اگر مقدار کمتر از 1 یا بیشتر از 100 باشد ، گزینه نادیده گرفته می شود. پیش فرض 8 است.
مکان های نشانه ها را در سراسر گسترش کلان دنبال کنید. این به کامپایلر اجازه می دهد تا هنگام بروز یک خطای تلفیقی در یک گسترش کلان ، در مورد پشته گسترش کلان فعلی ، تشخیصی را منتشر کند. استفاده از این گزینه باعث می شود که پیش پردازنده و کامپایلر حافظه بیشتری مصرف کنند. از پارامتر سطح می توان برای انتخاب سطح دقت ردیابی محل توکن استفاده کرد و در نتیجه مصرف حافظه را در صورت لزوم کاهش داد. مقدار ‘0 'از سطح این گزینه را فعال می کند. مقدار ‘1 'مکان های توکن را به دلیل حداقل حافظه حافظه ، در یک حالت تخریب شده ردیابی می کند. در این حالت ، تمام نشانه های ناشی از گسترش یک آرگومان یک ماکرو مانند عملکرد دارای همان مکان هستند. ارزش ‘2 'مکان های توکن را به طور کامل ردیابی می کند. این مقدار بیشترین حافظه گرسنه است. هنگامی که این گزینه هیچ آرگومان ارائه نشده است ، مقدار پارامتر پیش فرض ‘2 است.
توجه داشته باشید ک ه-ftrack-macro-expansion = 2 به طور پیش فرض فعال می شود.
-fmacro-prefix-map = قدیمی = جدید
هنگام پردازش پرونده های ساکن در دایرکتوری قدیمی ، ماکروهای __file__ و __base_file__ را گسترش دهید که گویی پرونده ها به جای آن در دایرکتوری جدید زندگی می کنند. این می تواند برای تغییر یک مسیر مطلق به یک مسیر نسبی با استفاده از آن استفاده شود. برای جدید که می تواند منجر به ساختهای قابل تکرار تر شود که مستقل از مکان هستند. این گزینه همچنین در هنگام تدوین ، __builtin_file () را تحت تأثیر قرار می دهد. همچنین-File-Prefix-Map را نیز ببینید.
مجموعه کاراکتر اجرای را تنظیم کنید ، برای ثابت های رشته و کاراکتر استفاده می شود. پیش فرض UTF-8 است. Charset می تواند هر رمزگذاری پشتیبانی شده توسط روال کتابخانه Iconv سیستم باشد.
مجموعه کاراکتر اجرای گسترده را تنظیم کنید ، که برای ثابت های رشته و شخصیت های گسترده استفاده می شود. پیش فرض یکی از UTF-32BE ، UTF-32LE ، UTF-16BE یا UTF-16LE است که هر کدام را با عرض WCHAR_T و سفارش بایت بزرگ یا کم اندکی برای تولید کد مطابقت دهد. همانطور که ب ا-FEXE C-charset ، charset می تواند رمزگذاری شده توسط روال کتابخانه Iconv سیستم باشد. با این حال ، شما با رمزگذاری هایی که دقیقاً در WCHAR_T متناسب نیستند ، مشکل خواهید داشت.
مجموعه کاراکتر ورودی را تنظیم کنید ، که برای ترجمه از مجموعه کاراکتر پرونده ورودی به مجموعه کاراکتر منبع مورد استفاده توسط GCC استفاده می شود. اگر محل مشخص نشده باشد ، یا GCC نمی تواند این اطلاعات را از محل دریافت کند ، پیش فرض UTF-8 است. این می تواند توسط محل محلی یا این گزینه خط فرمان ناعادلانه باشد. در حال حاضر گزینه خط فرمان اگر درگیری وجود داشته باشد ، برتری دارد. Charset می تواند هر رمزگذاری پشتیبانی شده توسط روال کتابخانه Iconv سیستم باشد.
هنگام استفاده از هدرهای پیش ساخته (به عنوان های پیش نمایش مراجعه کنید) ، این پرچم باعث می شود که پرچم های وابستگی و خروجی نیز پرونده ها را از وابستگی های هدر پیش ساخته لیست کنند. اگر مشخص نشده باشد ، فقط هدر prepomiled ذکر شده است و پرونده هایی که برای ایجاد آن استفاده شده اند ، نیستند ، زیرا در هنگام استفاده از هدر پیش ساخته ، این پرونده ها مشاوره نمی شوند.
این گزینه به همرا ه-e امکان استفاده از یک هدر پیش ساخته (به هدر های پیش ساخته) را می دهد. این یک #pragma خاص ، #pragma gcc pch_preprocess "نام پرونده" را در خروجی درج می کند تا مکانی را که در آن هدر پیش ساخته پیدا شده است ، و نام پرونده آن را علامت گذاری کند. هنگامی ک ه-FPREPROCIESS در حال استفاده است ، GCC این #Pragma را تشخیص می دهد و PCH را بار می کند.
این گزینه به طور پیش فرض خاموش است ، زیرا خروجی از پیش پردازش شده حاصل فقط به عنوان ورودی به GCC بسیار مناسب است. آن را ب ا-Sav e-Temps روشن می کند.
شما نباید این #PRAGMA را در کد خود بنویسید ، اما اگر پرونده PCH در یک مکان متفاوت در دسترس باشد ، ویرایش نام پرونده ایمن است. نام پرونده ممکن است مطلق باشد یا ممکن است نسبت به فهرست فعلی GCC باشد.
تولید سازنده های خطی را در خروجی پیش پردازنده که به کامپایلر اجازه می دهد فهرست کار فعلی را در زمان پیش پردازش بشناسد ، فعال کنید. هنگامی که این گزینه فعال شود ، پیش پردازنده پس از خط مشی اولیه ، یک لاینر دوم با فهرست کار فعلی و به دنبال آن دو برش منتشر می شود. GCC از این فهرست استفاده می کند ، هنگامی که در ورودی از پیش پردازش شده وجود دارد ، به عنوان دایرکتوری که به عنوان فهرست کار فعلی در برخی از قالب های اطلاعات اشکال زدایی منتشر شده است. اگر اطلاعات اشکال زدایی فعال باشد ، این گزینه به طور ضمنی فعال می شود ، اما این امر می تواند با فرم نفی شد ه-FNO-Working-Drectory مهار شود. اگر پرچ م-p در خط فرمان وجود داشته باشد ، این گزینه هیچ تاثیری ندارد ، زیرا هیچ دستورالعمل #line از هر چیزی منتشر نمی شود.
-A PREDICATION = پاسخ
با محمول محمول و پاسخ پاسخ دهید. این فرم به فرم قدیمی ت ر-یک محمول (پاسخ) ترجیح داده می شود ، که هنوز هم پشتیبانی می شود ، زیرا از شخصیت های خاص پوسته استفاده نمی کند.
-a - preticate = پاسخ
یک ادعا را با محمول محمول و پاسخ پاسخ دهید.
نظرات را دور بریزید. همه نظرات به جز نظرات در دستورالعمل های پردازش شده ، که به همراه دستورالعمل حذف شده اند ، به پرونده خروجی منتقل می شوند.
شما باید هنگام استفاده ا ز-C برای عوارض جانبی آماده شوید. این امر باعث می شود پیش پردازنده با نظرات خود به عنوان نشانه ها در نوع خود رفتار کند. به عنوان مثال ، اظهاراتی که در ابتدای یک خط دستورالعمل ظاهر می شود ، تأثیر تبدیل آن خط به یک منبع معمولی را دارد ، زیرا اولین نشانه روی خط دیگر " #" نیست.
نظرات را از جمله در هنگام گسترش کلان دور نکنید. این مانن د-C است ، به جز این که نظرات موجود در ماکروها نیز به پرونده خروجی منتقل می شوند که در آن کلان گسترش یافته است.
علاوه بر عوارض جانبی گزین ه-C ، گزین ه-CC باعث می شود همه نظرات سبک C ++ در داخل یک کلان به نظرات به سبک C تبدیل شود. این امر برای جلوگیری از استفاده بعدی از آن کلان از اظهار نظر سهواً باقیمانده خط منبع است.
از گزین ه-CC به طور کلی برای پشتیبانی از نظرات LINT استفاده می شود.
مهار تولید Linemarkers در خروجی از پیش پردازنده. این ممکن است هنگام اجرای پیش پردازنده روی چیزی که کد C نیست ، مفید باشد و به برنامه ای ارسال می شود که ممکن است توسط Linemarkers اشتباه گرفته شود.
سعی کنید از رفتار پیش پردازنده های قبل از استاندارد C ، بر خلاف پیش پردازنده های ISO C تقلید کنید. برای جزئیات بیشتر به دفترچه راهنمای CPP GNU مراجعه کنید.
توجه داشته باشید که GCC در غیر این صورت سعی در تقلید از کامپایلر قبل از استاندارد C ندارد ، و این گزینه ها فقط با سوئی چ-e یا هنگام فراخوانی صریح CPP پشتیبانی می شوند.
پشتیبانی از Trigraphs ISO. این توالی های سه شخصیت است ، همه از ‘؟؟"، که توسط ISO C تعریف شده است تا برای شخصیت های مجرد بایستد. به عنوان مثال ، "؟؟/" مخفف "" است ، بنابراین "" ؟؟/ n "یک شخصیت ثابت برای یک خط جدید است.
نه تریگراف و جایگزینی آنها
به طور پیش فرض ، GCC Trigraphs را نادیده می گیرد ، اما در حالت های سازگار با استاندارد آنها را تبدیل می کند. گزینه ها ی-STD و-ANSI را مشاهده کنید.
کد ویژه را فعال کنید تا در اطراف سیستم های فایل کار کند که فقط نام پرونده های بسیار کوتاه مانند MS-DOS را مجاز می کند.
علاوه بر سایر فعالیت های عادی ، نام هر پرونده هدر استفاده شده را چاپ کنید. هر نام برای نشان دادن چقدر عمیق در پشته "#includ" قرار دارد. پرونده های هدر پیش ساخته نیز چاپ می شوند ، حتی اگر مشخص شود که نامعتبر است. یک فایل هدر premompiled نامعتبر با ‘چاپ می شود. X و یک معتبر با ‘..
می گوید برای ایجاد زباله های اشکال زدایی در هنگام تدوین ، همانطور که توسط نامه ها مشخص شده است. پرچم های ثبت شده در اینجا مواردی هستند که مربوط به پیش پردازنده هستند. حروف دیگر توسط کامپایلر مناسب تفسیر می شوند ، یا برای نسخه های آینده GCC محفوظ هستند ، و بنابراین سکوت نادیده گرفته می شوند. اگر نامه هایی را مشخص کنید که رفتار آنها در تضاد باشد ، نتیجه تعریف نشده است. برای اطلاعات بیشتر به گزینه های توسعه دهنده مراجعه کنید.
به جای خروجی طبیعی ، لیستی از دستورالعمل های "#define" را برای همه ماکروهای تعریف شده در هنگام اجرای پیش پردازنده ، از جمله ماکروهای از پیش تعریف شده ایجاد کنید. این راهی برای یافتن آنچه در نسخه پیش پردازنده شما از پیش تعریف شده است ، به شما می دهد. با فرض اینکه شما هیچ پرونده ای foo. h ندارید ، دستور
تمام ماکروهای از پیش تعریف شده را نشان می دهد.
اگر ا ز-dm بدون گزین ه-e استفاده می کنید ، -DM به عنوان مترادف برا ی-fdum p-rt l-mach تفسیر می شود. گزینه های توسعه دهنده (GCC) را ببینید.
مانن د-DM به جز از دو جنبه: ماکروهای از پیش تعریف شده را شامل نمی شود ، و هم دستورالعمل های "#define" و نتیجه پیش پردازش را خروجی می کند. هر دو نوع خروجی به پرونده خروجی استاندارد می روند.
مانن د-dd ، اما فقط نام های کلان را منتشر کنید ، نه گسترش آنها.
دستورالعمل های خروجی ‘#include علاوه بر نتیجه پیش پردازش.
مانن د-dd به جز اینکه فقط ماکروهایی که گسترش یافته اند ، یا تعریف آن در دستورالعمل های پیش پردازنده آزمایش می شود ، خروجی هستند. خروجی تا زمان استفاده یا آزمایش کلان به تأخیر می افتد. و دستورالعمل های "#undef" نیز برای ماکروهای آزمایش شده اما در آن زمان مشخص نشده است.
این گزینه فقط برای اشکال زدایی GCC مفید است. هنگامی که از CPP یا ب ا-e استفاده می شود ، اطلاعات اشکال زدایی در مورد نقشه های مکان را حذف می کند. هر نشانه موجود در خروجی قبل از زباله نقشه آن تعلق دارد.
هنگامی که از GCC بدو ن-e استفاده می شود ، این گزینه هیچ تاثیری ندارد.
می توانید از گزین ه-wp ، برای دور زدن درایور کامپایلر استفاده کنید و گزینه را مستقیماً از طریق پیش پردازنده منتقل کنید. اگر گزینه حاوی کاما باشد ، در کاما به گزینه های مختلفی تقسیم می شود. با این حال ، بسیاری از گزینه ها قبل از انتقال به پیش پردازنده ، توسط درایور کامپایلر اصلاح ، ترجمه یا تفسیر می شوند ، و-WP به اجبار این مرحله را دور می زند. رابط کاربری مستقیم پیش پردازنده بدون مدارک و در معرض تغییر است ، بنابراین هر زمان ممکن است از استفاده از WP خودداری کنید و به درایور اجازه دهید به جای آن گزینه ها را کنترل کند.
گزینه را به عنوان گزینه ای برای پیش پردازنده منتقل کنید. شما می توانید از این موارد برای تهیه گزینه های پیش پردازنده خاص سیستم استفاده کنید که GCC آن را تشخیص نمی دهد.
اگر می خواهید گزینه ای را که استدلال می کند ، تصویب کنید ، باید دو بار ، یک بار برای گزینه و یک بار برای آرگومان ، ا ز-xpreprocessor استفاده کنید.
قبل از تدوین ، پیش پردازش را به عنوان یک پاس جداگانه انجام دهید. به طور پیش فرض ، GCC پیش پردازش را به عنوان بخشی یکپارچه از نشانه های ورودی و تجزیه می کند. اگر این گزینه ارائه شود ، قسمت جلوی زبان مناسب (CC1 ، CC1PLUS یا CC1OBJ برای C ، C ++ و Objective-C) در عوض دو بار ، یک بار برای پردازش فقط و یک بار برای تدوین واقعی ورودی از پیش پردازش شده ، دو بار است. این گزینه ممکن است در رابطه با گزینه ها ی-b ی ا-wrapper برای مشخص کردن یک پیش پردازنده متناوب یا انجام پردازش اضافی منبع برنامه بین پیش پردازش عادی و تدوین مفید باشد.
GCC را برای انتظار فایلهای منبع بزرگ ، با هزینه تدوین کندتر و استفاده از حافظه بالاتر تنظیم کنید.
به طور خاص ، GCC به طور معمول هم اعداد ستون و هم شماره های خط را در پرونده های منبع ردیابی می کند و به طور معمول هر دو این اعداد را در تشخیص چاپ می کند. با این حال ، پس از پردازش تعداد مشخصی از خطوط منبع ، ردیابی شماره ستون را متوقف می کند و فقط شماره های خط را ردیابی می کند. این بدان معنی است که تشخیص برای خطوط بعدی شامل شماره ستون نیست. همچنین این بدان معناست که گزینه هایی مانن د-wmisleadin g-indentation در آن نقطه متوقف می شود ، اگرچه این کامپایلر در صورت وقوع این یادداشت را چاپ می کند. عبور از-منبع-فایلها به طور قابل توجهی تعداد خطوط منبع را که GCC می تواند قبل از متوقف کردن ردیابی ستون ها پردازش کند ، افزایش می دهد.
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : احمد قانع پور
بازدید : 40
تاريخ : شنبه
9 ارديبهشت
1402 ساعت: :