CxGo adalah alat untuk menerjemahkan kode sumber C ke Go (alias transpiler, kompiler sumber-ke-sumber).
Ia menggunakan cc v3 untuk prapemrosesan dan penguraian C (tidak ada ketergantungan dentang/gcc!) dan pemeriksa tipe khusus dan lapisan terjemahan AST untuk menghasilkan keluaran terbaik.
Satu-satunya persyaratan adalah: Kode C harus dikompilasi dengan cxgo , termasuk header.
Karena itu, cxgo menggunakan beberapa trik untuk mempermudah proses ini.
TL;DR untuk tujuan proyek:
Periksa FAQ untuk pertanyaan umum lainnya tentang proyek ini.
Proyek ini bersifat eksperimental ! Jangan mengandalkannya dalam produksi dan lingkungan sensitif lainnya!
Meskipun berhasil diuji pada beberapa proyek, ini mungkin mengubah perilaku kode karena bug yang belum diketahui.
Hasil tes kompiler:
Proyek yang ditranspilasi:
go install github.com/gotranspile/cxgo/cmd/cxgo@latestatau unduh rilis terbaru dari Github.
Cara tercepat untuk mencobanya adalah:
cxgo file main.cUntuk lebih jelasnya, periksa bagian contoh kami.
Ini akan memandu Anda melalui pola penggunaan dasar serta pola penggunaan lebih lanjut (pada proyek dunia nyata).
Anda juga dapat memeriksa FAQ jika Anda mengalami masalah.
Fitur C berikut saat ini diterima oleh cxgo , namun mungkin diterapkan sebagian atau tidak diterapkan sama sekali:
static (#4)auto (#5)union dengan tata letak data yang identik dengan C (#7)packed (#8)asmcase di tempat aneh (#9)goto dilarang oleh Go (namun ada solusinya, lihat #10)setjmp (akan dikompilasi, tetapi panik saat runtime)#ifdef untuk OS/envs yang berbeda Bergabunglah dengan komunitas kami! Kami ingin mendengar kabar dari Anda!
Lihat KONTRIBUSI.
MIT