现在我用VB6.0 封装C语言API接口, 现在的情况是, 我VB调用到C 的一个函数的时候, 调试的时候到执行return 0这行,就有报下面那这个错误
> kernel32.dll!7c84a703()
[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]
oleaut32.dll!775f4341()
VBA6.DLL!0fa9fcf7() 因为我申请了好多结构体,并且是有嵌套的, 我发现我如果去掉了2个结构体就不报这个错误,是不是申请的所有的结构体占用的总的大小是有限制的? 有的话能不能改大一点。或者有其他原因造成的,请高手指点啊拜托啦
> kernel32.dll!7c84a703()
[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]
oleaut32.dll!775f4341()
VBA6.DLL!0fa9fcf7() 因为我申请了好多结构体,并且是有嵌套的, 我发现我如果去掉了2个结构体就不报这个错误,是不是申请的所有的结构体占用的总的大小是有限制的? 有的话能不能改大一点。或者有其他原因造成的,请高手指点啊拜托啦
(比如a()调用了b(),b()调用了c(),c()调用了d(),d()函数中出错了,你会看到
>模块名.d() d的地址
c ...
b ...
a ...
这就是一个调用堆栈)所以单单就你的描述无法判断是什么错误。
也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
即可很方便地让A、B两种语言之间协调工作。