3

ポインタを使用して、異なるプロセス/スレッド間でデータを交換するために使用するある種の「共有メモリ」を指定します。ここで、共有バッファーの内容の16進ダンプが必要です。誰かがそれを行う方法を知っていますか?

ありがとう、R

4

2 に答える 2

14

もちろん、キャストを使用してください:-)関数は次のようになります。

void Dump( const void * mem, unsigned int n ) {
  const char * p = reinterpret_cast< const char *>( mem );
  for ( unsigned int i = 0; i < n; i++ ) {
     std::cout << hex << int(p[i]) << " ";
  }
  std::cout << std::endl;
}

その後使用中:

Foo * f = GetSharedFoo();
Dump( f, somesize );

ここで、somesizeは、ダンプする量です。

于 2009-08-17T08:25:10.507 に答える
0

Windowsでは、を使用できますReadProcessMemory。Linuxに相当するものはわかりません。

于 2009-08-17T08:23:52.897 に答える