我使用 32 位 Windows,而我的助手使用 64 位。我们都使用 gcc(我专门使用 tdm-gcc。据我所知,我的助手使用 qt,它也使用 gcc)。我想以一种简单的形式编写一个非常简单的插件,.dll
供我的助手从她的应用程序内部使用。为此,我只需将我.dll
的 for windows 32(如 32 位 XP)编译为.dll
适用于 windows 64(如 win 7 或 10)。
我发现该-m64
选项可以工作。但是,当我编译它并且她链接它并尝试调用我的函数时,它显示这个应用程序和.dll
我制作的这个插件(在带有该-m64
选项的 tdm-gcc 的 32 位窗口上)静默崩溃(程序结束并且没有生成输出)。
那有什么问题?我们正在做的测试很简单,就像导出一个只返回的函数232323
并尝试在应用程序端接收和打印它 - 但仍然不起作用。我的猜测是这个 64 位.dll
是错误的(依赖步行器显示对 kernel32 的依赖,它不是 32 位特定的吗?)
-m64
除了让我的插件编译为 64 位并在那里正常工作之外,我还应该做些什么吗?