جیسیسی
![]() | |
![]() | |
توسعهدهنده(ها) | پروژه گنو |
---|---|
انتشار آزمایشی | ۷ مه ۲۰۲۰
|
مخزن | |
سیستمعامل | چندسکویی |
حجم | ۷۱٫۱ مگابایت برای tar.xz. |
مجوز | پروانه عمومی همگانی گنو |
وبگاه |
کلکسیون کامپایلرهای گنو یا «مجموعهٔ مترجمِکدهای گنو»(به انگلیسی: GNU Compiler Collection) که به اختصار GCC نیز خوانده میشود، مجموعهای از کامپایلرها برای زبانهای برنامهنویسی مختلف است که به وسیلهٔ پروژه گنو به وجود آمدهاست.
جیسیسی یکی از کلیدیترین اعضای زنجیره ابزار گنو (به انگلیسی: Gnu ToolChain) است. جی سی سی در ابتدا فقط کامپایلری استاندارد برای سیستم گنو بود ولی امروزه در بسیاری از سیستمعاملهای مشابه یونیکس از آن استفاده میشود؛ مانند گنو/لینوکس، خانواده بیاسدی، اواس ایکس. همچنین جیسیسی برای معماریهای سختافزاری مختلف نیز پورت شدهاست.[۳]
جیسیسی در اوایل سرنام کلمات GNU C Compiler بود؛ زیرا فقط توانایی کامپایل برنامههای نوشته شده به زبان C را داشت؛ که با مرور زمان قادر به ترجمه زبانهای بیشتری مانند سیپلاسپلاس، فورترن، پاسکال، جاوا، آبجکتیو سی و ایدا شد.[۴] پس از آن جی سی سی سرنام کلمات GNU Compiler Collection شد.
بنیاد نرمافزارهای آزاد جیسیسی را تحت اجازهنامه آزاد گنو (جیپیال) نسخه ۳ به انضمام استثناهای منحصر به جیسیسی منتشر کردهاست.[۵] جیسیسی نرمافزار آزاد است.[۶]
پیشینه
[ویرایش]ریچارد استالمن در تلاش برای راهاندازی سیستمعامل گنو از اندرو تننبام، نویسندهٔ کیت کامپایلر آمستردام (همچنین از آن به عنوان کین کامپایلر دانشگاه مستقل(به انگلیسی: free University) نیز یاد میشود) درخواست کرد که از کامپایلر او استفاده کند اما از آنجا که تننبام در پاسخ توضیح داد که اگرچه نام دانشگاه مستقل (آزاد) است اما کامپایلر آن نیست (بازی با کلمه free) استالمن تصمیم گرفت کامپایلر خود را بنویسد.[۷] وی نوشتن جیسیسی را در سال ۱۹۸۵ شروع کرد و در سال ۱۹۸۷ به عنوان کامپایلر پروژه گنو منتشر کرد.[۸]
ویژگیها
[ویرایش]برخی از ویژگیها و امکانات جیسیسی به قرار زیر است:
- بهینهسازی زمان پیوند هر فایل کد که کامپایل میشود یک فایل آبجکت مجزا به همراه یک فایل کمکی برای پیونددهی تولید میکند. زمانی که فایلهای آبجکت پیوند میخورند یکبار دیگر کامپایلر اجرا میشود و از فایل کمکی برای پیونددهی، برای بهینهسازی فایلهای آبجکتی که بهطور مجزا تولید شدند در سرتاسر برنامه استفاده میکند.
- افزایهها میتوانند امکانات کامپایلر را به صورت مستقیم گسترش دهند.[۹]
- حافظه تراکنشی سیپلاسپلاس زمانی که با دستور -fgnu-tm اجرا شود.[۱۰][۱۱]
پشتیبانی از سختافزارها
[ویرایش]جی سی سی معماریهای پردازندههای گوناگونی را پشتیبانی میکند. به دلیل ماهیت پروژه گنو بخش عقب بندی کامپایلر هم اسمبلری به نام گنو اسمبلر از همین پروژه است (X86).
چند معماری مهم که جی سی سی پشتیبانی میکند.
- ایکس ۸۶ (یا IA-32)
- ایکس ۶۴–۸۶
- ای وی آر
- پاور پی سی
- پی دی پی - ۱۱ (پردازندهٔ این مین فریم)
- اسپارک
- میپس[۱۲]
مجوز
[ویرایش]![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/GCC_11.1.0_compiling_Chicken_screenshot.png/220px-GCC_11.1.0_compiling_Chicken_screenshot.png)
این کامپایلر تحت مجوز گنو جیپیال نسخهٔ ۳ منتشر میشود، که یک بند استثنا برای آن در وبسایت گنو تحت عنوان GCC runtime exception یا «استثنای دورهٔ اجرای جیسیسی» تعریف شدهاست. این بند به کاربران اجازه میدهد تا قادر باشند علاوه بر نرمافزارهای آزاد، نرمافزارهای غیرجیپیال از جمله نرمافزارهای انحصاری را هم با استفاده از جیسیسی کامپایل کنند.[۵]
منابع
[ویرایش]- ↑ "GCC Releases". GNU Project. Retrieved 2019-08-12.
- ↑ "GCC 10 Release Series - GNU Project - Free Software Foundation (FSF)". gcc.gnu.org. Retrieved 2020-05-09.
- ↑ «GCC 11 Release Series - GNU Project - Free Software Foundation (FSF)». gcc.gnu.org. دریافتشده در ۲۰۲۱-۰۵-۱۱.
- ↑ «GCC Front Ends - GNU Project - Free Software Foundation (FSF)». gcc.gnu.org. دریافتشده در ۲۰۱۷-۰۱-۰۴.
- ↑ ۵٫۰ ۵٫۱ «GCC Runtime Library Exception». GNU Project. Updated: $Date: 2014/04/12 12:39:50 $. دریافتشده در ۲۳ دسامبر ۲۰۱۴. تاریخ وارد شده در
|تاریخ=
را بررسی کنید (کمک) - ↑ بنیاد نرمافزار آزاد. "کلکسیون کامپایلر گنو؛ جیسیسی". صفحهٔ اصلی جیسیسی؛ وبسایت گنو (به انگلیسی).
- ↑ William.، Von Hagen, (۲۰۰۶-۰۱-۰۱). The definitive guide to GCC. Apress. صص. XXVII. شابک ۹۷۸۱۴۳۰۲۰۲۱۹۶.
- ↑ "تاریخ توسعهٔ جیسیسی". سافتپانوراما (به انگلیسی).
- ↑ «Plugins - GNU Compiler Collection (GCC) Internals». gcc.gnu.org. دریافتشده در ۲۰۱۷-۰۱-۰۶.
- ↑ «GCC 6 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF)». gcc.gnu.org. دریافتشده در ۲۰۱۷-۰۱-۰۶.
- ↑ «TransactionalMemory - GCC Wiki». gcc.gnu.org. دریافتشده در ۲۰۱۷-۰۱-۰۶.
- ↑ «Using the GNU Compiler Collection (GCC): MIPS Options». gcc.gnu.org. دریافتشده در ۲۰۱۸-۰۸-۳۱.
Richard M. , Stallman and GCC Developer Community, 2003, Using the GNU Compiler Collection, GNU Press, www.gnupress.org, Boston, USA.10
تاریخچه | ||
---|---|---|
پروانهها | پروانه عمومی همگانی گنو · گنو الجیپیال · آفرو جیپیال · پروانه مستندات آزاد گنو · GPL linking exception | |
نرمافزارها |
| |
سخنرانان عمومی | Alexandre Oliva · Benjamin Mako Hill · Bradley M. Kuhn · ابن ماگلن · Federico Heinz · Georg C. F. Greve · Loïc Dachary · Ricardo Galli · ریچارد استالمن · Robert J. Chassell · John Sullivan | |
دیگر موضوعها |
عمومی | |
---|---|
خانوادههای سیستمعامل | AROS · بیاسدی · کانتیکی · داروین · eCos · فریداس · گنو · هایکو · اینفرنو · لینوکس · ماک · مینیکس · اپنسولاریس · پلان ۹ از آزمایشگاههای بل · ریاکتاواس · TUD:OS |
توسعه | |
تاریخچه | |
سازمانها | بنیاد نرمافزار آپاچی · اندروید · بنیاد بلندر · بنیاد اکلیپس · بنیاد فریبیاسدی · بنیاد اپنبیاسدی · بنیاد نتبیاسدی · میزکار آزاد. اوارجی · بنیاد نرمافزار آزاد (اروپا · هند · آمریکای لاتین) · جنبش نرمافزار آزاد هند · بنیاد گنوم · پروژه گنو · گوگل کد · کیدیئی ئی. وی. · بنیاد لینوکس · بنیاد موزیلا · بنیاد فضا زمین متنباز · پیشگامان متنباز · سورسفرج · بنیاد سیمبیان · بنیاد اکسایپیاف. اوارجی · بنیاد استانداردهای اکسامپیپی · بنیاد اکس. اوارجی · بنیاد نرمافزار پایتون |
پروانهها | آپاچی · بوست · اجازهنامه هنری · بیاسدی · گنو جیپیال · گنو الجیپیال · آیاسسی · امآیتی · پروانه همگانی موزیلا · اجازهنامهٔ مشترکات خلاقانه · زدلیب · پروانه همگانی اکلیپس · فهرست نرمافزارهای آزاد تأیید شده · مالکیت عمومی |
استانداردهای اجازهنامه | |
چالشها | لکه دودویی · مدیریت حقوق دیجیتال · سختافزار گرافیکی و افاواس · License proliferation · Mozilla software rebranding · نرمافزار مالکیتی · اختلافات اسسیاو لینوکس · امنیت · ثبت نرمافزار · محدودیتهای سختافزاری · محاسبات قابل اعتماد · اجازهنامهٔ ویروسی |
موضوعهای دیگر | عبارتهای جایگزین · انجمن · توزیع لینوکس · انشعاب · جنبش نرمافزار آزاد · پیمان متنباز نمودن مشخصات مایکروسافت · انقلاب اواس · مقایسه با متنبسته |
کامپایلرها |
|
---|---|
کتابخانهها |
|
امکانات |
|
فرزندان سی | |
سی و زبانهای دیگر |
|
عمومی | |
---|---|
خانوادههای سیستمعامل | AROS · بیاسدی · کانتیکی · داروین · eCos · فریداس · گنو · هایکو · اینفرنو · لینوکس · ماک · مینیکس · اپنسولاریس · پلان ۹ از آزمایشگاههای بل · ریاکتاواس · TUD:OS |
توسعه | |
تاریخچه | |
سازمانها | بنیاد نرمافزار آپاچی · اندروید · بنیاد بلندر · بنیاد اکلیپس · بنیاد فریبیاسدی · بنیاد اپنبیاسدی · بنیاد نتبیاسدی · میزکار آزاد. اوارجی · بنیاد نرمافزار آزاد (اروپا · هند · آمریکای لاتین) · جنبش نرمافزار آزاد هند · بنیاد گنوم · پروژه گنو · گوگل کد · کیدیئی ئی. وی. · بنیاد لینوکس · بنیاد موزیلا · بنیاد فضا زمین متنباز · پیشگامان متنباز · سورسفرج · بنیاد سیمبیان · بنیاد اکسایپیاف. اوارجی · بنیاد استانداردهای اکسامپیپی · بنیاد اکس. اوارجی · بنیاد نرمافزار پایتون |
پروانهها | آپاچی · بوست · اجازهنامه هنری · بیاسدی · گنو جیپیال · گنو الجیپیال · آیاسسی · امآیتی · پروانه همگانی موزیلا · اجازهنامهٔ مشترکات خلاقانه · زدلیب · پروانه همگانی اکلیپس · فهرست نرمافزارهای آزاد تأیید شده · مالکیت عمومی |
استانداردهای اجازهنامه | |
چالشها | لکه دودویی · مدیریت حقوق دیجیتال · سختافزار گرافیکی و افاواس · License proliferation · Mozilla software rebranding · نرمافزار مالکیتی · اختلافات اسسیاو لینوکس · امنیت · ثبت نرمافزار · محدودیتهای سختافزاری · محاسبات قابل اعتماد · اجازهنامهٔ ویروسی |
موضوعهای دیگر | عبارتهای جایگزین · انجمن · توزیع لینوکس · انشعاب · جنبش نرمافزار آزاد · پیمان متنباز نمودن مشخصات مایکروسافت · انقلاب اواس · مقایسه با متنبسته |
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.