vb.net调用vc动态库时传递数组参数应注意的问题
2015-02-08 20:21
537 查看
vb.net调用vc写的dll的时候,需要从vb.net传递数组到dll函数,在vc dll中首先malloc了空间,然后将数组参数指针指向了分配的地址,然后完成了算法,最后free,结果编译链接都无问题,但在运行的时候报错了。
通过调试dll程序,发现在free的时候报的错误,后来将malloc使用的指针先等于NULL,然后再free,程序运行ok了。
通过这个案例,可以发现当对传递的数组进行了地址操作,而又强行地释放这段空间,就会产生内存操作的错误,所以必须先使地址关系断开,然后再释放所申请的内存,才能安全地运行程序。
通过调试dll程序,发现在free的时候报的错误,后来将malloc使用的指针先等于NULL,然后再free,程序运行ok了。
通过这个案例,可以发现当对传递的数组进行了地址操作,而又强行地释放这段空间,就会产生内存操作的错误,所以必须先使地址关系断开,然后再释放所申请的内存,才能安全地运行程序。
相关文章推荐
- VB调用DLL时传递自定义类型数组参数注意
- vc++动态数组作为参数传递注意的问题
- VB调用C# DLL 传递数组参数问题
- VB调用VC++的DLL问题:原因可能是托管的PInvoke 签名与非托管的目标签名不匹配。请检查PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- 关于使用vc++调用matlab生成的dll传递数组的问题
- VB调用VC++的DLL问题:1.无法返回参数,2.找不到入口点
- C语言一级指针、二级指针、数组作为参数传递需要注意的若干问题
- VC实现一个库,并用VB(Visual Basic)来调用的方法,包括传递数组的方法
- ASP.net动态调用非托管DLL的参数传递问题
- jquery中通过ajax调用webservice传递数组参数的问题
- ASP.net动态调用非托管DLL的参数传递问题
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- vb.net 调用c++dll的 字符串传递问题
- jquery中通过ajax调用webservice传递数组参数的问题
- C#调用C/C++动态库的参数传递---数组指针的传递
- VB调用C DLL时的参数传递问题
- VB.NET调用非托管DLL组件问题(传递给系统调用的数据区域太小)
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
- asp.net(VB)传递参数时出现中文乱码的问题