2013年4月7日日曜日

FLASCC備忘録①

現在、趣味ライブラリのFLASCC対応中。
まだ全然まとまってないので、ここには備忘録を記述しておきやす。

・ NULL参照余裕でクラッシュしない。余裕でアドレス0x00000000に値を書き込めた
・ FLASCC識別用マクロは「__AVM2__」
・ raise(SIGTRAP)を書いてもgdbスルー
・ g++のバージョンは4.2.1
 - ちなみにandroid-ndk-r7とnative-clientのpepper_15のg++は4.4.3、cygwinにインストールされてたのが4.5.3
 - 古いな。。。C++0xは使えない。。。
・ Flash++とリンクしだすとやばいほど重い。

いろいろと問題点を感じつつも掘り下げてみようと思います。

2012年11月25日日曜日

マルチコアプログラミングをしてると出てくる用語

ちょっと、

out-of-order対策、メモリバリア、sequential consistency関連はサンプルコードを書いて体で覚えないとダメだ。

【メモ】
・releaseバリア:先行の命令が、バリアを越えて後にリオーダーされるのを禁止。書き込み時に使われて、書き込んだ時点でその前の命令が終わっていることを保証する。
・acquireバリア:後続の命令が、バリアを越えて前にリオーダーされるのを禁止。読み込み時に使われて、読み込んだ時点でその後の命令が行われていないことを保証する。
・Sequentially-consistent:異なるメモリ位置に対する書き込みが、全てのプロセッサから同じ順序で観測されることを保証する。

2012年7月16日月曜日

Android NDKでのglVertexAttributePointerの挙動

頂点カラーのattribute変数に値を渡す時

以下のやり方(VBO利用)はWindowsのOpenGLでは問題なく動く。

glVertexAttributePointer( 1 , 4 , GL_UNSIGNED_BYTE , GL_FALSE , sizeof(vertex) , 0 );

なんか、Android NDKではうまく動かない。。。
normalizedの引数をGL_TRUEにしても変わらなかった。。。

floatはGLESではfloatで渡さないとダメ?

2012年6月24日日曜日

GL_CLAMP

Android版には定義がない!?

変わりに、GL_CLAMP_TO_EDGEはあった。。。

VC++ => gcc 備忘録(1)


デフォルトの警告レベルで、64bit整数値定数を扱う場合

修正前:0xFFFFFFFF00000000

VSだと警告なし
gccだと警告あり


修正前:0xFFFFFFFF00000000LL


最後に"LL"つけましょう


androidのAPIレベルが知りたくなったら

Android API Levels | Android Developers へ

2012年6月23日土曜日

プリプロセッサ展開後の出力


Visual C++

 1.  [プロパティ]-[構成プロパティ]-[C/C++]-[コマンドライン]画面に移動
 2. [追加オプション(D)]欄に「/C /P」を記入
   → /Cはコメント除去 /Pがプリプロセッサ出力の意味
 3. ビルド
 
 プリプロセッサ出力結果が[プロジェクト名].iファイルとして出力される


gcc
 
 gcc -E test.cpp > result.txt 

 結果が、result.txtに出力される