忍者ブログ
  • 2024.03«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • » 2024.05
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/04/25 07:22 】 |
呼出規約の縮小(gcc)
呼出規約とは呼出側(caller)と呼び出された側(callee)の受け渡し規約のこと。

・callerの選択肢はクリーンアップするか、しないか
・calleeの選択肢はクリーンアップするか、しないか

stdcallの特徴は
・calleeはクリーンアップする
・callerはクリーンアップしない

cdeclの特徴は
・calleeはクリーンアップしない
・callerはクリーンアップする

考えてみてほしい。

callerとcalleeのどちらでクリーンアップするほうが良いか

・calleeでやる場合の特徴はクリーンアップが呼出回数に比例し
 プログラムサイズは小さくなる。

・callerでやる場合の特徴は下記のような場合、
 クリーンアップしなくてもいいという選択肢が生まれる。
 しかし、プログラムサイズは大きくなる
 func1(1)
 func2(1, 2)

拍手[0回]

PR
【2012/02/26 20:21 】 | C/C++ | 有り難いご意見(2)
SpinLock vs pthread_mutex
スピンロックって知っていますか?
ロック変数を監視してグルグルと回りながら待機するやつですね、はい。

mixiで話題になっていたので、ここでは純粋なスピンロックと
pthread_mutexのパフォーマンスを計測してみました。

拍手[0回]

【2012/01/03 13:12 】 | C/C++ | 有り難いご意見(6) | トラックバック()
emacs & gdb
今更だけど試してみました。

何気にすごい!gdbです。

<Enter> :前回と同じコマンドを実行する
n : 関数に入らずに進む
s : 関数に入って進む
bt:バックトレース(スタック表示)
wat: 変数の値が変わったら止まる
b:ブレークポイントを貼る
f : スタックを移動する
c : ブレークポイントまで進む
fin:関数の終わりまで進む
l:ソースリストを表示する

面白いのは「l」のソースリスト表示~
「l」を押す度に次の行に進んでしまって
今の場所を表示するのに「n」を押してました・・
でも、「n」を押すと1歩進んでしまうのです。。

そういうときに便利なコマンドが「f」です!
この子を押すと今いる場所に移動でき
さらに直後に「l」を押すことで今いる場所のリストを
出力してくれる。

VisualStudioよりもコマンドで出きるところがいいかも。

拍手[0回]

【2011/12/04 19:17 】 | C/C++ | 有り難いご意見(2) | トラックバック()
firefox8.0.1のmargin-topのパーセント表示のバグ
margin-topが親コンテナのHeightの何パーセントではなく

margin-topが親コンテナのWidthの何パーセントを取ってきてしまっていますね。

フィードバックを送ってみました。


firebugありがたいな。

拍手[0回]

【2011/12/03 13:53 】 | C/C++ | 有り難いご意見(0) | トラックバック()
前ページ | ホーム |

忍者ブログ [PR]