検索結果 2 件
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: *( ( DWORD * )0 ) = 0xffffffff ;
- 返信数: 2
- 閲覧数: 2711
Re: *( ( DWORD * )0 ) = 0xffffffff ;
このコードは NULLポインタ( C言語の NULL の定義は ( void* )0 )の示すアドレスに -1( DWORD 型で 0xffffffff はILP32/LLP64 データモデルで -1 ) を代入している。 間違いがあります。 Windowsでは、DWORD型は32ビット 符号なし 整数なので、 0xffffffffが表す値は-1ではなく4294967295のはずです。 Windows Coding Conventions (Windows) すみません、確かにそうでした。定義をきちんと確認すべきでした。 実際にこのコードは何をしているのでしょうか? 推測ですが、自殺だと思い...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: *( ( DWORD * )0 ) = 0xffffffff ;
- 返信数: 2
- 閲覧数: 2711
*( ( DWORD * )0 ) = 0xffffffff ;
初めまして、takkerと申します。 このサイトに登録したのはだいぶ前ですが、初めて質問をさせていただきます。 現在自分はDXライブラリの改造を行っています( Ver 3.13dです )。 その中のメモリ関連プログラムの改造を行っていたところ、 DxMemory.cpp 444行目に以下の様なコードを見つけました。 *( ( DWORD * )0 ) = 0xffffffff ; ( 444行目のみ抜粋 メモリが破壊されていた場合の処理の一部 ) いろいろ調べた結果、このコードは NULLポインタ( C言語の NULL の定義は ( void* )0 )の示すアドレスに -1( DWORD 型...