仕事と子育てを両立。働くママを、もっと笑顔に!

 すみません、教えて欲しいのですが、Windows でのハンドル(HANDLE)って何でしょうか?

 マック(Macintosh)だと(たぶん)ポインタのポインタが実態です。
(メモリのガベージコレクトの為に利用されています)。
 メモリーヒープへのポインタだと思います。

 Windows でのプラットフォームで開発されている方は、どう解釈されているのでしょうか?
 Windows の世界では、どう解釈されているか、今ひとつ分かりません。
 よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

UNIXのファイルディスクリプタと同じで単なる管理番号に過ぎませんよ。

UNIXみたく0がstdinとかのルールは無いようですけど。
初期の実装ではカーネルアドレス空間でデバイス管理領域へのポインタになっているとか聞いたこともありますけど、これはセキュリティ上の観点から修正されているはずです。

実際No.1さんの仰るとおり、ハンドルの実体を考えることに意味はありません。仕様として明示されている以外の部分はOSのバージョンが変わるときにどう変わるか分かりませんし、それで動かなくなるようなコードを書いても価値がありませんから。
    • good
    • 0

Windowsの中でも、32ビットプログラミングの世界(Windows NT/95以降)では、ハンドルは本来の意味どおりあくまでハンドルであって、その実体が何かを意識することはありません。



16ビットの時代(Win16)はハンドルの実体を知らないといろいろ不便なこともありましたが、32ビット(Win32)ではハンドルの実体を知る必要が全くなく、実体が何かを知っていてもアプリケーションプログラミングの上での利点もありません。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング