C/C++
dagama
这个作者很懒,什么都没留下…
展开
-
关于CList对象在DLL中的使用问题
问题起源: 现有一程序和一相关动态库。 Typedef CList LISTRECT; 主程序A: A() { ---------------- LISTRECT clist; BF(&clist); clist.RemovAll(); -------------------- } 动态库B.dll 在B中定义了函数BF: __d原创 2008-04-26 14:12:00 · 1203 阅读 · 0 评论 -
GDI溢出问题
前些天,在测试程序中,发现多次使用程序时,程序变得很慢,但任务管理器显示程序内存使用并无异常,多方查证,无果;后来发现,当在程序上反复滑动鼠标时,程序变得更慢,最后竟然会进入死机状态。因此考虑是程序刷新问题,前些天看过GDI溢出问题,因此打开任务管理器,选中查看GDI对象,果然在进程页上看到看到GDI对象狂涨,最后到99999就崩溃了。 问题最后确认:在循环中反复定义了画刷句柄原创 2008-04-26 14:44:00 · 808 阅读 · 0 评论 -
关于memcpy函数
一朋友问我memcpy如何写? 初时感到愕然,C库中不是有吗? 后来才知道原来是某公司考题。查看了一下要求,呵呵,要求的已经不是原来的memcpy函数了。尝试写出,欢迎高手拍砖:#define N 4 #pragma pack(N)void *memcpyy(void* dest,const void* src,size_t n) { //判断初始指针 assert原创 2008-07-05 15:32:00 · 555 阅读 · 0 评论 -
堆栈
一、什么是堆栈 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)二、堆和栈的区别 1)、预备知识:程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1转载 2008-07-20 13:41:00 · 280 阅读 · 0 评论 -
VS2005常见的两个问题
1)、MSVCR80D.dll丢失问题问题描述:大部分的vs.net 2005的用户在新建“win32项目-windows应用程序”的时候,新建的工程都通不过去,出现如下提示:“没有找到MSVCR80D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”问题所在:由于vs.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件转载 2008-06-13 13:14:00 · 481 阅读 · 0 评论 -
内存问题和CString
继上次Clist在动态库中发生问题后,这次Cstring出现了同样的问题。看如下代码: void fun(cstring str) { } ; void main() { fun("good boy") ; ---- } 看以上函数,应无问题,但是如果fun一旦做成dll接口函数的话,此种cstring使用就会出现崩溃啦。具体原因还不是很清楚,且Debug模式崩溃,Relea原创 2008-07-01 16:41:00 · 398 阅读 · 0 评论