1

64ビットの物理アドレスを返す関数呼び出しを使用してメモリを割り当てました。64ビット仮想アドレスを返す関数呼び出しを使用してそのアドレスをマップしました。

ここで、Pythonで仮想アドレスが長い型の値を持つこのメモリにアクセスするためのポインタが必要です。ctypesモジュールpointer()キャストを使用してみましたが、信じられないほどのメモリにアクセスすることになります。

私はこのようにアクセスしています:

VA = Virtual address I got
VA = ctypes.c_uint64(VA)
pVA = pointer(VA)

for i in range(size):
    print pVA[i]
4

1 に答える 1

0

以下のコードは、指定されたアドレスからサイズ要素の符号なし64ビット整数配列を作成します。

arr = (ctypes.c_uint64*size).from_address(VA)
for i in arr:
    print i

参照:from_address

于 2012-12-01T23:59:25.370 に答える