文件名称:go2cpp:转到C ++ 20编译器
文件大小:29KB
文件格式:ZIP
更新时间:2024-02-21 20:38:41
go cxx compiler transpiler cxx20
go2cpp 编译通过C ++ 20转到本机可执行文件。 目标之一是使编译器能够自行编译。 预期的用途不是将整个现有的Go程序转换为C ++,而是帮助将其一部分移植到C ++,或者也许是从头开始编写程序并不断检查程序是否可以转换并编译为C ++。 已知的问题 目前仅适用于简单的代码示例。 Go标准库中实现的功能很少。 理想的是能够编译官方的Go标准库。 需要有关如何实施import好的计划。 特点和局限性 相当快。 易于使用。 很少依赖(用于编译go2cpp ,仅需要go编译器)。 低复杂度。 简短的源代码。 g++用于编译生成的C ++代码。 clang-format用于格式化生成的C ++代码。 用法 编译为可执行文件: go2cpp main.go -o main 输出中间的C ++ 20代码如下所示: go2cpp main.go 要求 支持C ++ 20的g++ clang-format 转换示例 输入: // Multiple return package main import ( "fmt" ) func addsub ( x in
【文件预览】:
go2cpp-master
----go.mod(42B)
----main.go(47KB)
----testcases()
--------for_range_map_key.go(254B)
--------printf.go(104B)
--------defer.go(315B)
--------for_range_list.go(113B)
--------string_args.go(155B)
--------prefix.go(197B)
--------var_zero.go(151B)
--------var_string.go(141B)
--------trimspace.go(133B)
--------var.go(185B)
--------struct.go(159B)
--------multiline_string.go(191B)
--------for_endless.go(87B)
--------output_char2.go(89B)
--------contains.go(139B)
--------for_regular.go(186B)
--------multiline_map.go(203B)
--------if.go(451B)
--------goto.go(195B)
--------types.go(233B)
--------for_range_both.go(120B)
--------string_map.go(294B)
--------map_struct.go(231B)
--------continue.go(143B)
--------hello.go(96B)
--------for_range_single.go(119B)
--------const.go(226B)
--------switch.go(204B)
--------sprintf.go(161B)
--------iota.go(93B)
--------for_range_map_value.go(257B)
--------for_range_map_key_value.go(261B)
--------multiple.go(189B)
--------output_char.go(107B)
--------var_multi.go(214B)
--------if_minus_one.go(148B)
--------var2.go(150B)
----strutils.go(517B)
----TODO.md(219B)
----.travis.yml(411B)
----LICENSE(1KB)
----main_test.go(4KB)
----README.md(4KB)
----Makefile(195B)
----examine.sh(493B)
----intutils.go(731B)
----.gitignore(22B)