انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

clang-3.5 - آنلاین در ابر

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

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

برنامه:

نام


clang - کامپایلر Clang C، C++، و Objective-C

خلاصه


چنگال [-c|-S|-E] -std=استاندارد -g
[-O0|-O1|-O2|-O3|سریع|-اواس|اوز|-O|-O4]
-Wهشدارها... -پدانتیک
-Iکارگردان... -Lکارگردان...
-Dماکرو[=defn]
-fویژگی - گزینه ...
-mگزینه ماشین ...
-o فایل خروجی
-stdlib=کتابخانه
نام فایل های ورودی

شرح


چنگال یک کامپایلر C، C++ و Objective-C است که شامل پیش پردازش، تجزیه،
بهینه سازی، تولید کد، مونتاژ و پیوند. بسته به حالت سطح بالا
تنظیم تصویب شد، صدای جرنگ قبل از انجام یک پیوند کامل متوقف می شود. در حالی که صدای جرنگ بسیار است
یکپارچه، مهم است که مراحل تدوین، درک چگونگی انجام آن را درک کنید
آن را فراخوانی این مراحل عبارتند از:

راننده
La چنگال executable در واقع یک درایور کوچک است که اجرای کلی را کنترل می کند
ابزارهای دیگر مانند کامپایلر، اسمبلر و لینکر. به طور معمول شما نیازی ندارید
برای تعامل با درایور، اما شما به طور شفاف از آن برای اجرای ابزارهای دیگر استفاده می کنید.

پیش پردازش
این مرحله توکن سازی فایل منبع ورودی، گسترش ماکرو، #include را انجام می دهد
گسترش و مدیریت سایر دستورالعمل های پیش پردازنده. خروجی این مرحله است
معمولاً ".i" (برای C)، ".ii" (برای C++)، ".mi" (برای Objective-C) یا ".mii" نامیده می شود.
(برای Objective-C++) فایل.

تجزیه و معنایی تحلیل و بررسی
این مرحله فایل ورودی را تجزیه می کند و نشانه های پیش پردازنده را به درخت تجزیه ترجمه می کند.
هنگامی که به شکل درخت تجزیه کننده است، تجزیه و تحلیل معنایی را برای محاسبه انواع برای اعمال می کند
عبارات نیز و تعیین اینکه آیا کد به خوبی تشکیل شده است. این مرحله است
مسئول تولید بیشتر هشدارهای کامپایلر و همچنین خطاهای تجزیه است. در
خروجی این مرحله یک "درخت نحو انتزاعی" (AST) است.

رمز نسل و بهینه سازی
این مرحله یک AST را به کد میانی سطح پایین (معروف به "LLVM IR") ترجمه می کند و
در نهایت به کد ماشین. این فاز وظیفه بهینه سازی تولید شده را بر عهده دارد
کد و مدیریت تولید کد خاص هدف. خروجی این مرحله است
معمولاً یک فایل ".s" یا "اسمبلی" نامیده می شود.

Clang همچنین از استفاده از اسمبلر یکپارچه، که در آن تولید کننده کد است، پشتیبانی می کند
فایل های شی را مستقیماً تولید می کند. با این کار از سربار تولید فایل ".s" جلوگیری می شود
و از فراخوانی اسمبلر هدف.

همگذار
این مرحله اسمبلر هدف را اجرا می کند تا خروجی کامپایلر را به a ترجمه کند
فایل شی هدف خروجی این مرحله معمولاً فایل ".o" یا نامیده می شود
فایل "شی"

لینک دهنده
این مرحله پیوند دهنده هدف را برای ادغام چندین فایل شی در یک یا اجرایی اجرا می کند
کتابخانه پویا خروجی این مرحله معمولاً "a.out"، ".dylib" یا نامیده می شود
فایل ".so".

کامپایلر Clang از تعداد زیادی گزینه برای کنترل هر یک از این مراحل پشتیبانی می کند. که در
علاوه بر کامپایل کد، Clang از ابزارهای دیگر نیز پشتیبانی می کند:

صدای عیار ایستا آنالایزر

