Win サーバー アプリケーションを C でコーディングしました。これを .dll にコンパイルする必要があり、32 ビット マシンで 32 ビット .dll として問題なく動作します。ただし、cmake ツールを使用して 64 ビットとしてコンパイルし、同じコードを 64 ビット マシンに配置して、64 ビット用にコンパイルするように指定し、プログラムを実行すると、一部のメモリを解放する行でクラッシュします。
私の質問はこれです:これは何が原因ですか?まったく同じようにコーディングされたプログラムが、32 ビット マシンの 32 ビット バージョンではなく、64 ビット マシンの 64 ビット バージョンで空きメモリ上でクラッシュするのはなぜですか? Win 32ビットサーバーとWin 64ビットサーバーの違いはありますか.両方のタイプのWindows OSでメモリ構造の違いを取得するのを手伝ってください.
バージョン情報: Visual Studio 2010 を使用しており、2008 R2 を獲得しています