http://d.hatena.ne.jp/shinichiro_h/20070125#1169729355

とかを見て、投げ出す人は多いと思います。 call printf が関数呼び出しなのはわかるけど、その前何やってるの、と思うわけです。こういう時は慣れるまでは前後に nop を入れてみることを推奨します。

    __asm__("nop");
printf("%d\n", 3);
__asm__("nop");


こんなのをコンパイルすると、
#APP
nop
#NO_APP
movl $3, 4(%esp)
movl $.LC0, (%esp)
call printf
#APP
nop
#NO_APP

うむ関数呼び出しの場所がしぼれました



とあるけど、asm文でコメントを入れるほうが複数コメント入れれて便利
かと
(アセンブラがIA64なのは見逃してくれーー)

        asm("/* ここからー */");
printf("hello world\n");
asm("/* ここまでー*/");

#APP
/* ここからー */
#NO_APP
;;
addl r36 = @ltoffx(.LC0), r1
;;
ld8.mov r36 = [r36], .LC0
br.call.sptk.many b0 = printf#
mov r1 = r35
;;
#APP
/* ここまでー*/
#NO_APP


あとそうです lambda です。 C は lambda をサポートした言語なのです。

のセリフにシビレタ。
なんでも良いから反応してみたかった。今は反省していない