1
私はgccを使ってLinuxのCプログラムでRust .soライブラリを動的にリンクしようとしています。エラーなしで唯一のdlopen
とdlclose
結果を使用して、私は次のコードでセグメンテーションフォールトを取得:CでRustライブラリを動的に読み込む方法は?
char * (*my_function)(char *);
char *my_input_string = "foo";
//...abbreviated code...
my_function = dlsym(handle, "my_function");
char *my_output_string = (*my_function)(my_input_string);
ことが重要ならば、私は、コンパイルするgcc -g foo.c -ldl -o foo
を使用しています。
私はさびライブラリで#[no_mangle]
を使用してmy_function
ポインタが
'my_function'のRust署名とは何ですか? – malbarbo
@malbarbo 'pub extern" C "fn my_function(my_string:* const c_char) - > * const c_char'です。 –