gpt4 book ai didi

c - mruby 中的最小静态编译

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:37 26 4
gpt4 key购买 nike

我有一个简单的例子:

#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 编译器。如果可能的话,我可以只运行字节码。

我该怎么做?

最佳答案

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

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

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

关于c - mruby 中的最小静态编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42222315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com