呼出規約とは呼出側(caller)と呼び出された側(callee)の受け渡し規約のこと。
・callerの選択肢はクリーンアップするか、しないか ・calleeの選択肢はクリーンアップするか、しないか stdcallの特徴は ・calleeはクリーンアップする ・callerはクリーンアップしない cdeclの特徴は ・calleeはクリーンアップしない ・callerはクリーンアップする 考えてみてほしい。 callerとcalleeのどちらでクリーンアップするほうが良いか ・calleeでやる場合の特徴はクリーンアップが呼出回数に比例し プログラムサイズは小さくなる。 ・callerでやる場合の特徴は下記のような場合、 クリーンアップしなくてもいいという選択肢が生まれる。 しかし、プログラムサイズは大きくなる func1(1) func2(1, 2) PR |
スピンロックって知っていますか?
ロック変数を監視してグルグルと回りながら待機するやつですね、はい。 mixiで話題になっていたので、ここでは純粋なスピンロックと pthread_mutexのパフォーマンスを計測してみました。 |
今更だけど試してみました。
何気にすごい!gdbです。 <Enter> :前回と同じコマンドを実行する n : 関数に入らずに進む s : 関数に入って進む bt:バックトレース(スタック表示) wat: 変数の値が変わったら止まる b:ブレークポイントを貼る f : スタックを移動する c : ブレークポイントまで進む fin:関数の終わりまで進む l:ソースリストを表示する 面白いのは「l」のソースリスト表示~ 「l」を押す度に次の行に進んでしまって 今の場所を表示するのに「n」を押してました・・ でも、「n」を押すと1歩進んでしまうのです。。 そういうときに便利なコマンドが「f」です! この子を押すと今いる場所に移動でき さらに直後に「l」を押すことで今いる場所のリストを 出力してくれる。 VisualStudioよりもコマンドで出きるところがいいかも。 |
margin-topが親コンテナのHeightの何パーセントではなく
margin-topが親コンテナのWidthの何パーセントを取ってきてしまっていますね。 フィードバックを送ってみました。 firebugありがたいな。 |
忍者ブログ [PR] |