今日もプログラミング

IT技術とかプログラミングのこととか特にJavaを中心に書いていきます

Java

jnr-ffiでJavaからCを呼び出すときに構造体を扱いたい

構造体ポインタを引数にとるCの関数をJavaから呼び出したい 以前、jnr-ffiを使ってJavaからCのライブラリを呼び出してみた。 jnr-ffiでJavaからCを呼び出す (Windows) このときは、intとかStringなどの基本的な型しか使っていなかったが、構造体の場合はどう…

パフォーマンスとメンテナンス性で揺れるembulk-output-oracle

embulk-output-oracle embulkとはバルクでのデータ転送ツールだ。 embulk-output-oracleはそのプラグインの1つで、Oracleにデータをロードするためのものだ。 OCIの利用 OCIとは、Oracle Call Interfaceのことで、要するにOracleのネイティブライブラリAPIだ…

jnr-ffiでJavaからCのポインタを使う

jnr-ffiは、Javaから簡単にCのライブラリを呼び出せるフレームワークだ。 JNIのような煩雑なコードを書かなくてよいのがメリット。 前に記事を書いたときは、プリミティブ型とかStringしか試さなかったので、今回はそれ以外のポインタを試してみる。 Pointer…

jnr-ffiでJavaからCを呼び出す (Windows)

jnr-ffiとは? JavaからCを呼び出す、と言えばJNIだが、C側にJNI固有の処理を書いたりするので結構めんどい。 jnr-ffiというフレームワークを使うと、C側の関数をそのままJavaにマッピングして呼べるらしい。 具体的には、C側に int length(char *s) のよう…