meryngii.neta

今日も新たな"ネタ"を求めて。

2014-01-01から1年間の記事一覧

CygwinのGitでエラー

何だろうこのエラーは…。 % git submodule init /usr/lib/git-core/git.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory /usr/lib/git-core/git.exe: error while loading shared libraries: ?: …

Java向けにC++クラスをラップする方法

JNI (Java Native Interface)ネタは、この記事で一応最後です。 前々回は、Javaから渡された配列や文字列を簡単に受け取る方法について述べました。配列の受け渡しに関しては、最悪だと呼び出し毎にネイティブヒープへのコピーが発生する可能性があるので、…

JNIとC++例外

JNI関連の話が続きます。 今日は短いですが、JNIとC++例外について。 最近ではAndroid NDKもC++の例外(やRTTI)に対応していて、そのおかげで例外が必要なSTLなどのライブラリを自由に使えるようになっています。しかし、Java側はC++の例外を理解してくれな…

参照カウントとバッファ再利用

C++

std::shared_ptrの参照カウントを、バッファメモリの再利用に応用できるのではないかというお話。例として、単純なリソースクラスとそれのローダを考えてみます。 #include <vector> #include <memory> #include <numeric> class Resource { public: std::size_t size() const { retur</numeric></memory></vector>…

JNIの自動リソース解放

久々に記事を書こうと思い立ったので書きます。ブログという形態が情報共有に適切なのかどうかはさておいて、小さなひらめきであっても何らかの形で記録していかなければ自分の糧にならない、と改めて感じている今日この頃です。最近Android NDKで作業する機…