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)asmcase في أماكن غريبة (#9)goto بواسطة Go (يوجد حل بديل، راجع رقم 10)setjmp (سيتم تجميعه، ولكن الذعر في وقت التشغيل)#ifdef متعددة لأنظمة تشغيل/بيئات مختلفة انضم إلى مجتمعنا! نود أن نسمع منك ردًا!
انظر المساهمة.
معهد ماساتشوستس للتكنولوجيا