基础知识
文章平均质量分 67
dananhai
这个作者很懒,什么都没留下…
展开
-
动态库中模版类的导出问题综述
动态库中模版类的导出问题综述作者:lovebzhou lovebzhou@gmail.com 2006-11-16摘要:模版是OO的另一种解决之道,增加了效率与类型安全。动态库作为模块和组件的载体,增加了应用配置的灵活性。本文记录了动态库中导出模版类的相关问题,但并未作过深的讨论,其中涉及了STL和ACE的相关内容,但他们无关紧要。关键字:动态库、模版类、导入、导出、对象工厂问题描原创 2006-11-16 11:49:00 · 1976 阅读 · 0 评论 -
多线程编程的一点讨论
本来列下如下题目甚至更多,没有时间去整理。 简单说说吧: 一、线程带来的好处是低计算任务环境中的快速响应(如:GUI)和多CPU的充分利用,妄想通过多线程让许多计算量大的任务在单CPU上提速,那是笑话。 二、同步:只要明白了为什么要同步,那多线程就没什么难的了。换个角度,把共享数据作成线程安全的后,也就没有了线程难控的一些问题。搜索Monitor模式解决线程间共享数据一致原创 2006-08-18 10:26:00 · 919 阅读 · 0 评论 -
理解数据对齐
为什么会产生数据对齐问题 8位CPU 当然不会产生数据对齐问题,当CPU发展到16,32位时,因为CPU的一次内存访问就能取回4个byte(且用32位举例,这个数据理所当然的缓存在相应的32位寄存器中)——里面可能存储了4个1byte的数据,也可能存储了2个2byte的数据……,所以CPU在逻辑上将内存单元寻址地址边界设置为4的倍数(如:0,4,8,12……),这是数据对齐产生的必要条件之一原创 2006-08-17 16:41:00 · 7574 阅读 · 0 评论 -
VS2005是是非非(一)——CString
引言 VS2005 对很多人来讲很陌生,它也是引发非议很多的IDE,大致罗列一下: 他对C++标准和C++模版的支持很好,如:for(int i; i 它的编译报错是众多编译器中非常友好的,优化之类那是自然的了(不太清楚,不敢妄言)。 占用内存过多,启动太慢。 与老版本程序兼容不好,很多系统库做了改进,如:MFC,ATL。 VS200原创 2007-07-17 17:16:00 · 2280 阅读 · 0 评论 -
VC(.NET) 工程配置及工具使用
问题解决: 1 )VS2005 Debug状态调试会遇到MSVCR80D.dll未找到错误? Property Pages||Configuration Properties||Manifest Tool||Use FAT32 work-around设置为Yes。 2) VS2005去除UNICODE(ACE_INET_Addr::addr_to_strin原创 2007-05-17 17:45:00 · 1146 阅读 · 0 评论 -
内存泄露检测
内存泄露是许多大规模程序中亟待解决的问题,下面是一点资料整理,帮我记忆吧。有VC自带的工具,也有免费的比较成熟的工具。控制台程序编译即可看到效果。// = MemoryLeakDetect.cpp/// 去掉注释观察VS2005自带内存检测工具效果//#define DEFAULT_CRGDBG_MEM_CHECK#ifndef DEFAULT_CRGDBG_MEM_C原创 2007-06-05 16:04:00 · 1974 阅读 · 0 评论 -
调试中不能正确引入符号表
问题 调试包含其他库(如:MFC、ACE、MYSQL)的工程时,常常会遇到无法找到符号表的情况。这种情况下你就无法观察到程序的运行时堆栈,变量内容等信息。原因 符号表(VC、.NET中*.pdb文件)文件没有正确引入。来龙去脉 可执行文件(*.exe和*.dll)和静态库的调试版本中包含符号表文件的路径,而符号表文件则包含相应符号的源文件路径等原创 2007-06-06 14:01:00 · 1259 阅读 · 0 评论 -
关于字符编码问题
问题 无论出于什么原因你都不可能避免接触到UNICODE和其它的字符编码,比如不同系统API调用、其他函数库的引入、COM等等。所以在编写Windows(或其他)程序时运用一点点技巧无疑会减少很多不必要的麻烦。在调用涉及字符操作的API时你可能会遇到下面问题: 函数调用需要wchar_t*或者char*字符参数。 函数无法导入XXX(wchar_t*,原创 2007-06-05 11:38:00 · 1035 阅读 · 0 评论 -
算术表达式二叉树表示
这是在学校时作为一个热心人在CSDN论坛上解决的一个问题,最近用到了这个算法,重写看来是有难度了,之前没留过这些代码,好在论坛上还能搜到。看看以前写的代码,很有意思啊:)还是留在我的地盘比较放心,copy/paste一下吧。算法是那么回事,程序很多毛病啊/** * 假设输入的中缀表达式为: * (a+b)*((c+d)*e+f*h*g) * * 1)以二叉链表的存储结构创建一棵。 * 2原创 2008-03-17 11:40:00 · 15002 阅读 · 4 评论