Clang Static Analyzer ابزاری است که کد منبع را اسکن می کند و سعی می کند اشکالات را از طریق آن پیدا کند
تجزیه و تحلیل کد این ابزار از قسمت های زیادی از Clang استفاده می کند و در همان درایور تعبیه شده است.
لطفا ببینیدhttp://clang-analyzer.llvm.org> برای جزئیات بیشتر در مورد نحوه استفاده از استاتیک
تحلیلگر.

OPTIONS


صحنه انتخاب گزینه
-E مرحله پیش پردازنده را اجرا کنید.

-fsyntax-only
مراحل پیش پردازنده، تجزیه کننده و بررسی نوع را اجرا کنید.

-S مراحل قبلی و همچنین مراحل تولید و بهینه سازی LLVM را اجرا کنید و هدف گذاری کنید
تولید کد خاص، تولید یک فایل اسمبلی.

-c تمام موارد بالا را اجرا کنید، به علاوه اسمبلر، یک فایل شی هدف ".o" ایجاد می کند.

نه مرحله انتخاب انتخاب
اگر هیچ گزینه ای برای انتخاب مرحله مشخص نشده باشد، تمام مراحل بالا اجرا می شوند و پیوند دهنده اجرا می شود
اجرا کنید تا نتایج را در یک کتابخانه اجرایی یا مشترک ترکیب کنید.

زبان انتخاب و حالت گزینه
-x زبان
فایل های ورودی بعدی را به عنوان دارای نوع در نظر بگیرید زبان.

-std=زبان
استاندارد زبانی را برای کامپایل مشخص کنید.

-stdlib=کتابخانه
کتابخانه استاندارد C++ را برای استفاده مشخص کنید. گزینه های پشتیبانی شده libstdc++ و libc++ هستند.

-ansi
مثل -std=c89.

-ObjC++
فایل های ورودی منبع را به عنوان ورودی های Objective-C++ در نظر بگیرید.

-ObjC
فایل های ورودی منبع را به عنوان ورودی های Objective-C در نظر بگیرید.

سه نمودارها
سه گراف ها را فعال کنید

-مناسب
مشخص کنید که فایل باید به صورت مستقل کامپایل شود، نه میزبان،
محیط زیست است.

-فنو ساخته شده است
غیرفعال کردن مدیریت خاص و بهینه سازی توابع داخلی مانند strlen و
مالوک

-fmath-errno
نشان دهید که توابع ریاضی باید به‌عنوان خطای به‌روزرسانی در نظر گرفته شوند.

-fpascal-strings
پشتیبانی از رشته های سبک پاسکال را با "\pfoo" فعال کنید.

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

-fmsc-version=
_MSC_VER را تنظیم کنید. به طور پیش فرض روی 1300 در ویندوز. در غیر این صورت تنظیم نشده است.

-fborland-extensions
پشتیبانی از برنامه های افزودنی Borland را فعال کنید.

-fwritable-strings
همه حروف الفبای رشته را به طور پیش فرض برای نوشتن تنظیم کنید. این یکپارچه سازی رشته ها و
بهینه سازی های دیگر

تبدیل -بردار کتان
قوانین بررسی نوع شل را برای تبدیل‌های برداری ضمنی مجاز کنید.

-fblocks
ویژگی زبان «Blocks» را فعال کنید.

-fobjc-gc-only
نشان دهید که کد Objective-C باید در حالت GC-only کامپایل شود، که فقط کار می کند
هنگامی که Objective-C Garbage Collection فعال است.

-fobjc-gc
نشان دهید که کد Objective-C باید در حالت Hybrid-GC که با آن کار می کند، کامپایل شود
هر دو حالت GC و غیر GC.

-fobjc-abi-نسخه=نسخه
نسخه Objective-C ABI را برای استفاده انتخاب کنید. نسخه های موجود 1 هستند (میراث "شکننده"
ABI)، 2 (ABI 1 غیر شکننده)، و 3 (ABI 2 غیر شکننده).

-fobjc-nonfragile-abi-version=نسخه
نسخه غیر شکننده ABI Objective-C را برای استفاده به طور پیش فرض انتخاب کنید. این فقط خواهد بود
هنگامی که ABI غیر شکننده فعال باشد (از طریق
-fobjc-nonfragile-abi، یا به این دلیل که پیش‌فرض پلتفرم است).

-fobjc-nonfragile-abi
استفاده از Objective-C غیر شکننده ABI را فعال کنید. در پلتفرم هایی که این مورد است
ABI پیش فرض، می توان آن را غیرفعال کرد -fno-objc-nonfragile-abi.

