
编程心得
文章平均质量分 58
adrianx
这个作者很懒,什么都没留下…
展开
-
关于COM中智能指针的一些建议.
在使用ATL中所带智能指针CComPtr和CComQIPtr时要小心。以下代码假设存在一个组件TESTCOMPtr,其组件的CLSID为CLSID_TESTCOMPtr,向客户曝露一个接口ITestCOMPtr。int main(){ HRESULT l_hr; CoInitialize(NULL); CComPtr l_spTestCOMPtr; l_hr = l_sp原创 2002-08-17 10:12:00 · 1379 阅读 · 0 评论 -
C++实现单件的初探
在《设计模式》中有一个叫做单件(Sigleton)的模式,是用来控制创建唯一对象。书中只讲到了如何建立Singleton对象,对于如何来销毁此对象则只字不提。但是对象生命的管理对于C++程序员来说是多么的重要呀。或许Singleton只是属于创建模式的一种,大师们认为在这里不应涉及到“销毁模式”。有人认为Sinleton是应该在程序的退出的时候销毁的。但是退出应该是在什么时候呢。请看如下代码:假设原创 2002-09-05 09:04:00 · 1215 阅读 · 0 评论 -
C/C++关于版本兼容的方法.txt
引言编程多了,常常有些感触.笔者发现在windows下很多结构都有一个dwSize来表示这个结构多大,实际上这个成员是用来进行版本兼容的.最典型的一个结构就是OPENFILENAME.这个结构用在了打开文件对话框.里面的第一个成员lStructSize就是用来存放结构的大小.使用在不同的环璄下_WIN32_WINNT > 0x0500 时和不定义这个宏sizeof(OPENFILENAME)会不一原创 2005-07-04 12:44:00 · 1780 阅读 · 0 评论 -
C++语法技巧.
用C++的注意思了,有多少能说出mutable是什么用途呢?今天偶然看_bstr_t的源码看到一个变量为mutable char* m_str;突感奇怪.查了一下发现这个可以对于const类型的成员函数可以让这个m_str得到修改.我想:这个函数主要用在于char *类型的操作符重载,因为在有些情况下char*不会必调用到,则内部就不会生成新空间,在必要的时候分配也是提高函数效系的方法.原创 2005-08-16 10:27:00 · 1570 阅读 · 0 评论 -
GUI调用Console程序不出控制台闪烁
小技巧,不值得一提,几个月前看到记下来了,今天把这个写到博客. STARTUPINFO sui; GetStartupInfo(&sui);//获得当前的程序的启动信息,这句无关紧要 sui.dwFlags = STARTF_USESHOWWINDOW;//必须指定否则wShowWindow无效 sui.wShowWindow = SW_HIDE;//指定窗口隐藏 P原创 2005-08-16 10:25:00 · 1114 阅读 · 0 评论 -
_CrtSetBreakAlloc一个对查泄漏非常有用的函数
在写VC的程序经常发现有内存出错的情况,运行结束之后,就会有报告是否内存出现泄漏情况,如下面所示:Detected memory leaks!Dumping objects ->{223} normal block at 0x003CF650, 4 bytes long. Data: E8 F6 3C 00 {221} normal block at 0x003CF928, 16 bytes l转载 2008-06-10 11:15:00 · 1778 阅读 · 0 评论 -
随即数引发的问题
最近广告的展现次数不理想,有些广告展现量大,有些广告的展现量小。解决方法:修改随机算法。把随机出现的广告出现过一次后不再出现,下个广告会从剩下的广告中随机展现。提给测试后发现一个问题,第一个出现的广告总是固定的,我猜想是随机数函数的种子被固定了。但是随机数的种子函数已经被调用过。 srand(unsigned(time(NULL)));被固定的唯一可能就是srand失效了。进一步猜想是s原创 2008-06-10 12:27:00 · 991 阅读 · 1 评论 -
最近研究Erlang的mnesia
<br />由于mnesia存在数据文件2G的限制,所以需要进行分表,mnesia本身有frag的分片功能,但是我试过了很不好用,所以决定自己分表<br />分表当然有多种分表策略:<br />1.先创建出预先几个表,用id索引和表个数取模N,那么数据就放到tableN上,如果磁盘足够,id足够增长的话还是可能还是有文件大小限制的问题<br />2,利用另外一个表,记录id增长到什么程度,按需求进行新表的创建,但是效率不够好<br /><br /> <br />3.给每个表设定个数上限,用id索引和上限取商原创 2010-08-17 22:48:00 · 1624 阅读 · 0 评论