C言語」カテゴリーアーカイブ

すぐ忘れるC言語用語

ビットフィールド。概念とか書き方とかは覚えてるんだけど名前が覚えられない。まあ、使わないからな。 struct hoge { unsigned b1: 1; unsigned b2: 1; unsigned b3: 6; … 続きを読む

カテゴリー: C言語, 聞いて欲しい独り言 | コメントする

CSTLを使ってDLLを小さくするっていう話

小さいDLLを作るには下記サイトが参考になる。 http://www.geocities.co.jp/egggarden/win32api/miniexe.htm ひとつのポイントとして #pragma com … 続きを読む

カテゴリー: C言語, プログラム | コメントする

C言語でSTL的なことができるCSTLがすごい&例えばDLLを小さくする

CSTL:http://cstl.sourceforge.jp/ これはすごい。 C言語で、ヘッダだけで、STLに近いことが、STLに近い形で使える、ライブラリ。 vectorやmapが普通に使える。 C言語なのになんで … 続きを読む

カテゴリー: C言語 | コメントする

goto文が怖い

異常ケースのみgoto文を使ってエラー処理を行うっていう規約になってるんだが、エラー処理なんていっぱいあるのでgoto文を使いまくっているうちに、気がついたら「正常」にfalseを返す場合にもgoto文を使っていた。おそ … 続きを読む

カテゴリー: C言語, 聞いて欲しい独り言 | コメントする

Javaとかスクリプト言語からC言語に戻ってくると警戒しすぎて不思議に思ってしまうこと

typedef struct COPY_STRUCT {    int a;    char b[4]; &n … 続きを読む

カテゴリー: C言語 | 3件のコメント

VC2008のバッファオーバーラン?

なぜかエラーにならない。 void overrun(void) { int i = -3; int test[100]; test[i] = 1; } int _tmain(int argc, _TCHAR* argv[ … 続きを読む

カテゴリー: C++, C言語, バグ | コメントする

最大スタックを調べる

自分のプログラムがどれくらいスタックを使っているのか。なかなか見積もりにくい。もう実測するしかねえ!と思いつつ、C言語でどうしたらいいのか。プロファイラーとか使えばできるのかもしれないけど、持ってないし。というわけで、簡 … 続きを読む

カテゴリー: C言語, Tips | 1件のコメント

Cでポインタを引数に渡すときに勘違いするなよ

下のようなのはバグに近いと思うんです。 void hoge (char *text) { if (text == NULL) return; free(text); text = NULL; } いや、別にちゃんと動くし … 続きを読む

カテゴリー: C言語 | 5件のコメント

マクロの引数の文字列

コマンドプロンプトでCppUnitとかってfail時にどのテストが失敗したのかが表示されるけど、どうやってやってるのかとちょっとみてみたら、引数に#をつけてた。ほう。 #define TEST(x) {printf(“% … 続きを読む

カテゴリー: C言語 | コメントする

構造体の初期化

テイルズ オブ ヴェスペリアの体験版をダウンロード中。 C言語の構造体を初期化します。書記化します。 typedef struct Hoge { int a; int b; char *c; } Hoge; int ma … 続きを読む

カテゴリー: C言語, Tips | コメントする