关闭

不要在dll或lib的导出函数以string(cstring)作返回值

这是因为string和csting采用了Copy-On-Write技术,Copy-On-Write使用了“引用计数”,这是一种内存共享机制。 假设有一个动态链接库(叫myNet.dll或myNet.so)中有这样一个函数返回的是string类: string GetIPAddress(string hostname) { static string ip; …… …… retur...
阅读(1857) 评论(0)

dll导出中函数中使用CString类型的参数引发的ESP出错

分类: C、VC/MFC J、PLC2010-05-19 22:05 551人阅读 评论(2)收藏 举报 今天下午花了很久去调试这个bug,因为自己一个dll函数参数的疏忽,导致浪费很多的时间去调试。   这个参数直接使用了CString类型,后面会造成两次析构而引发ESP出错,直接崩掉...     回来的时候,抽空分析了一下,大致过程是这样的,先写个简单的伪代码...
阅读(889) 评论(0)
    个人资料
    • 访问:382947次
    • 积分:4321
    • 等级:
    • 排名:第7398名
    • 原创:40篇
    • 转载:146篇
    • 译文:1篇
    • 评论:23条
    最新评论