Cコールスタックについて理解するためにスタックをいじって遊んでみました。C言語で末尾再帰関数を呼び出す際にスタックを使い果たさないようにしてみます。gccだと-O2を付けてコンパイルすると最適化がかかって勝手にループになるみたいではありますが。関数呼び出し後のスタックに積まれている値とesp,ebpの値は以下のようになるらしいです。ESPバッファオーバーフローやoff-by-oneエラーではreturn時に復帰するリターンアドレス(returnする際に移るアドレスを変える)や呼び出し元のebp(呼び出し元関数がreturnする際に移るアドレスを変える)を書き換えることでexploitしたりするようです。0;}recur関数はリターンアドレスを書き換えることでreturnするときに第一引数に渡した関数へ制御を移します。9としているのはebpのpushとespの減算分の処理を飛ばすためです。$0x128,%espこの定数はローカル変数の領域のサイズによって変わると思われるので、汎用性は無いです。C2011年10月20日木曜日EmacsのヘルプEmacsに助けを求めるためのコマンド。apropos,find-functionあたりはよく使ってます。情報を表示するdescribe-ほげほげコマンド。色々な情報を表示してくれます。ありそうなのでEmacsLispを書くときに使いそうなものを列挙。Lispの関数や変数が定義された場所を探すコマンド。質問するapropos系コマンド。前置引数を指定すると動作を変えられるらしい。変数apropos-do-allをnil以外にセットしていると前置引数を指定したのと同じ動作になるそうです。apropos-valueapropos-valueの検索対象は評価"後"の変数の値。キーシーケンスコマンドがどのキーシーケンスに割り当てられているかを探すコマンド。同じ単語(シンボル)をハイライト表示する(マイナーモード版)最近LispといえばEmacsLispしか触っていません。この間書いたカーソル位置の単語と同じ単語をハイライト表示する機能をマイナーモードにしてみました。コードはgithubに置きました。同じ単語(シンボル)をハイライト表示するEmacsのOverlayを使ってみるテスト。カーソル位置にある単語(symbol-at-pointで取得できるもの)と同じ単語をハイライト表示させます。show-paren-modeみたいにタイマーを使ったほうが良いかも。件のコメント:2011年10月5日水曜日popup.elで右クリックのようななにかpopup.elでコマンドメニューを表示させてみます。0))))))))おまけ。コマンドのキーバインドを文字列で取得する方法。