هدف انتخاب گزینه
Clang به طور کامل از کامپایل متقابل به عنوان بخشی ذاتی از طراحی خود پشتیبانی می کند. وابسته به
چگونه نسخه Clang شما پیکربندی شده است، ممکن است از تعدادی متقاطع پشتیبانی کند
کامپایلرها، یا ممکن است فقط از یک هدف بومی پشتیبانی کنند.

-ارشی معماری
معماری برای ساخت را مشخص کنید.

-mmacosx-version-min=نسخه
هنگام ساختن برای Mac OS X، حداقل نسخه پشتیبانی شده توسط برنامه خود را مشخص کنید.

-miphoneos-version-min
هنگام ساختن برای سیستم عامل آیفون، حداقل نسخه پشتیبانی شده توسط خود را مشخص کنید
نرم افزار.

-مارس=پردازنده
مشخص کنید که Clang باید برای یک عضو خانواده پردازنده خاص کد تولید کند و
بعد. برای مثال، اگر -march=i486 را مشخص کنید، کامپایلر مجاز به تولید است
دستورالعمل‌هایی که روی i486 و پردازنده‌های بعدی معتبر هستند، اما ممکن است در پردازنده‌های جدید وجود نداشته باشند
قبلی ها

رمز نسل گزینه
-O0 -O1 -O2 -O3 سریع -اواس اوز -O -O4
مشخص کنید از کدام سطح بهینه سازی استفاده کنید:

-O0 به معنای "بدون بهینه سازی": این سطح سریع ترین ها را کامپایل می کند و بیشترین تولید را دارد
کد قابل اشکال زدایی

-O1 جایی بین -O0 و -O2.

-O2 سطح متوسطی از بهینه سازی که اکثر بهینه سازی ها را امکان پذیر می کند.

-O3 پسندیدن -O2، با این تفاوت که بهینه سازی هایی را فعال می کند که انجام آنها بیشتر طول می کشد
ممکن است کد بزرگتری تولید کند (در تلاش برای اجرای سریعتر برنامه).

سریع
تمام بهینه سازی ها را فعال می کند -O3 همراه با بهینه سازی های تهاجمی دیگر
که ممکن است انطباق دقیق با استانداردهای زبان را نقض کند.

-اواس پسندیدن -O2 با بهینه سازی های اضافی برای کاهش اندازه کد.

