کامپایلر قابل حمل سی

کامپایلر قابل حمل سی  یا اختصار pcc یکی از اولین کامپایلرهای زبان برنامه‌نویسی سی بود که در سال ۱۹۷۳ در آزمایشگاه‌های بل توسط استفان جانسون و بر اساس ایده‌های پیشنهاد شده توسط آلن سیندر نوشته شد. یکی از اولین کامپایلرهایی بود که به آسانی می‌توانست کدهایی برای معماری‌های مختلف را تولید کند. این کامپایلر عمری طولانی داشت؛ اولین بار در نسخه ۷ یونیکس عرضه شد. بی‌اس‌دی یونیکس هم از این کامپایلر استفاده می‌کرد تا اینکه با انتشار ۴٫۴بی‌اس‌دی در سال ۱۹۹۴ توسط کامپایلر سی گنو جایگزین شد. این کامپایلر در زمان خودش بسیار پر نفوذ بود، به طوری که در اوایل دهه ۱۹۸۰، اکثر کامپایلرهای سی بر اساس آن بودند. در سال ۲۰۰۷، آندرس ماگنوسون و پیتر جانسون توسعه پی‌سی‌سی را مجدداً آغاز کردند و آن را به‌طور قابل توجهی بازنویسی کردند تا از زبان سی۹۹ پشتیبانی کند.

 نسخه‌های فعلی 
در حال حاضر نسخه جدیدی از پی‌سی‌سی توسط آندرس ماگنوسون نگه‌داری می‌شود. این نسخه بر اساس همان نسخه اصلی است که توسط استیو جانسون نوشته شده. این کامپایلر تحت پروانه بی‌اس‌دی در دسترس است و بودجه آن توسط یک نهاد غیر انتفاعی به نام BSD Fund تأمین می‌شود. بر طبق گفته ماگنوسون:

«مزیت بزرگ این کامپایلر (علاوه بر داشتن پروانه بی‌اس‌دی) این است که این کامپایلر ۵ تا ده برابر از جی‌سی‌سی سریعتر است، در حالیکه هنوز هم کد قابل قبولی تولید می‌کند. همچنین پورت کردن آن به یک معماری دیگر بسیار آسان است»

نسخه جدید در سال ۲۰۰۷ به پکیج سورس نت‌بی‌اس‌دی و درخت پورت‌های فری‌بی‌اس‌دی و اوپن‌بی‌اس‌دی اضافه شد. همچنین نت‌بی‌اس‌دی آن را در درخت اصلی کدهای منبع خود هم قرار داده است. حدس و گمان‌هایی دربارهٔ جایگزین کردن این کامپایلر با جی‌سی‌سی در سیستم‌عامل‌های بی‌اس‌دی وجود دارد. هرچند که تئو درات عنوان کرد که پی‌سی‌سی هنوز برای جایگزین شدن با جی‌سی‌سی آماده نشده‌است و همینطور جایگزین کردن جی‌سی‌سی هم از اولویت بالایی برخوردار نیست. نسخه ۱٫۰ پی‌سی‌سی نهایتاً در اول آوریل ۲۰۱۱ منتشر شد. نسخه ۱ از معماری‌های اکس۸۶ و اکس۶۴ پشتیبانی می‌کند و بر روی فری‌بی‌اس‌دی، اپن‌بی‌اس‌دی، نت‌بی‌اس‌دی، توزیع‌های مختلف لینوکس و مایکروسافت ویندوز اجرا می‌شود. توسعه آن همچنان ادامه دارد و قرار است پشتیبانی از سی++ و فرترن ۷۷ و همچنین پشتیبانی از معماری‌های بیشتر هم اضافه شود.

 منابع 

رده:کامپایلرها و مفسرهای آزاد
رده:کامپایلرهای سی
رده:نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند
رده:نت‌بی‌اس‌دی
رده:اوپن‌بی‌اس‌دی