c2go 将 C 转译为 Go开源项目

我要开发同款
匿名用户2021年04月21日
126阅读

技术信息

开源地址
https://github.com/elliotchance/c2go
授权协议
MIT

作品详情

c2go是将C转化为Go的工具。

此项目的目标是:

创建一个通用的工具,可以将C转化为Go跨平台一个可重用和可预见的工具提供快速和小巧的版本

使用示例:

下面例子是将一段C代码翻译为Go代码

#iclude<stdio.h>itmai(){it,c;pritf("Eteraumber\");scaf("%d",&);if(==2)pritf("Primeumber.\");else{for(c=2;c<=-1;c++){if(%c==0)break;}if(c!=)pritf("Notprime.\");elsepritf("Primeumber.\");}retur0;}c2gotraspileprime.cgoruprime.goEteraumber23Primeumber.

prime.go 代码如下

packagemaiimport"usafe"import"github.com/elliotchace/c2go/oarch"//...lotsofsystemtypesiGoremovedforbrevity.varstdi*oarch.Filevarstdout*oarch.Filevarstderr*oarch.Filefucmai(){__iit()varitvarcitoarch.Pritf([]byte("Eteraumber\\x00"))oarch.Scaf([]byte("%d\x00"),(*[1]it)(usafe.Poiter(&))[:])if==2{oarch.Pritf([]byte("Primeumber.\\x00"))}else{forc=2;c<=-1;fuc()it{c+=1returc}(){if%c==0{break}}ifc!={oarch.Pritf([]byte("Notprime.\\x00"))}else{oarch.Pritf([]byte("Primeumber.\\x00"))}}retur}fuc__iit(){stdi=oarch.Stdistdout=oarch.Stdoutstderr=oarch.Stderr}

功能介绍

c2go是将C转化为Go的工具。 此项目的目标是: 创建一个通用的工具,可以将C转化为Go 跨平台 一个可重用和可预见的工具 提供快速和小巧的版本 使用示例: 下面例子是将一段 C 代码翻译为 ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论