万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    mrubyの実行 macOS 10.12.3

    mrubyをダウンロードした。 mruby-1.2.0.tar.gz

    展開

    tar zxvf mruby-1.2.0.tar.gz

    ビルド

    cd mruby
    ruby minirake

    mrubyでコンパイル

    sample.cpp作る

    #include <stdlib.h>
    #include <stdio.h>
    #include "mruby.h"
    #include "mruby/compile.h"
    
    int main()
    {
        auto mrb = mrb_open();
        auto ai = mrb_gc_arena_save(mrb);
        mrb_load_string(mrb, "5.times.each {|i| p i * i }");
        mrb_gc_arena_restore(mrb, ai);
        mrb_close(mrb);
        return 0;
    }
    g++ -std=c++11 -Iinclude sample.cpp ../mruby/build/host/lib/libmruby.a

    ../mruby/build/host/lib/libmruby.aがないと

    Undefined symbols for architecture x86_64:
      "_mrb_close", referenced from:
          _main in sample-20efc4.o
      "_mrb_gc_arena_restore", referenced from:
          _main in sample-20efc4.o
      "_mrb_gc_arena_save", referenced from:
          _main in sample-20efc4.o
      "_mrb_load_string", referenced from:
          _main in sample-20efc4.o
      "_mrb_open", referenced from:
          _main in sample-20efc4.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)