Amazon Best VPN GoSearch

فاویکون OnWorks

پراکنده - آنلاین در ابر

اجرای پراکنده در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این فرمان پراکنده است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


پراکنده - تجزیه کننده معنایی برای C

خلاصه


پراکنده [هشدار OPTIONS] ... file.c

شرح


Sparse منبع C را تجزیه می کند و به دنبال خطا می گردد و هشدارهایی را در مورد خطای استاندارد ایجاد می کند.

Sparse گزینه هایی را می پذیرد که مجموعه ای از هشدارها را برای تولید کنترل می کنند. برای روشن کردن هشدارها
Sparse به طور پیش فرض صادر نمی شود، از گزینه هشدار مربوطه استفاده کنید -چیزی.
Sparse به طور پیش فرض برخی از هشدارها را صادر می کند. برای خاموش کردن آن هشدارها، از نفی عبور کنید
گزینه هشدار مرتبط، -نه-چیزی.

هشدار OPTIONS


-Wsparse-همه
همه اخطارهای پراکنده را روشن کنید، به جز مواردی که صراحتاً غیرفعال شده اند
-نه-چیزی.

-فضای وادرس
در مورد کدهایی که نشانگرها را به فضاهای آدرس مختلف مخلوط می کند هشدار دهید.

Sparse یک ویژگی توسعه یافته را امکان پذیر می کند __ویژگی__((فضای_آدرس(تعداد))) on
اشاره گرها، که یک هدف اشاره گر را در فضای آدرس مشخص می کند تعداد (ثابت
عدد صحیح). با -فضای وادرسSparse با اشاره گرها با انواع هدف یکسان برخورد می کند
اما فضاهای آدرس متفاوت به عنوان انواع متمایز. برای نادیده گرفتن این هشدار، مانند
برای توابعی که نشانگرها را بین فضاهای آدرس تبدیل می کنند، از نوعی استفاده کنید که
شامل __ویژگی__((نیروی)).

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید -Wno-آدرس-فضا.

-Wbitwise
در مورد عملیات پشتیبانی نشده یا عدم تطابق نوع با انواع اعداد صحیح محدود هشدار دهید.

Sparse از یک ویژگی توسعه یافته پشتیبانی می کند، __ویژگی__((بیتی))، که ایجاد می کند
نوع عدد صحیح محدود جدید از نوع عدد صحیح پایه، متمایز از پایه
نوع عدد صحیح و از هر نوع عدد صحیح محدود دیگری که در همان اعلان نشده است
اعلامیه یا typedef. به عنوان مثال، این اجازه می دهد تا برنامه ها ایجاد کنند typedefبرای
انواع عدد صحیح با endianness خاص. با -Wbitwise، Sparse در مورد هر اخطار می دهد
استفاده از نوع محدود در عملیات حسابی غیر از عملیات بیتی،
و در مورد هر تبدیل یک نوع محدود به نوع دیگر، به جز از طریق بازیگری که
شامل __ویژگی__((نیروی)).

__bitwise به یک "جدایی اعداد صحیح قوی تر" تبدیل می شود. اون یکی بهت اجازه نمیده
برای مخلوط کردن با اعداد صحیح غیر بیتی، بنابراین اکنون از دست دادن نوع آن بسیار سخت تر است
اشتباه

__bitwise برای *انواع منحصر به فرد* است که نمی توان آنها را با انواع دیگر مخلوط کرد و این
شما هرگز نمی خواهید فقط به عنوان یک عدد صحیح تصادفی استفاده کنید (هر چند عدد صحیح 0 خاص است،
و بی‌صدا iirc پذیرفته می‌شود - برای اشاره‌گرها به نوعی مانند "NULL" است). بنابراین
انواع "gfp_t" یا "Endianness ایمن" __bitwise هستند: شما فقط می توانید بر روی
آنها را با انجام عملیات خاصی که در مورد *آن* نوع خاص می دانند.

به طور کلی، اگر به دنبال ایمنی نوع هستید، به صورت بیتی می خواهید. پراکنده نیست
این هشدارها را به صورت پیش فرض صادر کنید.

-Wcast-to-as
در مورد ارسال‌هایی که فضای آدرسی را به نوع نشانگر اضافه می‌کنند هشدار دهید.

