ひとりアドベントカレンダー2015 第14日目 〜 JNI でネイティブのポインタを Java で保持するには?

14日目でございます。

Cocos2d-x など、Android で C/C++ を多用するプログラムを書く際には結構需要があるはずのこのタイトル。なぜかあまり情報がなくてどう実装すればいいのか悩んだりしませんか?主に C/C++ のオブジェクトから Java の非同期処理を呼んで、それが終わった際に元のオブジェクトのメソッドをコールバックするときなどに使いたいことがあると思います。ググればいくつか出てはくるけども、言っていることがそれぞれ違っていたり・・・今日は自分が普段行っている実装を書いてみたいと思います。

Android で JNI を使う際、ネイティブ(C/C++) のポインタを Java に渡して保持するには?

続きを読む

ひとりアドベントカレンダー2015 第11日目 〜 ビルドツールシリーズ第三弾: Rake

11日目です!

今日はビルドツールシリーズ第三弾として Rake を触ってみます。

Rake は Ruby 製のビルドツールで Make に似ています。名前も似ていますね。Make の “M” を Ruby の “R” に変えたもの、という理解でいいんですよね・・・

Rake のソースコードは Ruby gem の形で GitHub 上に公開されています:

https://github.com/ruby/rake

また、日本語の詳しい解説が

http://www2s.biglobe.ne.jp/~idesaku/sss/tech/rake/

にあります。

続きを読む

ひとりアドベントカレンダー2015 第9日目 〜 ビルドツールシリーズ第一弾: make

9日目の今日から、ビルドツールシリーズと銘打って世にあふれるいろいろなビルドツールを見ていこうと思います(予定は未定)。第一弾としてビルドツール界の大御所 make を取り上げます。

ビルドツールとは?

ソフトウェアのソースコードをコンパイル、リンクなどを経て独立したプロダクトに変換する作業を一般にビルドと言いますね。ビルドツールはビルドに必要なコンパイラなどのプログラムを制御し、統合的に扱うためのプログラムです。ビルドの手順を記したファイルなどをもとに、ソースコードを正しい手順で効率的にプロダクトに変換することを目的としています。

続きを読む