JNA、Rhino、JavaScriptでチャーバッファーを割り当てる
-
22-09-2019 - |
質問
Narwhalでは、JNAを使用して作成しています libc
のような呼び出し getcwd
と chdir
. 。 JNAインターフェイスに関する限られた知識でしか使用できませんでした。それは、RhinoのJavaScriptに関連しており、プリミティブのみを扱っています。チャーバッファーを割り当てる方法を知る必要があります。 getcwd
, 、そのバッファーからJavaScript文字列を取得し、おそらくバッファーを扱います。 finally
句。
これが私たちがどのようにつかむかです libc
インターフェース:
これが方法です chdir
実装されています:
これが解決策が必要なところです getcwd
RubyのソリューションまたはJNA用のその他の埋め込み言語が役立ちます。
解決
Nio.BufferまたはJNA.Pointerを使用して、出力バッファーを渡すことができます。
invokeString(new jna.Memory(4097), 4097)
getCWDは入力バッファーにchar*を返します。
より長いパスをサポートするには、オプションの長さを取ることができます
Javaでは、新しいファイル( "。")。getabsolutepath()は現在のパスを取得できます。
所属していません StackOverflow