بازیگرانی که شامل __ویژگی__((نیروی)) این هشدار را سرکوب خواهد کرد.

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-Wcast-Truncate
در مورد کست هایی که مقادیر ثابت را کوتاه می کنند هشدار دهید.

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید -Wno-cast-tuncate.

-Wcontext
در مورد خطاهای احتمالی در همگام سازی یا سایر زمینه های محدود شده هشدار دهید.

Sparse از چندین ابزار برای تعیین توابع یا عباراتی که محدود می شوند پشتیبانی می کند
زمینه ها مانند همگام سازی توابع با ویژگی توسعه یافته
__ویژگی__((زمینه(بیان,در متن,out_context)) نیاز به زمینه دارد
بیان (به عنوان مثال، یک قفل) برای داشتن مقدار در متن (ثابت
عدد صحیح غیرمنفی) هنگام فراخوانی، و با مقدار برگردید out_context (ثابت
عدد صحیح غیر منفی). برای APIهایی که از طریق ماکروها تعریف می شوند، از فرم بیانیه استفاده کنید
__متن نوشته__(بیان,in_value,out_value) در بدنه ماکرو.

با -Wcontext Sparse وقتی ببیند تابعی بدون تغییر زمینه می دهد هشدار می دهد
این را با a نشان می دهد زمینه ویژگی، یا با کاهش یک زمینه زیر صفر
(مانند با آزاد کردن قفل بدون به دست آوردن آن)، یا بازگشت با تغییر
زمینه (مانند به دست آوردن قفل بدون رها کردن آن). Sparse نیز هشدار خواهد داد
در مورد بلوک‌های کدی که ممکن است با زمینه‌های مختلف اجرا شوند.

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید -بدون متن.

-Wdecl هشدار در مورد هر غیرایستا متغیر یا تعریف تابعی که قبلی ندارد
اعلام.

نمادهای خصوصی (توابع و متغیرها) داخلی در یک فایل منبع داده شده باید
استفاده کنید ایستا، برای اجازه بهینه سازی های اضافی کامپایلر، امکان تشخیص موارد استفاده نشده را فراهم می کند
نمادها، و از تکیه کدهای دیگر به این نمادهای داخلی جلوگیری کنید. عمومی
نمادهایی که توسط فایل های منبع دیگر استفاده می شوند به اعلان های قابل مشاهده برای سایر فایل ها نیاز دارند
فایل های منبع، مانند فایل هدر. همه اعلامیه ها باید در یکی از آنها قرار گیرند
این دو دسته بنابراین، با -WdeclSparse در مورد هرگونه تعریف نماد هشدار می دهد
با هیچکدام ایستا و نه یک اعلامیه برای رفع این هشدار، خصوصی را اعلام کنید
نمادها ایستا، و مطمئن شوید که فایل هایی که نمادهای عمومی را تعریف می کنند دارای نماد هستند
ابتدا اعلامیه های موجود (مانند گنجاندن فایل هدر مناسب).

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید Wno-decl.

-اعلامیه پس از بیانیه
در مورد اعلامیه هایی که در ابتدای بلوک نیستند هشدار دهید.

این اظهارنامه ها در C99 مجاز هستند اما در C89 مجاز نیستند.

Sparse این هشدارها را به طور پیش‌فرض تنها زمانی صادر می‌کند که گویش C C89 باشد (یعنی -ansi
یا -std=c89). برای خاموش کردن آنها، استفاده کنید -Wno-اظهار-پس از بیانیه.

Wdefault-bitfield-sign
در مورد هر بیت فیلد بدون علامت صریح هشدار دهید.

فیلدهای بیتی دارای امضای پیش فرض مشخص شده استاندارد نیستند. (C99 6.7.2) Bitfield
بدون صریح امضاء شده or بدون امضا مشکل قابل حمل برای نرم افزار ایجاد می کند
که بر دامنه مقادیر موجود متکی است. برای رفع این مشکل، bitfield را مشخص کنید
تایپ کنید به عنوان امضاء شده or بدون امضا صریحاً

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

Wdesignated-init
در مورد مقداردهی اولیه سازه‌هایی که به‌عنوان نیازمند تعیین شده علامت‌گذاری شده‌اند، هشدار دهید
مقداردهی اولیه

Sparse به یک ویژگی اجازه می دهد __ویژگی__((تعیین شده_ابتدا)) که یک ساختار را به عنوان علامت گذاری می کند
نیاز به مقداردهی اولیه تعیین شده اسپارس در مورد موقعیتی هشدار می دهد
مقداردهی اولیه یک متغیر ساختار یا ساختار تحت اللفظی نوعی که دارای این است
ویژگی.

نیاز به مقداردهی اولیه تعیین شده برای یک نوع ساختار خاص، کد را عایق می کند
با استفاده از آن نوع ساختار از تغییرات به چیدمان نوع، اجتناب از نیاز به
مقداردهی اولیه را برای آن نوع تغییر دهید مگر اینکه یک حذف شده یا ناسازگار را مقداردهی اولیه کنند
تغییر زمینه

نمونه‌های رایج این نوع ساختار شامل مجموعه‌ای از نشانگرهای تابع برای
پیاده سازی یک کلاس از عملیات مرتبط، که برای آنها NULL پیش فرض است
برای یک فیلد نامبرده در یک مقداردهی اولیه مشخص شده به درستی نشان می دهد
عدم وجود آن عملیات

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید
-Wno-Designated-Init.

-Wdo-در حالی که
در مورد حلقه‌های do-while که بدنه حلقه را با بریس محدود نمی‌کنند، هشدار دهید.

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-Wenum-عدم تطابق
در مورد استفاده از عبارت نادرست هشدار دهید شمردن هنگام مقداردهی اولیه تایپ کنید
دیگر شمردن نوع، اختصاص دادن به دیگری شمردن نوع، یا ارسال یک آرگومان به a
تابعی که انتظار دیگری دارد شمردن تایپ کنید

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید -Wno-enum-عدم تطابق.

-Winit-cstring
در مورد مقداردهی اولیه یک آرایه char با یک رشته ثابت بیش از حد طولانی C هشدار دهید.

اگر اندازه آرایه char و طول رشته یکسان باشد، وجود ندارد
فاصله برای آخرین کاراکتر تهی رشته در آرایه:

char s[3] = "abc";

اگر آرایه به عنوان یک آرایه بایتی استفاده شود، نه به عنوان رشته C، این هشدار فقط نویز است.
با این حال، اگر آرایه به توابعی که با رشته C سروکار دارند مانند printf(%s) ارسال شود.
و strcmp، ممکن است مشکل ایجاد کند.

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-نشانگر برنده-تهی
در مورد استفاده از 0 به عنوان نشانگر NULL هشدار دهید.

0 دارای نوع عدد صحیح است. NULL نوع اشاره گر دارد.

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید
-بدون اشاره گر-تهی.

-Wold-Initializer
در مورد استفاده از دستور GCC قبل از C99 برای اولیه سازهای تعیین شده هشدار دهید.

C99 یک نحو استاندارد برای فیلدهای تعیین شده در ارائه می کند ساختار or اتحادیه
مقداردهی اولیه:

ساختار structname var = { .field = value };

GCC همچنین یک نحو قدیمی و غیر استاندارد برای مقداردهی اولیه تعیین شده دارد که قدیمی است
C99:

struct structname var = {field: value };

Sparse در مورد استفاده از نحو غیر استاندارد GCC برای تعیین شده هشدار می دهد
مقداردهی اولیه برای رفع این هشدار، مقداردهی اولیه تعیین شده را به استفاده از آن تبدیل کنید
نحو استاندارد C99

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید
-Wno-قدیمی آغازگر.

-Wone-bit-signed-bitfield
در مورد هر تک بیتی هشدار دهید امضاء شده فیلدهای بیتی

یک بیتی امضاء شده bitfield فقط می تواند مقادیر 0 و -1 یا با برخی از کامپایلرها داشته باشد
فقط 0 این منجر به رفتار غیرمنتظره برای برنامه هایی می شود که انتظار این توانایی را داشتند
برای ذخیره 0 و 1.

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید
-Wno-one-bit-signed-bitfield.

-Wparen-string
در مورد استفاده از یک رشته پرانتز برای مقداردهی اولیه یک آرایه هشدار دهید.

نحو استاندارد C اجازه نمی دهد یک رشته پرانتز به عنوان یک آرایه اولیه.
GCC این نحو را به عنوان یک پسوند اجازه می دهد. با -Wparen-string، Sparse هشدار خواهد داد
در مورد این نحو

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-Wptr- تفریق-دمش
هنگام کم کردن دو نشانگر به یک نوع با اندازه غیر توان از دو هشدار دهید.

با کم کردن دو نشانگر از یک نوع مشخص، تفاوتی از نظر عدد بدست می آید
از اقلام از آن نوع برای تولید این مقدار، کامپایلرها معمولاً نیاز دارند
تفاوت را بر اندازه نوع تقسیم کنید، یک عملیات بالقوه گران قیمت
برای سایزهای غیر از توان دو

کد نوشته شده با استفاده از تفریق نشانگر اغلب می تواند از روش دیگری به جای آن استفاده کند، مانند
به عنوان نمایه سازی آرایه با یک متغیر شاخص آرایه صریح، که ممکن است به کامپایلرها اجازه دهد
برای تولید کد کارآمدتر

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-باطل-باطل
اگر تابعی با نوع برگشتی void یک عبارت void را برمی گرداند هشدار دهید.

C99 این اجازه را می دهد و در برخی موارد این امکان را برای کدهای عمومی بیشتر در ماکروها فراهم می کند
که از typeof یا یک نوع به عنوان آرگومان کلان استفاده می کنند. با این حال، برخی از برنامه ها
این سبک ضعیف را در نظر بگیرید و از آن برنامه ها می توانید استفاده کنید -باطل-باطل برای دریافت اخطار
در مورد آن.

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-سایه
هنگام اعلام نمادی که بیانیه ای با همان نام را در یک سایه می اندازد، هشدار دهید
محدوده بیرونی

چنین اعلامیه هایی می تواند منجر به کدهای مستعد خطا شود.

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-Wtransparent-اتحادیه
در مورد هرگونه اعلامیه با استفاده از پسوند GCC هشدار دهید
__ویژگی__((اتحادیه_شفاف)).

Sparse به طور پیش فرض این هشدارها را صادر می کند. برای خاموش کردن آنها، استفاده کنید
-شفاف-اتحادیه.

Wtypesign
هنگام تبدیل یک اشاره گر به یک نوع عدد صحیح به یک اشاره گر به یک نوع عدد صحیح هشدار دهید
با امضای متفاوت

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

-وندف
در مورد شرایط پیش پردازنده که از مقدار undefined استفاده می کنند هشدار دهید
نماد پیش پردازنده

استاندارد C (C99 6.10.1) اجازه استفاده از مقدار نماد پیش پردازنده تعریف نشده را می دهد.
در شرایط پیش پردازنده، و مشخص می کند که مقدار آن 0 باشد.
این رفتار می تواند منجر به خطاهای ظریف شود.

Sparse به طور پیش فرض این هشدارها را صادر نمی کند.

MISC OPTIONS


-gcc-base-dir دیر
به دنبال سرصفحه های سیستم ارائه شده توسط کامپایلر بگردید دیر/شامل/ و دیر/شامل-ثابت/.

- multiarch-dir دیر
به دنبال سرصفحه های سیستم در زیر شاخه multiarch بگردید دیر. دیر نام خواهد بود
به طور معمول به شکل سه گانه گنو عادی شده هدف می باشد. (به عنوان مثال i386-linux-
gnu).

OTHER OPTIONS


-ftabstop=WIDTH
فاصله بین ایستگاه های تب را تنظیم کنید. این به پراکندگی ستون صحیح گزارش کمک می کند
اعداد در اخطارها یا خطاها اگر مقدار کمتر از 1 یا بیشتر از 100 باشد،
گزینه نادیده گرفته می شود پیش فرض 8 است.

با استفاده از خدمات onworks.net از پراکنده آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad




×
تبلیغات
❤️اینجا خرید کنید، رزرو کنید یا بخرید - رایگان است، به رایگان ماندن خدمات کمک می‌کند.