اوز پسندیدن -اواس (و بنابراین -O2، اما اندازه کد را بیشتر کاهش می دهد.

-O معادل با -O2.

-O4 و بالاتر
در حال حاضر معادل -O3

-g اطلاعات اشکال زدایی تولید کنید. توجه داشته باشید که اطلاعات رفع اشکال Clang در بهترین حالت کار می کند -O0.

-fstandalone-debug -fno-standalone-debug
Clang از تعدادی بهینه سازی برای کاهش اندازه اطلاعات اشکال زدایی پشتیبانی می کند
باینری آنها بر اساس این فرض کار می کنند که اطلاعات نوع اشکال زدایی می تواند باشد
در چندین واحد کامپایل پخش شده است. به عنوان مثال، Clang نوع را منتشر نمی کند
تعاریف انواعی که مورد نیاز یک ماژول نیستند و می توانند با a جایگزین شوند
اعلامیه پیش رو علاوه بر این، Clang فقط اطلاعات نوع را برای کلاس C ++ پویا منتشر می کند
در ماژولی که حاوی vtable برای کلاس است.

La -fstandalone-debug گزینه این بهینه سازی ها را خاموش می کند. این زمانی مفید است که
کار با کتابخانه های شخص ثالث که اطلاعات اشکال زدایی ندارند. این است
پیش فرض داروین توجه داشته باشید که Clang هرگز اطلاعات نوع را برای انواع آن منتشر نمی کند
اصلاً توسط برنامه ارجاع داده نمی شوند.

- استثنائات
تولید اطلاعات باز کردن را فعال کنید، این اجازه می دهد تا استثناها را از بین ببرند
فریم های پشته ای کامپایل شده توسط Clang. این به طور پیش فرض در x86-64 روشن است.

-FTRAPV
کد ایجاد کنید تا خطاهای سرریز اعداد صحیح را دریافت کنید. سرریز عدد صحیح امضا شده تعریف نشده است
در C، با این پرچم، کد اضافی برای تشخیص آن ایجاد می شود و زمانی که آن را لغو می کند
اتفاق می افتد

-قابلیت مشاهده
این پرچم سطح دید پیش فرض را تعیین می کند.

-fcommon
این پرچم مشخص می کند که متغیرهای بدون مقداردهی اولیه پیوند مشترکی دارند. میتونه باشه
از کار افتاده با -fno-common.

-ftls-model
مدل پیش‌فرض thread-local storage (TLS) را برای استفاده برای متغیرهای Thread-Local تنظیم کنید.
مقادیر معتبر عبارتند از: "global-dynamic"، "local-dynamic"، "initial-exec" و "local-exec".
پیش فرض "جهانی-دینامیک" است. مدل پیش فرض را می توان با
ویژگی tls_model. کامپایلر سعی می کند مدل کارآمدتری را انتخاب کند
امکان پذیر است.

-flto -emit-llvm
تولید فایل های خروجی در قالب های LLVM، مناسب برای بهینه سازی زمان لینک. هنگام استفاده
با -S این فایل های اسمبلی زبان میانی LLVM را تولید می کند، در غیر این صورت این
فایل های شی با فرمت بیت کد LLVM را تولید می کند (که ممکن است به پیوند دهنده ارسال شود
بسته به گزینه های انتخاب مرحله).

راننده گزینه
-###
دستورات لازم برای اجرای این مجموعه را چاپ کنید (اما اجرا نکنید).

--کمک
نمایش گزینه های موجود

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

-وا،قوس
آرگومان های جدا شده با کاما را در آن قرار دهید قوس به مونتاژ کننده

-Wl،قوس
آرگومان های جدا شده با کاما را در آن قرار دهید قوس به پیوند دهنده

-Wp،قوس
آرگومان های جدا شده با کاما را در آن قرار دهید قوس به پیش پردازنده

-زانالایزر ارگ
عبور ارگ به تحلیلگر استاتیک

-Xassembler ارگ
عبور ارگ به مونتاژ کننده

-xlinker ارگ
عبور ارگ به پیوند دهنده

-Xpreprocessor ارگ
عبور ارگ به پیش پردازنده

-o پرونده
خروجی را بنویسید پرونده.

-چاپ-فایل-نام=پرونده
چاپ مسیر کتابخانه کامل پرونده.

-print-libgcc-file-name
مسیر کتابخانه "libgcc.a" را چاپ کنید.

-print-prog-name=نام
مسیر کامل برنامه را چاپ کنید نام.

-چاپ-جستجو-dirs
مسیرهای مورد استفاده برای یافتن کتابخانه ها و برنامه ها را چاپ کنید.

-Save- Temps
ذخیره نتایج کامپایل میانی

-ادغام شده-به عنوان -بدون یکپارچه-به عنوان
به ترتیب برای فعال و غیرفعال کردن استفاده از اسمبلر یکپارچه استفاده می شود. چه
اسمبلر یکپارچه به طور پیش فرض روشن است و وابسته به هدف است.

-زمان
زمان دستورات فردی

-ftime-گزارش
چاپ خلاصه زمان بندی هر مرحله از تدوین.

-v نمایش دستورات برای اجرا و استفاده از خروجی کامل.

امکانات عیب شناسی گزینه
-fshow-column -fshow-source-location -fcaret-تشخیص -fdiagnostics-fixit-info
-fdiagnostics-تجزیه پذیر-رفع -fdiagnostics-print-source-range-info
-fprint-source-range-info -fdiagnostics-show-option -fmessage-length
این گزینه ها نحوه چاپ اطلاعات مربوط به تشخیص (خطاها و
هشدارها). لطفاً برای اطلاعات بیشتر به دفترچه راهنمای کاربر Clang مراجعه کنید.

پیش پردازنده گزینه
-Dmacroname = مقدار
یک #define ضمنی به بافر predefines اضافه می کند که قبل از منبع خوانده می شود
فایل از پیش پردازش شده است

-Uنام بزرگ
یک #undef ضمنی به بافر predefines اضافه می کند که قبل از منبع خوانده می شود
فایل از پیش پردازش شده است

-عبارتند از نام فایل
یک #include ضمنی به بافر از پیش تعریف شده اضافه می کند که قبل از منبع خوانده می شود
فایل از پیش پردازش شده است

-Iفهرست راهنما
دایرکتوری مشخص شده را به مسیر جستجوی شامل فایل ها اضافه کنید.

-Fفهرست راهنما
دایرکتوری مشخص شده را به مسیر جستجو برای فایل های Framework اضافه کنید.

-nostdinc
دایرکتوری های استاندارد سیستم یا دایرکتوری های داخلی کامپایلر را جستجو نکنید
شامل فایل ها

-nostdlibinc
دایرکتوری های سیستم استاندارد را برای فایل های شامل جستجو نکنید، بلکه جستجو کنید
کامپایلر ساخته شده شامل دایرکتوری ها می باشد.

-بدون ساخته شده
دایرکتوری داخلی cang را برای فایل های شامل جستجو نکنید.

محیط زیست


TMPDIR, TEMP, TMP
این متغیرهای محیطی بررسی می شوند تا مکان به طور موقت نوشته شود
فایل های مورد استفاده در فرآیند کامپایل.

CPATH
اگر این متغیر محیطی وجود داشته باشد، به عنوان یک لیست محدود شده از مسیرها در نظر گرفته می شود
به سیستم پیش فرض اضافه شود شامل لیست مسیر. جداکننده پلت فرم است
جداکننده وابسته، همانطور که در PATH متغیر محیطی.

اجزای خالی در متغیر محیطی نادیده گرفته می شوند.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, cplus_include_path, OBJCPLUS_INCLUDE_PATH
این متغیرهای محیطی مسیرهای اضافی را مشخص می کنند، مانند CPATH که فقط هستند
هنگام پردازش زبان مناسب استفاده می شود.

MACOSX_DEPLOYMENT_TARGET
اگر -mmacosx-version-min نامشخص باشد، هدف استقرار پیش‌فرض از آن خوانده می‌شود
این متغیر محیطی این گزینه فقط بر اهداف داروین تأثیر می گذارد.

با استفاده از خدمات onworks.net از clang-3.5 به صورت آنلاین استفاده کنید


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

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

  • 1
    اس ام اس
    اس ام اس
    Usm یک بسته نرم افزاری یکپارچه است
    مدیری که خودکار را مدیریت می کند
    حل وابستگی متحد می کند
    مخازن بسته های مختلف از جمله
    ظروف شلخته، سست، ص...
    usm را دانلود کنید
  • 2
    نمودار. js
    نمودار. js
    Chart.js یک کتابخانه جاوا اسکریپت است که
    به طراحان و توسعه دهندگان اجازه می دهد تا نقاشی کنند
    انواع نمودارها با استفاده از HTML5
    عنصر بوم Chart js عالی ارائه می دهد
    آرایه ...
    Chart.js را دانلود کنید
  • 3
    iReport-Designer برای JasperReports
    iReport-Designer برای JasperReports
    توجه: پشتیبانی از iReport/Jaspersoft Studio
    اطلاعیه: از نسخه 5.5.0،
    Jaspersoft Studio رسمی خواهد بود
    مشتری طراحی برای JasperReports. من گزارش میدم
    اراده...
    دانلود iReport-Designer برای JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF همه موارد را نصب می کند
    نرم افزار فدورا لینوکس و دیگران
    به طور پیش فرض شامل نمی شود، پس از
    اجرای فدورا برای اولین بار آن
    آسان برای ...
    PostInstallerF را دانلود کنید
  • 5
    تسمه
    تسمه
    پروژه strace منتقل شده است
    https://strace.io. strace is a
    تشخیصی، اشکال زدایی و آموزشی
    ردیاب فضای کاربران برای لینوکس. استفاده شده است
    برای نظارت بر یک ...
    دانلود strace
  • 6
    gMKVExtractGUI
    gMKVExtractGUI
    یک رابط کاربری گرافیکی برای ابزار mkvextract (بخشی از
    MKVToolNix) که بیشتر (اگر
    نه همه) عملکرد mkvextract و
    ابزارهای mkvinfo. نوشته شده در C#NET 4.0،...
    gMKVExtractGUI را دانلود کنید
  • بیشتر "

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

Ad