プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

NOPよりコメント このエントリーをはてなブックマークに追加

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 をサポートした言語なのです。

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


プログラミング | 【2007-01-26(Fri) 10:48:10】 | Trackback:(0) | Comments:(0)
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。