私はRustライブラリにconst char *
静的な文字列をCに公開し、既存のインターフェイス(特にlibrsync)と互換性を持たせたいと考えています。 CヘッダファイルはCでRust FFIに定数文字列を公開するにはどうすればよいですか?
extern char const *my_string;
を持っていることは、ライブラリは単に私が
pub static my_string: *const libc::c_char = unsafe { "hi\0" as *const libc::c_char };
のようなものを試してみたが、これは
を文句錆でchar const *my_string = "hi";
を持っているでしょうさ
error: casting `&'static str` as `*const i8` is invalid
私はそうではないようですコンパイル時の定数式ではないため、CString
などを使用してください。
ありがとうございました!それは私が探していたものであり、確かに奇妙です。私はなぜグローバルが '同期'ではないのかという質問に対してhttp://stackoverflow.com/q/33884184/243712を開いた。 – poolie