C言語

flymake で nmake

flymake で nmake が使われるようにした.単純に Visual C++ のコンパイラーを直接呼ぶより include ディレクトリとか追加できて超便利! .emacs.el .emacs.el にはこんな感じで追加するといいよ (defun flymake-nmake-init () (let* ((temp-file (flymake-i…

flymake を Visual C++ で (改)

昨日紹介した設定だと .h とかのファイルで使えないことが判明. flymake を Visual C++ で - @kei10in の日記VC のコンパイラは拡張子でファイルの種類を判断してるみたい.なので,強制的に C 言語または C++ としてコンパイルさせるオプション /TC, /TP …

flymake を Visual C++ で

まずは以下とかを参照して,flymake の基本的な設定をします. flymake (いままでこれ無しでどうやってプログラム書いてたんだろう) - にゃあさんの戯言日記 そして,以下を gcc 用の代わりに設定します. (defun flymake-vc-init () (let* ((temp-file (fly…

文字列のポインタとか配列とか文字列リテラルはややこしい

最近いろんな人が言及していたことの延長ですが,文字列の配列の初期化でつまづいたので自分なりにまとめる. まず,文字列の初期化から char *str1 = "foo"; /* (1) */ char sa1[] = "bar"; /* (2) */ char sa2[] = { 'b', 'a', 'r', '\0' }; /* (3) */ (1)…

文字列配列の長さを求めるときに間違えたこと

文字列配列の長さを求めるときに間違いを犯したよ(>_ #include <stdio.h> int main() { char *t[] = { "C", "C++", "Perl", "Python", "Ruby", "Java", "Javascript" }; printf("size of array t = %d\n", sizeof(t)); return 0; } これを実行すると % a.out size of </stdio.h>…