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@latest
atau unduh rilis terbaru dari Github.
Cara tercepat untuk mencobanya adalah:
cxgo file main.c
Untuk 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)asm
case
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