不是这样,把a.dll,a.lib,b.dll都放在同一目录,也是一样的现象,python程序里用的是cdll.LoadLibrary('b.dll'),当b.dll里面不包含a.dll里面的函数时,这个load是成功的,其它函数也能正常调用,当增加了调用a.dll的函数时,这个LoadLibrary就会失败。这点确实很诡异,不太理解为什么。
找不到函数是b.exe里可以跟踪到b.dll里的函数,但是a.dll里的函数a调用失败,调试时的错误信息就是找不到函数。
【 在 Bernstein 的大作中提到: 】
: 基本上可以确定是目录的问题,找不到a.dll,才会在加载dll阶段报错;c++的程序不就是说明这一点了吗?
: 至于“运行时调到a.dll里的函数时,找不到函数”,不明白你出了什么问题?是函数不能工作?还是调试器里跟踪不进去?后者的话,那是因为没有调试符号,很正常。
:
--
FROM 114.242.17.*