Android版には定義がない!?
変わりに、GL_CLAMP_TO_EDGEはあった。。。
2012年6月24日日曜日
VC++ => gcc 備忘録(1)
デフォルトの警告レベルで、64bit整数値定数を扱う場合
修正前:0xFFFFFFFF00000000
VSだと警告なし
gccだと警告あり
修正前:0xFFFFFFFF00000000LL
最後に"LL"つけましょう
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に出力される
インライン展開メモ
・ デストラクタを持ったクラス(構造体)を値渡しで返す関数だとインライン展開されないことがある
→ 無意味に空のデストラクタを定義するのはやめたほうがいいかも
・ inline よりも __forceinlineの方がやっぱり強力
2012年5月31日木曜日
ある構造体typeのメンバ変数memberのサイズを取得するマクロ
マクロ
#define MEMBER_SIZE_OF(type, member) sizeof(((type*)0)->member)
使用例
#define MEMBER_SIZE_OF(type, member) sizeof(((type*)0)->member
struct TestType
{
int val;
};
Uint32 valSize = MEMBER_SIZE_OF(TestType,val); // valのサイズ取得
sizeof内の式は実際には評価されないので、NULL参照とかにはなりません。
2012年5月25日金曜日
UTF8+BOM付きのファイルを右クリック新規作成で作れるようにする
基本的に、andoroid、iPhone、Windowsでソースコードを共有したいので、
レジストリエディタを開きます。
1. スタートメニューを押す
2. regeeditと入力
3. レジストリエディタ起動
4. 左ペインから.hの項目を見つけて右クリック→[新規]→[キー]で名前をShellNewにする
5. ShellNewできた
6. ShellNewを右クリック→[新規]→[文字列値]で名前をFileNameにする。FileNameをダブルクリックしてデータの値に「template.h」を入力
7 完了
右クリック-[新規作成]-[C++ Header.h]が追加されていると思います。
[C++ Header.h]をクリックすると、template.hと同じ内容のhファイルができます。
これで無事右クリック新規作成で、UTF8+BOM付きのヘッダーファイルをすぐに作成できるようになりましたー。めでたしめでたし。
cppとhファイルの文字コードはUTF8にしています。
しかし、右クリック → [新規作成] → [テキスト ドキュメント]で作成した[新しいテキスト ドキュメント.txt]をテキストエディタで開くと、大体SJISで開かれてSJISで日本語書き込まれるでしょう。
そうなると、SJISとUTF8のソースコードが混在してしまうのでよろしくありません。
なので、今回はBOM付き+UTF8のhファイルを作れるようにします。
まず、新規作成の時にテンプレートとなる、UTF8 + BOM付きのファイルを用意します。
仮に「template.h」というファイル名をつけておきます。
このファイルを、以下のアドレスのフォルダにコピー
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Templates
注) このフォルダは隠しフォルダなので、隠しフォルダの表示設定をしておいてください。( [コントロールパネル]-[フォルダーオプション]-[表示]で設定可能
テンプレートファイルの作成
まず、新規作成の時にテンプレートとなる、UTF8 + BOM付きのファイルを用意します。
仮に「template.h」というファイル名をつけておきます。
このファイルを、以下のアドレスのフォルダにコピー
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Templates
注) このフォルダは隠しフォルダなので、隠しフォルダの表示設定をしておいてください。( [コントロールパネル]-[フォルダーオプション]-[表示]で設定可能
レジスタファイルの設定
レジストリエディタを開きます。
1. スタートメニューを押す
2. regeeditと入力
3. レジストリエディタ起動
5. ShellNewできた
6. ShellNewを右クリック→[新規]→[文字列値]で名前をFileNameにする。FileNameをダブルクリックしてデータの値に「template.h」を入力
7 完了
まとめ
右クリック-[新規作成]-[C++ Header.h]が追加されていると思います。
[C++ Header.h]をクリックすると、template.hと同じ内容のhファイルができます。
これで無事右クリック新規作成で、UTF8+BOM付きのヘッダーファイルをすぐに作成できるようになりましたー。めでたしめでたし。
登録:
投稿 (Atom)