問題タブ [virtualalloc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 64 ビット マシンで 32 ビット未満の VirtualAlloc アドレスを適用する
メモリに特定のスペースを割り当てる必要があり、VirtualAlloc
これに使用しています。VirtualAlloc
ただし、常に 33 ビット未満であるにもかかわらず、 が 32 ビットを超えるアドレスを返すことにますます気づきました。その結果、データをこのメモリ アドレスにコピーすると、コンピューターがクラッシュして BSOD が発生します。
64 ビットの Windows と 64 ビットの Python を使用しています。データをメモリにコピーするプログラムは 32 ビットしか扱えないのではないかと思います。VirtualAlloc
アドレスを 32 ビット以内で提供することを強制する方法はありますか?
私はPython
、具体的にはctypes
を呼び出すパッケージを使用していVirtualAlloc
ます。以下のコードを参照してください。このコードを複数回実行するとアドレスが変化するため、以下の関数を繰り返し呼び出すと最終的に 32 ビット未満のアドレスになります。ただし、問題の原因とフェイルセーフな解決策を探しています。どんな助けでも大歓迎です。
を使用して後でメモリを解放することに注意してくださいVirtualFree
。