CxGo هي أداة لترجمة كود مصدر C إلى Go (المعروف أيضًا باسم transpiler، مترجم من المصدر إلى المصدر).
يستخدم cc v3 للمعالجة المسبقة للغة C وتحليلها (بدون تبعيات clang/gcc!) ومدقق نوع مخصص وطبقة ترجمة AST لتحقيق أفضل إخراج ممكن.
الشرط الوحيد هو: يجب ترجمة كود C باستخدام cxgo
، بما في ذلك الرؤوس.
ومع ذلك، يستخدم cxgo
بعض الحيل لتسهيل هذه العملية.
TL;DR لأهداف المشروع:
تحقق من الأسئلة الشائعة لمزيد من الأسئلة الشائعة حول المشروع.
المشروع تجريبي ! لا تعتمد عليه في الإنتاج والبيئات الحساسة الأخرى!
على الرغم من أنه تم اختباره بنجاح على مشاريع متعددة، إلا أنه قد يغير سلوك التعليمات البرمجية بسبب أخطاء غير معروفة حتى الآن.
نتائج اختبار المترجم:
المشاريع المنقولة:
go install github.com/gotranspile/cxgo/cmd/cxgo@latest
أو قم بتنزيل أحدث إصدار من Github.
أسرع طريقة لتجربتها هي:
cxgo file main.c
لمزيد من التفاصيل، راجع قسم الأمثلة لدينا.
سوف يرشدك عبر أنماط الاستخدام الأساسية بالإضافة إلى أنماط أكثر تقدمًا (في مشاريع العالم الحقيقي).
يمكنك أيضًا التحقق من الأسئلة الشائعة إذا كانت لديك أية مشكلات.
ميزات C التالية مقبولة حاليًا بواسطة cxgo
، ولكن قد يتم تنفيذها جزئيًا أو لا يتم تنفيذها على الإطلاق:
static
(#4)auto
(#5)union
مع تخطيط البيانات المتطابق C (#7)packed
(#8)asm
case
في أماكن غريبة (#9)goto
بواسطة Go (يوجد حل بديل، راجع رقم 10)setjmp
(سيتم تجميعه، ولكن الذعر في وقت التشغيل)#ifdef
متعددة لأنظمة تشغيل/بيئات مختلفة انضم إلى مجتمعنا! نود أن نسمع منك ردًا!
انظر المساهمة.
معهد ماساتشوستس للتكنولوجيا