- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 OPC常见错误码
0x8000401AThe server process could not be started because the configured identity is incorrect. Check the username and password.0x80004005Unspecified Error0x800706BARPC_S_SERVER_UNAVAILABLEThe R...
2019-01-11 17:41:35 14022 3
原创 Installshield脚本中安装时RegDBCreateKeyEx的注意事项
1. 现象:软件A和软件B在注册表同一个节点下有各自的子节点,比如在HKEY_LOCAL_MACHINE\Software\MyCompany\COMMON下有SoftwareA和SoftwareB两个子项,各自又分别有自己的键值。在卸载时发现先安装的软件被卸载后,COMMON这一层的节点也会被删除,导致另一个软件的注册项也被删除。2.原因安装脚本中用如下代码添加注册表项:
2013-04-26 20:28:47 2338
原创 COM线程模型
1. 概述 本文是一篇读书笔记,参考COM相关书籍,总结了COM的线程模型,包括套间线程、自由线程、单线程套间、多线程套间、列集等相关概念。2. Win32线程由于COM直接使用了Win32线程,因此有必要先讨论一下Win32的线程。Win32系统线程本身只有一种,根据应用模型可分为两种: 工作线程和UI线程工作线程就是一条执行线索,没有消息概念,执行完后线程就
2013-04-25 22:54:35 889
原创 【面试题研究3】c#中装箱和拆箱的概念
C#中的数据分为值类型和引用类型两种值类型 直接包含值,不能为null,可以在栈上分配。复制时直接复制一份内存 除string外的所有基本类型,以及用struct定义的结构体引用类型变量指向数据存储的位置,在堆上分配,复制时传递的是地址,多个变量可以引用同一个对象。装箱就是将值类型转换为对应的引用类型,步骤:1.在堆上分配内
2013-04-18 21:21:53 859
原创 【面试题研究2】缺省参数是编译期还是运行期决定
结论:缺省参数是在编译期决定的。 示例代码:class classA{public: classA(){} ~classA(){} virtual void print(int val = 1) { cout<<"from classA "<<val <<endl; }};class classB: public classA{public: cl
2013-04-12 21:12:39 674
原创 【面试题研究1】SendMessage是否进入消息队列
SendMessage发送出来的消息到底进入不进入消息队列,确切的说是有时进入,有时不进入。 1.当向本线程所建立的窗口SendMessage消息时,它只是调用窗口的消息处理过程。如下图所示,OnTimer中调用SendMessage,会直接调用到消息处理过程。 2.当一个线程向另一个线程所建立的窗口SendMessage时,该消息要添加到接收线程的消
2013-04-07 22:51:21 1431
原创 Boost库编译时的字节对齐设置
最近用到boost库的serialization模块,之前编译boost时采用默认的选项,而项目中都采用1字节对齐,因此运行时每次都会崩溃。原因是调用堆栈被破坏,大抵现象是原本正常的对象通过传址经过几层函数调用后就变成无效对象了,以前也遇到过类似的对象被莫名其妙破坏的情况,于是想到可能是字节对齐问题。 可以用以下方法修改boost编译时的参数:修改boost_1_XX_X/to
2012-04-19 20:55:21 888
原创 boost库安装配置(windows平台)
1.下载boost从http://www.boost.org/上下载boost库,当前版本是1.49boost_1_49_0\ .................The “boost root directory” index.htm .........A copy of www.boost.org starts here boost\ ............
2012-03-31 18:04:02 1633
转载 CMM简介
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
2012-03-28 23:29:04 973
转载 数据库设计三大范式应用实例剖析
转自http://dev.yesky.com/424/2220924.shtml引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不
2012-03-28 23:16:02 381
原创 源代码文档生成工具----Doxygen
1. 简介Doxygen是一种文档生成工具,可以抽取代码中的注释,生成类似JavaDoc的文档。该工具支持的平台有Linux、Max OS X、Windows;支持的编程语言包括:C/C++、Java、Python、C#等数十种语言。Doxygen是以GPL授权方式发布的开源软件,任何人都可以免费下载使用。Doxygen的输出格式有html和tex,如果安装HTML HelpWor
2012-03-06 19:53:54 845
原创 C++对象模型之构造函数
最近读《深度探索C++对象模型》,满足了自己不少的好奇心。在此主要讨论下默认构造函数(default constructor) 和拷贝构造函数(copy constructor)的问题。Default Constructor首先以下几种情况下,编译器是不会自动合成默认构造函数的:用户定义了其他带参数的构造函数(包括拷贝构造函数)包含const成员包含引用成员那么其他
2012-03-04 21:15:49 464
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人