1

我有一个简单的例子:

#include "mruby.h"
#include <mruby/compile.h>

int main() 
{
    mrb_int i; 
    mrb_value c;
    mrb_state *mrb = mrb_open();
    char kod[] = "def suma(a,b) (a+b).to_i end";

    if (!mrb) { /* problemy */ } 
    mrb_load_string(mrb, kod);

    for(i=0; i<9; i++) 
    { 
        c = mrb_funcall(mrb, mrb_top_self(mrb), "suma",  2,
                mrb_fixnum_value(i), mrb_fixnum_value(i)); 
    }
    mrb_close(mrb);
return 0;
}

如何在没有库的情况下以静态模式编译它libmruby.a?我只想添加/src/*.c文件。

我不需要Array。没有文件访问权限,没有其他 gem ( time, test, sprintf, random, 等)

哪些文件很重要,哪些文件可以通过?我不需要 gem 编译器。如果可能的话,我只能运行字节码。

我怎样才能做到这一点?

4

1 回答 1

1

您必须在 mruby 源目录中运行rake 。您将在 build/host/lib 目录中生成 libmruby.a。(在特定架构中)

接下来,您使用-I 选项编译您的程序,并使用指定给链接器的-lmruby链接您的程序。

不可能像lua一样制作普通的静态

于 2017-02-27T14:17:55.670 回答