以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  32位和64位的问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=151173)

--  作者:redpoint
--  发布时间:2017/4/12 13:31:36
--  32位和64位的问题

请问一下我有一个动态链接库,在32位的金字塔下运行没问题,但是我换成64位的金字塔后,并且重新编译了这个动态链接库为64位的,但是不能用来,请问怎么解决


--  作者:王锋
--  发布时间:2017/4/13 15:23:12
--  

如果你什么都没改过,就是只是换了个编译环境,那么有可能是2个情况导致的。

1,是不是DLL编译后的目录你没找对

2,是不是你的DLL依赖其他32位的COM库了,导致加载不成功。

 

建议提供更多的一些信息给我们,正常加载后,即便是失败,也应该有个错误提示,建议告知我们。

[此贴子已经被作者于2017/4/13 15:28:37编辑过]

--  作者:redpoint
--  发布时间:2017/4/14 18:27:01
--  

有提示信息“加载这个动态库失败,错误代码193”请问老师,这个193是什么错误


--  作者:王锋
--  发布时间:2017/4/14 18:52:42
--  

不是有效的 Win32 应用程序。

建议你检查编译后的DLL是否是正常可以工作的


--  作者:redpoint
--  发布时间:2017/4/15 10:43:33
--  

这个提示是我把32位的dll放在64位的金字塔后出现的。之前这个库在32的金字塔下运行没有问题。然后现在对该dll重新进行了一次64位的编译后,再放在64位的金字塔下运行,系统没有任何反应,也不提示错误,但是功能完全丧失,请问老师,对原来的32位的源代码要做什么修改才行?或者说原来的代码完全不能用,只能重写64位的dll?


--  作者:马良
--  发布时间:2017/4/15 14:24:01
--  
你可以自己先写一个64位的exe程序看看能否顺利调用里面的函数调试一下