当前位置: 首页 > 软件库 > 开发工具 > >

c2go-goplus

将 C 转译为 Go
授权协议 Apache
开发语言 Google Go
所属分类 开发工具
软件类型 开源软件
地区 国产
投 递 者 翟俊茂
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

c2go 是一个将 C 代码转译为 Go 代码的项目。c2go 把整个转换过程分为这样几个步骤:

首先,用 C 语言的预处理程序(preprocessor)解决掉宏和各种预编译指令。

其次,生成的 C 代码再通过 llvm project 中的 clang 命令行进行解析(parser):

    clang -Xclang -ast-dump=json -fsyntax-only [C源文件...]

这样就得到 C 语言的抽象语法树(C AST)。接着,就是将 C AST 转为 Go AST。然后通过 Go AST 调用 go/format 这个标准库来生成 Go 源文件,最后用 Go 编译器编译它。

 相关资料
  • Go+ 是目前第一个顺应“三位一体”发展潮流的编程语言,同时兼顾工程、STEM 教育、数据科学三大领域: for engineering:致力于让工程师可以使用简洁、容易掌握的语言去工作,这在纷繁复杂的工程技术领域是非常重要的进化; for STEM education:Go+ 简单易学,非常适合作为青少年学习编程的入门语言,且能在未来的工作中的延续使用,无需切换语言; for data scie

  • c2go是将C转化为Go的工具。 此项目的目标是: 创建一个通用的工具,可以将C转化为Go 跨平台 一个可重用和可预见的工具 提供快速和小巧的版本 使用示例: 下面例子是将一段 C 代码翻译为 Go 代码 #include <stdio.h> int main(){ int n, c; printf("Enter a number\n"); scanf("%d", &n); i

  • 问题内容: 有什么工具可以将C代码转换为Java代码?我有兴趣将此代码转换为Java: 问题答案: 您是否考虑过使用JNI来代替从C到Java的转换?

  • 我试图将Python程序转换为C++,因为我对Python的理解稍微好一点。然而,翻译出来的代码并不起作用。有人能帮我一下吗?我试图用C++制作一个数独板,但它在中返回一些值,而不是其他位置。加上它们是无效的,并包含0。 这个程序的输出是一个二维数组,所有值都不在0,并且对数独板有效: 是一个长度为9的二维数组,在每个位置都有9个列出的语句。在这里,它们都被初始化为。 这个程序的输出也是一个二维数

  • 问题内容: 我有一个byte.Buffer,我使用binary.Write()函数包装了数据。然后,我需要将此字节数组发送到C函数。使用Go 1.6时,我未能成功解决这一问题。 它在调用C函数的行上失败: C函数: 我能够使以下内容正常工作,但将字节数组转换为字符串感觉不对。有一个更好的方法吗?这种方法是否会对数据产生副作用? 同样,这需要在Go 1.6(引入了更严格的cgo指针规则)下工作。 谢

  • 问题内容: 我想创建一个包含我的类的实例变量的JSON字符串。 例如, 会成为: 我研究了几个用于创建JSON的C ++库,它们似乎都异常复杂。我想要类似Javascript的东西。换句话说,只需将std :: map传递给它并接收一个字符串。该地图可能包含其他地图,向量,列表,字符串,数字和布尔值。 最好的方法是什么? 谢谢你的帮助。 编辑 我研究了以下内容: json spirit,jsonc