c2go 将 C 转译为 Go开源项目

我要开发同款
匿名用户2021年04月21日
27阅读
开发技术GO语言
所属分类Google Go、开发工具
授权协议MIT

作品详情

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

此项目的目标是:

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

使用示例:

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

#include<stdio.h>intmain(){intn,c;printf("Enteranumber\n");scanf("%d",&n);if(n==2)printf("Primenumber.\n");else{for(c=2;c<=n-1;c++){if(n%c==0)break;}if(c!=n)printf("Notprime.\n");elseprintf("Primenumber.\n");}return0;}c2gotranspileprime.cgorunprime.goEnteranumber23Primenumber.

prime.go 代码如下

packagemainimport"unsafe"import"github.com/elliotchance/c2go/noarch"//...lotsofsystemtypesinGoremovedforbrevity.varstdin*noarch.Filevarstdout*noarch.Filevarstderr*noarch.Filefuncmain(){__init()varnintvarcintnoarch.Printf([]byte("Enteranumber\n\x00"))noarch.Scanf([]byte("%d\x00"),(*[1]int)(unsafe.Pointer(&n))[:])ifn==2{noarch.Printf([]byte("Primenumber.\n\x00"))}else{forc=2;c<=n-1;func()int{c+=1returnc}(){ifn%c==0{break}}ifc!=n{noarch.Printf([]byte("Notprime.\n\x00"))}else{noarch.Printf([]byte("Primenumber.\n\x00"))}}return}func__init(){stdin=noarch.Stdinstdout=noarch.Stdoutstderr=noarch.Stderr}
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论