کامپایلر کوچک c

دانشنامه عمومی

کامپایلر کوچک C. کامپایلر کوچک C ( با نام مستعار tCc, TCC یا TinyCC ) کامپایلر C پردازنده x86، X86 - 64 و ARM است که توسط فابریس بلارد ایجاد شده است. [ ۱] این کامپایلر برای کار کردن روی رایانه های کند و با فضای ذخیره سازی کم طراحی شده است ( به عنوان مثال در دیسک های نجات ) . پشتیبانی سیستم عامل ویندوز در نسخه ۰٫۹٫۲۳ ( ۱۷ ژوئن ۲۰۰۵ ) اضافه شد. TCC تحت مجوز عمومی GNU توزیع شده است. TCC ادعا می کند که کلیه استاندارد C89 / C90 ) ANSI C ) را پیاده سازی کرده است، [ ۲] بسیاری از استاندارد ISO C99، [ ۳] و بسیاری از برنامه های افزودنی GNU C از جمله زبان اسمبلی درون خطی پیاده سازی کرده است.
TCC دارای چندین ویژگی است که آن را از دیگر کامپایلرهای جریان فعلی C متمایز می کند:
• اندازه فایل آن ( حدود ۱۰۰ کیلوبایت برای قابل اجرایی x86 TCC ) و حافظه اشغالی اجازه می دهد تا مستقیماً از یک فلاپی دیسک 1. 44 M، مانند دیسک نجات استفاده شود.
• TCC در نظر گرفته شده است که بسیار سریع کد x86، x86 - 64 و ARM را تولید کند. طبق گفته Bellard، تقریباً ۹ برابر سریعتر از GCC، کامپایل، مونتاژ و پیوند کتابخانه را انجام می دهد. [ ۴]
• TCC دارای تعدادی از ویژگی های خاص زبان کامپایلر است که برای بهبود عملی آن، از قبیل حافظه اختیاری و جستجوگر محدود، برای بهبود ثبات کدها در نظر گرفته شده است.
• TCC اجازه می دهد تا برنامه ها به طور خودکار در زمان کامپایل با استفاده از یک سوئیچ خط فرمان اجرا شوند. این اجازه می دهد تا برنامه ها به عنوان یک اسکریپت پوسته تحت سیستم های مانند یونیکس اجرا شوند که از دستورات نحوی راهنمای مفسر Shebang پشتیبانی می کنند.
اگرچه کامپایلر TCC خود فوق العاده سریع است، بین اندازه کامپایلر و عملکرد کدی که TCC تولید می کند، نسبت ذاتی وجود دارد.
TCC چند بهینه سازی از قبیل انتشار مداوم برای کلیه عملیات ها را انجام می دهد، ضرب ها و تقسیم ها در صورت لزوم بهینه سازی می شوند و عملگرهای مقایسه به طور ویژه بهینه می شوند ( با حفظ حافظه پنهان ( cache ) مخصوص flagهای پردازنده ) . این کار همچنین برخی از تخصیص ثبات ساده را انجام می دهد، که از بسیاری از جفت های صرفه جویی / بار اضافی در داخل یک Statement برنامه نویسی جلوگیری می کند.
به طور کلی، ساختار TCC به جای نتایج بهینه عملکرد بر کوچک بودن تأکید می کند. TCC کدها را در یک گذر واحد برنامه تولید می کند و اکثر بهینه سازی های انجام شده توسط دیگر کامپایلرها را انجام نمی دهد. TCC هر Statement برنامه نویسی را به تنهایی گردآوری می کند، و در پایان هر بیانیه مقادیر ثبت و به پشته برگردانده می شوند و باید دوباره خوانده شود حتی اگر خط بعدی از مقادیر در رجیسترها استفاده کند ( ایجادهای ذخیره بیرونی / بار بین جفت Statement های برنامه نویسی ) . TCC فقط از برخی از ثبت های موجود استفاده می کند ( به عنوان مثال، در x86 هرگز از ebx , esi یا edi استفاده نمی کند زیرا باید در فراخوانی تابع حفظ شود ) . [ ۵]
عکس کامپایلر کوچک C
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران

بپرس