我从mruby开始,我需要使用mrbc生成可读的.c代码。我在跟踪这篇文章:
这里提到的是:
$ mruby/bin/mrbc -Cinit_tester test_program.rb
将产生带有某些内容的test_program.c。
但是在我的机器上,当我运行这个命令时,它说:
mrbc:应该指定输出文件来编译多个文件。
然后我试着
$ mruby/bin/mrbc -Binit_tester test_program.rb它可以生成c文件,但其内容仅为字节码:
#include <stdint.h>
const uint8_t init_tester[] = {0x45,0x54,0x49,0x52,0x30,0x30,0x30,0x33,0x73,0x0d,0x00,0x00,0x00,0x65,0x4d,0x41,0x54,0x5a,0x30,0x30,0x30,0x30,0x49,0x52,0x45,0x50,0x00,0x00,0x00,0x47,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x3f,0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x06,0x00,0x80,0x00,0x3d,0x00,0x00,0x01,0xa0,0x00,0x80,0x00,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0b,0x68,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,0x6c,0x64,0x00,0x00,0x00,0x01,0x00,0x04,0x70,0x75,0x74,0x73,0x00,0x45,0x4e,0x44,0x00,0x00,0x00,0x00,0x08, };它基本上是我们在c代码中放入的mruby代码的字节码。
如果您查看可读C代码(.c)节下的blog m,实际上应该生成了c代码。
为什么mrbc不能生成可读的c代码?
发布于 2017-04-20 05:43:27
为什么mrbc不能生成可读的c代码?
嗯,mrbc是一个编译器,用来生成RiteVM理解的ruby代码的二进制格式,因此无法生成可读的C代码。
使用-v选项,您可以看到代码的AST和VM代码(我也喜欢传递-c选项,因为mrbc将生成没有它的*.mrb文件)。
https://stackoverflow.com/questions/37066161
复制相似问题