生成的DLL出现错误随笔

        大家都知道,DLL传递数据时,一定要注意数据的长度及格式(特别是跨平台调用,因为有些数据在不同平台上长度或者格式会有所差别),我在调用DLL时经常会遇到一个内存越界的问题,这个大部分原因是我的疏忽。

        内存越界,在本人的程序中一般是由于数组的越界照成的,比如调用者与被调者需要传递数组数据(定长),其中一个把数组变量长度设置为n,另一个把忘记设置长度或者设置为b(当然数据的写入方写入的长度小于接收方的长度时,往往是不会出现问题的),这时就很容易造成内存越界的错误发生。

        还有一个就是生成是的MTD -> MT切换造成的DLL调用内存分配失败(在调用MTD模式下编译出的DLL时是正确的,但是在MT模式下提示失败),一般是由于变量在使用之前没有初始化造成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值