【问题标题】:Minimal static compilation in mrubymruby 中的最小静态编译
【发布时间】:2017-07-02 12:23:34
【问题描述】:

我有一个简单的例子:

#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(timetestsprintfrandom 等)

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

我该怎么做?

【问题讨论】:

  • 在编辑中,我部分猜测您的意思,语法和拼写错误使您难以理解您所写的内容。

标签: c static compilation mruby


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2012-05-02
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 2022-10-05
    • 2010-11-25
    • 1970-01-01
    • 2015-08-28
    相关资源
    最近更新 更多