关于VC++做一个DLL供VB6调用

用VC++做一个DLL供VB6调用,要求DLL返回一个整形数组(动态),请问这个DLL的大体结构应该怎么写?请随便举例写一下。谢谢!采纳后加分到50假如有如下VB代码,用... 用VC++做一个DLL供VB6调用,要求DLL返回一个整形数组(动态),请问这个DLL的大体结构应该怎么写?请随便举例写一下。谢谢!采纳后加分到50
假如有如下VB代码,用VC++如何实现:
DLL中的入口函数:
'//参数是一个动态数组a(),用户传入,处理后返回这个结果数组
function aaa(byref a() as integer)
call bbb( aa() )
end function

'//具体用于处理数组的函数
function bbb(byref aa() as integer)
'//具体处理过程不用考虑,主要问题是在VC++里过程之间怎么传递和返回数组参数
end function

初学VC++,请高手们回答时尽量描述的易懂些,谢谢。
展开
 我来答
空雪梦见
2013-05-26 · TA获得超过5598个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1200万
展开全部
说一下接口就好了吧……32位情况下
DLL直接返回指针,VB里类型用LONG,拿到的是一个LONG。
DLL再提供两个接口,一个是获取元素(比如int GetVal(int* p, int x) {return p[x];})一个是释放数组(void FreeArr(int* p) {delete[] p;})反正指针在vb里都用LONG,所有指针操作全部设计成函数给vb调用。
这样就可以获取数组、获取数据和释放数组了

如果要用com组件的方式,当然vb那边会方便很多,不过vc这边就麻烦了。com组件我不熟,提到只是提供一个思路。如果真的要做得十分体面、时间也足够的话,用com组件法吧。

关于补充:
你的数组在C++处理过程中,元素数量是固定的还是可变的?
chenbob
2013-05-25 · 超过10用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:40.7万
展开全部
vc,新建工程,win32 dll,就可以了。里面进行实现,向导会把结构给你建好的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式