Skip to content

Instantly share code, notes, and snippets.

@kjunichi
Last active October 20, 2016 04:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kjunichi/635bde07580d6de4c0b5e7f66d18dd50 to your computer and use it in GitHub Desktop.
Save kjunichi/635bde07580d6de4c0b5e7f66d18dd50 to your computer and use it in GitHub Desktop.
2016/7/5

mruby-julia

making libmruby.dylib

export JULIA_DIR=/Applications/Julia-0.4.5.app/Contents/Resources/julia
libtool -dynamic -multiply_defined suppress -o libmruby.dylib mruby/build/host/lib/libmruby.a -undefined dynamic_lookup -macosx_version_min 10.11 -L$JULIA_DIR/lib/julia/ -ljulia
install_name_tool -change '@rpath/libjulia.dylib' $JULIA_DIR/lib/julia/libjulia.dylib libmruby.dylib

Check libmruby.dylib

from ctypes import *
mruby=CDLL('./libmruby.dylib',RTLD_GLOBAL)

using mruby from Julialang

mrb = ccall( (:mrb_open, "libmruby"), Ptr{Void}, ())
r = ccall( (:mrb_load_string, "libmruby"), Void, (Ptr{Void},Cstring),mrb,"puts 'Hello,World!'")
r = ccall( (:mrb_load_string, "libmruby"), Void, (Ptr{Void},Cstring),mrb,"j=Julia.new;puts j.eval('string(sqrt(2.0))')")

関連

アクセス解析タグ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment