FFIにてRuby引数をC引数に変換してみる
ODEのdsSimulationLoopの引数に渡すため、文字列のArrayをC引数として扱うためには変換が必要です。
色々試して、とりあえず以下の方法なら渡せそうなのでメモします。
require 'ffi' @args = [$0, "-notex"] @argv = FFI::MemoryPointer.new :pointer, @args.size array = [] @args.each do |arg| str = FFI::MemoryPointer.new :string, arg.size str.write_string arg array << str end @argc = @args.size @argv.write_array_of_pointer array