0

特定のメモリアドレスに保存されているものを印刷することはできますか? たとえば、アドレス 0x7FFFFF0 に何が格納されているかを知りたいとします。どうすればいいですか?事前にアドレスに何が格納されているかわかりません。int または char または null ターミネータの可能性があります。

4

1 に答える 1

2

環境によっては、単純にポインターを宣言して逆参照できる場合があります。

volatile unsigned int *p = (volatile unsigned int *)0x7FFFFF0;
printf("%u\n", *p);

もちろん、この操作では、プログラムにそのメモリへのアクセス許可が必要です。走行距離は、オペレーティング システムや環境によって異なる場合があります。

意味的に言えば、そのメモリが何を表しているかを理解するためにさらに作業を行ってから、そのコンテキストで関心のあるバイトを抽出しなければ、実行時に型情報を抽出することはできません。

于 2013-05-27T17:48:06.300 に答える