android NDK 備忘録

・charの型
 VisualStudio等で作ったC/C++のコードをそのまま流用するとchar型の違いで動きが変わってしまう場合がある。
  ARM gccの “char” = “unsigned char”
  VisualStudioの “char” = “signed char”
  デフォルトではそうなるらしいので今回はgccのオプション -fsigned-char を付けてあわせた。
  Android.mkに次のような感じで追加

LOCAL_CXXFLAGS += -D__ANDROID__ /
-DTARGET_OS=android /
-fsigned-char /
-isystem $(SYSROOT)/usr/include

・#pragma once
 gccも使えるらしいので使う。
 インクルードファイルの頭に次を書く。(VisualStudioが自動生成したまま)

#pragma once


・ndk-buildのオプション
 -B = リビルド(NDK-BUILD.TXTに書いてあるとおり)
 -j = マルチプロセッサー環境用設定
  -j は私の環境では効果大でした。
  こんな感じ

$ ndk-build -B -j

3/19追記:NDKr5以降どうも調子が悪い。-jの使用はあきらめました。

6/12追記:NDKr5cでは使えるようになったみたい、しばらく使ってみる。


・cygtermを使う
 スクロールとかコピペができて便利。


・C++のソースにネイティブメソッドを書くときは extern “C” { を付ける
 次のような感じで
  javahを使えば問題なかったのかも。

#include <jni.h>
#include <android/log.h>

#ifdef __cplusplus
extern "C" {
#endif


ネイティブメソッドを書く


#ifdef __cplusplus
}
#endif


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.