CxGo เป็นเครื่องมือสำหรับแปลซอร์สโค้ด C เป็น Go (aka 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
หลายเส้นทางสำหรับ OS/envs ที่แตกต่างกัน เข้าร่วมชุมชนของเรา! เราอยากได้ยินกลับจากคุณ!
ดูการมีส่วนร่วม
เอ็มไอที