我有一个使用 C/C++ 编写的非托管 32 位库的 C#(.NET 3.5,VS2005 Professional)应用程序。我使用的 API 是这样的:
无效*初始化(int x);
语音GetData(无效*);
当我在 Windows XP 32bit 上运行它时,这有效,但在 Windows XP64bit 上它会抛出异常:
未处理的异常:System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.BadImageFormatException:尝试加载格式不正确的程序。(HRESULT 异常:0x8007000B)在 Aktuelizator.CommonLibrary.InitializeRingBuffer(Int32 dim) 在 Aktuelizator.AktuelizatorWService.AktuelizatorWS..ctor()
当从 32 位调用时,这些非托管 DLL 在 64 位 XP 下的工作取消管理 C/C++ 中的应用程序 writetn。
有人有什么主意吗?