flagflag  If you want to see English page, please click "English" Button at Left.
7: 2012-02-18 (土) 21:30:04 s10037 ソース 現: 2012-09-16 (日) 16:12:45 s10037 ソース
Line 74: Line 74:
公式から落としてきたbulletのSDKを解凍すると、中にlibというフォルダがあるが中にライブラリファイルは入っていない。~ 公式から落としてきたbulletのSDKを解凍すると、中にlibというフォルダがあるが中にライブラリファイルは入っていない。~
bullet-2.xx → msvc → 2008 (自分の場合) → lib → Debug~ bullet-2.xx → msvc → 2008 (自分の場合) → lib → Debug~
 +となりにreleaseもあるんじゃね(たぶん)~
 +あんまりいじってないから知らん~
 +
を指定する~ を指定する~
~ ~
Line 80: Line 83:
**アラインメント [#nc3a80e9] **アラインメント [#nc3a80e9]
***構造体に関して [#pfeed50a] ***構造体に関して [#pfeed50a]
-たとえば +たとえば~ 
-typedef struct Hoge+typedef struct Hoge~
{ {
   int int1;    int int1;
Line 89: Line 92:
}Hoge; }Hoge;
-があったとして +があったとして~ 
-サイズがいくつになるか +サイズがいくつになるか~ 
-[obara@TandemMirror arainmento]$ ./a.out +[obara@TandemMirror arainmento]$ ./a.out ~ 
-24 +24~ 
-stHoge  0xbfde0e2c +stHoge  0xbfde0e2c ~ 
-int1      0xbfde0e2c +int1      0xbfde0e2c ~ 
-double1  0xbfde0e30 +double1  0xbfde0e30 ~ 
-char1    0xbfde0e38 +char1    0xbfde0e38 ~ 
-double2  0xbfde0e3c +double2  0xbfde0e3c ~ 
- +~ 
-ってな感じになりchar1とdouble2の間に隙間が出来た +ってな感じになりchar1とdouble2の間に隙間が出来た~ 
-これはコンパイラが勝手に境界調整(アラインメント)して適当に詰め物(パディングというらしい)を入れた +これはコンパイラが勝手に境界調整(アラインメント)して適当に詰め物(パディングというらしい)を入れた~ 
-CPUによってパディングのやり方が違うらしい +CPUによってパディングのやり方が違うらしい~ 
- +~ 
-パディングには下手に触ってはいけないらしい+パディングには下手に触ってはいけないらしい~
**malloc calloc realloc [#mae99393] **malloc calloc realloc [#mae99393]
Line 138: Line 141:
ifndef とは逆にifdefというのももある ifndef とは逆にifdefというのももある
ifndefとは逆で、ifdefは定義されていればendifまでを実行するらしい ifndefとは逆で、ifdefは定義されていればendifまでを実行するらしい
 +
 +なにやらプリコンパイル時に必要のないコードはコンパイルしないようにしているようだから、ifdefとか書いても速度は変わらないらしい
 +
 +**bitを利用したフラグ管理 [#t8bfadcf]
 +***unsignedを使う [#n460c455]
 +
 +まず
 +#define aFlag (1)~
 +#define bFlag (1 << 2)~
 +#define cFlag (1 << 3)~
 +とフラグをどのように使うかマクロ定義や定数で定義しておくとよい~
 +unsigned Flag = 0;//フラグを記録させる変数~
 +unsignedを付けないと何かで右シフトした時、補数の1がシフトしてくるかもしれない~
 +必要な関数は3つ~
 +セット、リセット、チェック~
 +void set(unsigned f)~
 +{~
 +   Flag |= f;
 +}~
 +void reset(unsigned f)~
 +{~
 +   Flag &= ~f;
 +}~
 +//~はビット反転~
 +int check(unsigned f)~
 +{~
 +   return ((Flag & f) == f)? 1 : 0;
 +}~
 +メモリの節約、可読性の向上~
 +たとえば~
 +if(check(aFlag|bFlag|cFlag))~
 +{~
 +}else~
 +{~
 +}~
 +
 +**ポインタとconst [#b0e8c424]
 +***構造体 [#oba918ac]
 +構造体~
 +typedef struct dororo{~
 +   int hoge;
 +   int tara;
 +   int pong;
 +}~
 +があるとして、
 +const dororo *a = (dororo*)malloc(sizeof(dororo) * i);~
 +という宣言をしてもメンバに値を代入できる~
 +dororoはポインタなのでconstがついていたら a=nanntyara みたいにポインタを変更することはできないが、a->hoge=100のような変更はおk
 +当然ではあるがconstは修飾した変数そのものにだけ有効である
 +
 +***javaの場合 [#vf68af87]
 +javaの場合も同様~
 +final hoge[5][5] = {
 +{1,2,3,4,5},
 +{1,2,3,4,5},
 +{1,2,3,4,5},
 +{1,2,3,4,5},
 +{1,2,3,4,5}
 +};
 +~
 +とあるとするとhogeは変更できないが、hoge[]とhoge[][]は弄る事ができる。~
 +
 +**共用体 [#uf334ffe]
 +***? [#aa9d6bfa]
 +よくわからん~
 +メモリの節約はできそうだ
 +
 +
 +**Lua [#qe15a255]
 +***今日からLuaなるスクリプトの勉学に励もうと思いました [#y00c7189]
 +LuaさんはC言語に組み込む目的でRoberto IerusalimschyさんとLuiz Henrique de FigueiredoさんとWaldemar CelesさんがC言語に組み込む事を目的としたスクリプトとして開発したっぽい~
 +ガベージコレクションはインクリメンタルGCでライセンスはMITらしい
 +
 +**luaの使い方 [#a101002d]
 +visualstudioのプロパティ→構成プロパティ→c/c++→全般→追加のインクルードディレクトリでluaのなかのincludeの追加
 +全般→リンカーで追加のライブラリディレクトリへluaのlibをを追加
 +リンカー→入力の追加の依存ファイルへlua5.1.libを追加する
 +
 +するとvisualstudioでc++にluaを使えるようになる
 +
 +**C++ [#oea30fce]
 +*** [#b573a9a8]
 +
 +**クソゲ [#e2abf5a4]
 +***フレーム [#p024da0e]
 +毎回呼ぶようなクラスにstaticなフレームを数えるunsignedを持たせておけばいいんじゃないか
 +getしてフレームを数える
 +
 +**MSVS [#yf7acc71]
 +***デバッグモード [#tc98a4c6]
 +_DEBUGが定義される
 +ifndefで囲っておけば、debugビルド時のみの処理を書ける


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

オンライン状況

70 人のユーザが現在オンラインです。 (15 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 70

もっと...

アクセスカウンタ

今日 : 1391313913139131391313913
昨日 : 7722772277227722
総計 : 2344539423445394234453942344539423445394234453942344539423445394
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com