mruby: создание читабельного кода c

Я начинаю с mruby, и мне нужно немного для создания читаемого кода.c с использованием mrbc. Я следил за этой статьей:

Здесь упоминается:

$ 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, };

Это в основном байт-код кода mruby, который мы поместили в код c.

Если вы посмотрите на блог m в разделе Readable C Code (.c), это должно было сгенерировать c code.

почему mrbc не генерирует читаемый код c?

1 ответ

почему mrbc не генерирует читаемый код c?

Что ж, mrbc это компилятор для генерации двоичного формата кода ruby ​​с пониманием RiteVM, поэтому нет способа генерировать читаемый код на Си.

Вместо -v вариант вы можете увидеть коды AST и VM вашего кода (я предпочитаю проходить -c вариант тоже mrbc будет генерировать *.mrb файлы без него) .

Другие вопросы по тегам