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
файлы без него) .