|
|
1
6
您要么要编写一个C到Ruby的转换器,这是可能的,但这项工作可能是不合理的,要么您可以将C代码分解成更小的模块,作为第一步,您可以为这些模块创建Ruby包装器。一旦它们都用Ruby包好了,并且主控制流用Ruby完成了,您就可以编写一个测试工具(既可以验证替换代码的正确性,也可以帮助逆向工程),并开始用Ruby模块替换C模块。 如果您将模块用作本机扩展,那么Divide&Converse方法应该与常规Ruby一起使用,但如果您将JRuby之类的东西作为运行时环境,显然这将导致进一步的问题。如果您想在JRuby中根据您的评论做类似的事情,那么您将看到在JNI中包装C模块,并通过这种方式从JVM中调用。这两种方法都允许C代码与Ruby代码交互,但这两种方法不能互换。 两种方法都不会很快,而且都是 许多 工作。 |
|
|
2
1
你可以:
|
|
|
3
1
至少可以将C的一个子集转换成Ruby,但输出将是一个“类型删除”程序。 使用 universal-transpiler ,可以将此C函数转换为Ruby:
这是翻译器的输出:
|
|
|
4
0
C语言编程和Ruby语言编程都有完全不同的编程模式。所以当老话说 您可以用任何语言编写Fortran(本例中为C)代码 是的,最终通过机器翻译得到的Ruby代码根本不是Ruby,除了语法上的。 所以,imho,除了手工操作(我可能会补充说,是由熟练的鲁比派操作)之外,任何其他方法都是不可能的,或者至少根本没有用处。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |