• 締切済み

_USERENTRYの意味

例えば void Func(void (_USERENTRY *__Test)()); という関数と void Func(void ( *__Test)()); という関数があったとして、どちらもコンパイルできるし、動作上問題なく動いているように見えます。 _USERENTRYを付ける意味は何でしょうか?

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

処理系に依存する話になりますから使用している処理系を書きましょう(どの処理系にも_USERENTRYがあるわけではありません)。 処理系をMicrosoft Cコンパイラとして書きますが _USERENTRYはコンパイル時にプラットホームに応じて__stdcallや__cdeclなどに置き換わります。 __stdcall, __cdeclは呼出規約の指定で、指定されるものによって引数は右から左に順に渡すとか、左から右に渡すとかなどが変わります。 詳細は https://ja.wikipedia.org/wiki/%E5%91%BC%E5%87%BA%E8%A6%8F%E7%B4%84 を参照してください。

関連するQ&A