我用 C 编写了一个 win 服务器应用程序。我必须将它编译成 .dll,并且作为 32 位机器上的 32 位 .dll,它运行良好。但是,当我使用 cmake 工具编译为 64 位并将相同的代码放入 64 位机器并指定它编译为 64 位时,我运行该程序时,它会在释放一些内存的行上崩溃。
我的问题是:是什么原因造成的?为什么一个代码完全相同的程序在 64 位机器上的 64 位版本的可用内存上崩溃,而不是在 32 位机器上的 32 位版本上崩溃?win 32 位服务器和 win 64 位服务器有什么区别吗?请帮助我了解两种 Windows 操作系统中内存结构的差异。
版本信息:我使用的是 Visual Studio 2010,win 2008 R2