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

VC++でメモリリークを発見する

やっぱり肩こりはいやだ・・・。 VCを用いている場合、crtdbg.hを使えば簡単にCやC++のメモリリークを発見することができる。 (以上既報) やり方は簡単です。 #define _CRTDBG_MAP_ALLOC … 続きを読む

カテゴリー: C++, C言語, バグ | 4件のコメント

キャストでミスアラインメント

組み込みとかはミスアラインメントがやばい。 int a; char *b; b = (char *)&a; これはやばい。intからcharへのキャストはミスアラインメントが起こる可能性がある。逆は特に問題ない(気がする … 続きを読む

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

乱数のメモ

ある範囲の乱数を作成する場合、PHPならメルセンスツイスターというアルゴリズムを利用したmt_rand()を使えるので困らない。たぶん。 しかし、Cだと困る。例えば0~100の乱数を作りたい場合、 int num; nu … 続きを読む

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

インクリメントはインプリメント依存

o-taki氏からのタレコミです。 まずはC言語。 問題のコードは下記です。 #include <stdio.h> int main(int argc, int&nbs … 続きを読む

カテゴリー: C言語, Perl, バグ | 13件のコメント

バイナリサーチ

バイナリサーチ(2分探索)ってのがあります。ソートされたデータから高速に値を検索できます。O(log(N))です。 Cでも標準ライブラリ的にあるし、JavaでもArraysクラスにあったりするわけです。 が、これらのバイ … 続きを読む

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

ソートソーターソーテスト

ソートを考えてみる。 C: #include <stdlib .h> void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const … 続きを読む

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

たまのCはビタミンが足りない

void function(std::vector a) { for (int i = 0; i < a.size() – 1; i++) { // 処理 yabee(a.at(i)); } } 上のはやばい感じで … 続きを読む

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

字句解析

cygwinでflexを使ったら、gccは-llオプションではなくて -lflにするといいっぽい。 yywrapを定義せぇってことかも知らんが。 キーワード: yacc,lex,flex,bison,リンク,リンカ,コン … 続きを読む

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

省略

C言語って int a(); b(); main(void) { a(); b(1,2); return 1; } int a() { printf(“a\n”); return 0; } b(int c) { prin … 続きを読む

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