2008-09-01から1ヶ月間の記事一覧
仕事ではじめてawk使いました。プロジェクトファイルとソースファイルを定型的に処理するスクリプト。例えばC++ソースファイルの#〜を削除するだけであればこんな感じ。 #!/bin/gawk -f BEGIN { } $1 ~ /^#/ { next; } { print($0); } END { } 実際にやった…
なんだかスレッドの調子が悪いな〜。動作が不安定。って思ってたらCreateThreadを使ってるのが原因だった。 Windowsでスレッドを作るには_beginthread,_beginthreadex,CreateThreadの3種類の関数がありますが、_beginthreadexを使うのがベターらしい。Creat…
#pragma optimize("",off) static void dummyfunc(){}//最適化抑制のための関数 #pragma optimize("",on) struct Foo { int num; Foo() { num = 0; } void inc() { ++num; dummyfunc(); } }; Foo foo; for(int Li=0;Li<1000*1000;++Li){ foo.inc(); } O2でビ…
モデルのポリゴンデータを.nutで記述するつもりなので、手始めにsquirrelのデータへのアクセスを容易にするためのオブジェクト&イテレータを実装してみた。 return { NAME="カイン" JOB="竜騎士" EQUIP=["グングニルの槍","クリスタルアーマー","リボン"] }…
呼べました。なんてあっさりと。。。スタック上の値が0だったりCCだったりしたのはポインタのサイズが違ってて4バイト以上の余り部分が初期化されていないからなんでしょうね。これをsquirrelに組み込んでみます。いままでuserpointerの自由変数でやってた…
ベクトル組み込みはできた。コンストラクタによくあるオーバーライドに関してはメソッド名を変えることでスルー。他のクラスを登録しようとしたら、キャストにミスってるらしくvfptrがあるとうまくメソッドが呼ばれない。あとちょっと。。。 2008.09.16 追記…
うちでは常套手段としてよくやるんですけど、モニタ(テスターとも言う)にチェックしてもらうときにハングアップしたときの例外ひろってそのときのメモリダンプ、コールスタックダンプなどを退避、オフラインでマップファイルからシンボルに展開してweb…
忘れてた。 class model { void setvisible(bool flag); bool isvisible() const; }; class loader { public: model& loadmodel(const char* path); }; vm.creg<model>("Model") .variable("visible",&model::isvisible,&model::setvisible); vm.creg<loader>("Loader") .fu</loader></model>…
いま仕事で作ってるゲームのビルド警告があまりに多いので1台空いてるマシンにループビルド環境を作って定期的にメールで警告一覧をプログラマ全員に送りつけるようにしてみた。しかもグループごとの警告数比較付き。 そしたらあら不思議。見る間に警告が減…
consttableの存在がよくわからんかったのでここにメモしておきます。 enum hoge { one=1, two=2, san=3, }; const uuu=11; このenumとconstはroottableやregistrytableと並列に存在するconsttableへスクリプトコンパイル時に蓄えられます。ここでわからない…
http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?rev=52&root=shive&view=rev だいぶできた。 //クラスを登録 creg<aaa>(hvm,"aaa") .function("getstatic",&aaa::getstatic) .function("somemsg",&aaa::somemsg) .function("getname",&aaa::getname) .function("</aaa>…
http://svn.sourceforge.jp/svnroot/shive/junk/diary/2008/20080906-test001.cpp 簡単なclassバインディング書いてみた。関数のオーバーロードとかちゃんとやるべきだろうか。必要になってから考えよう。メンバ変数へのアクセスも対応したいなぁ。
http://www.henshi.net/k/hiki.cgi?GoogleCppStyleGuide 例外を使わないようにしてるのは意外だった。書いてることが細かすぎる気がする。推奨だから別にいいんかな。 それはそうとは悪だ。なんでuintとかGetObjectとかdefineしとんねん。あれはいつになった…
http://svn.sourceforge.jp/svnroot/shive/junk/diary/2008/20080906-test100.nut 構文習得がてらつらつら書いてみた。luaもC++も好きなので気持ちがいいです。早くゲームに使ってみたい。 以前luaを使っていたときにもすでにcoroutine(fiber)の仕様はあった…
http://svn.sourceforge.jp/svnroot/shive/junk/diary/20080904/sqlexer.cpp ReadStringで文字列をパースしているようなので、leadbyteが来たらもう1文字を連続して読むように変更しました。ちゃんとエラーチェックしないとごみデータを渡したときにおかし…
http://subversion.tigris.org/svn_1.5_releasenotes.html#externals英語ちゃんと読んでなくて気づかなかった。subversion-1.5.xからsvn:externalsが相対パスに対応した。待ってましたよ、この機能!ようするにリポジトリ上のシンボリックリンクが使えるよう…