![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++编程经验
文章平均质量分 63
linlianghui2004
这个作者很懒,什么都没留下…
展开
-
加载dll方法
非COM 1.包含dll的头文件 2用导入lib隐式加载(包括两种方式) 2-1 #progma comment(lib, "xxx.lib") 2-2 在project菜单项的link中直接添加lib 注意,第二种方法也要确保dll文件在系统可以搜索到的目录中,比如 当前目录或者windows的system32原创 2009-02-25 11:47:00 · 815 阅读 · 0 评论 -
boost编译
Windows下: C++代码 bjam.exe --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-ser转载 2011-09-15 16:56:19 · 490 阅读 · 0 评论 -
开源库
<br />1、系统和网络编程库:ACE<br /> 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是一个实用的程序库、框架转载 2010-12-15 15:29:00 · 550 阅读 · 0 评论 -
多线程使用总结
<br />多线程使用总结<br />基础:<br />1)最好使用C++ runtime的函数创建线程,即调用_beginthreadex创建线程。CreateThread()函数并不会执行C运行时数据块的变量的每线程初始化,因此在任何使用C运行时库的应用中,不能使用CrateThread()函数。<br />2)最好不要显示的调用ExitThread()或TerminateThread(),因为调用这些不进行清理工作。<br />3)SuspendThread()挂起线程时,要考虑该线程是否拥有Mute转载 2010-12-15 11:20:00 · 712 阅读 · 0 评论 -
CORBA
跟我从头学TAO编程系列通过实例学习CORBA核心概<br />Stone Jiang 2005119@gmail.com<br />http://www.ace-tao.org<br /> <br />本系列的第一篇我们学会了怎么下载和编译ACE,TAO,第二篇我们编写了最简单的TAO应用程序。学习CORBA,TAO与学习其它学科一样,一定要掌握其核心概念。这了节,我们通过第二篇的实例来学习CORBA的核心概念。<br /> 1.CORBA架构<br />CORBA的架构如下图:<br />2. CORB转载 2010-12-15 11:18:00 · 6896 阅读 · 0 评论 -
基于C++有限状态机的实现技术
<br /> 一.引言言<br />有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。在面向对象的软件系统中,一个对象无论多么简单或者多么复杂,都必然会经历一个从开始创建到最终消亡的完整过程,这通常被称为对象的生命周期。一般说来,对象在其生命期内是不可能完全孤立的,它必须通过发送消息来影响其它对象,或者通过接受消息来改变自身。在大多数情况下,这些消息都只不过是些简单的、同步的方法调用而已。例如,在银行客户管理系统中,客户类(Cu转载 2010-10-08 12:06:00 · 14459 阅读 · 1 评论 -
大规模c++程序设计摘要
<br />引言<br /><br /> 与主流观点相反,从根本上说,最普通形式的面向对象程序要比对应的面向过程的程序更难测试和校验。通过虚函数改变内部行为的能力可能导致类不变式无效;而对于程序的正确性来说,类不变式是必要的。<br /> <br />第一部分 基础知识<br /><br /> 对符号名称的使用,而不是声明本身,导致一个未定义符号被引入到.o目标文件中。<br /> typedef声明是的性质属于"internal linkage",尽管这个说法不严谨,但是很容易理解──文转载 2010-09-26 11:29:00 · 685 阅读 · 0 评论 -
用C++实现插件体系结构
<br />本文讨论一种简单却有效的插件体系结构,它使用C++,动态链接库,基于面向对象编程的思想。<br />首先来看一下使用插件机制能给我们带来哪些方面的好处,从而在适当时候合理的选择使用。<br />1, 增强代码的透明度与一致性:因为插件通常会封装第三方类库或是其他人编写的代码,需要清晰地定义出接口,用清晰一致的接口来面对所有事情。你的代码也不会被转换程序或是库的特殊定制需求弄得乱七糟。<br />2, 改善工程的模块化:你的代码被清析地分成多个独立的模块,可以把它们安置在子工程中的文件组中。这种解转载 2010-09-14 11:30:00 · 460 阅读 · 0 评论 -
window svn服务器 服务
<br />SubVersion服务器Windows安装指南 <br />在办公室的台式机上安装了svn服务器<br />1. 环境和软件准备 <br />操作系统: windows vista sp1<br />Window-Subvsersion : http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91<br />Windows 常用客户端 TortoiseSVN : http://tortoisesvn.net转载 2010-08-24 09:25:00 · 2131 阅读 · 0 评论 -
在windows环境下安装ACE
<br />安装环境: <br /><br />操作系统:Windows XP 专业版 <br />编译环境:VS2005中文版 <br />ACE版本:ACE-5.5.1 <br />安装过程: <br />下载安装包。 <br />Ace的安装文件可以在http://download.dre.vanderbilt.edu/中下载到,由于我是在windows环境下安装并且不需要TAO等其它库,便下载了ACE-5.5.1.zip。 <br />下载完成后将其解压。我的解压路径为D:/Develop/ACE_转载 2010-08-16 15:31:00 · 561 阅读 · 0 评论 -
在windows环境下安装ACE
<br />安装环境: <br /><br />操作系统:Windows XP 专业版 <br />编译环境:VS2005中文版 <br />ACE版本:ACE-5.5.1 <br />安装过程: <br />下载安装包。 <br />Ace的安装文件可以在http://download.dre.vanderbilt.edu/中下载到,由于我是在windows环境下安装并且不需要TAO等其它库,便下载了ACE-5.5.1.zip。 <br />下载完成后将其解压。我的解压路径为D:/Develop/ACE_转载 2010-08-16 15:14:00 · 447 阅读 · 0 评论 -
数据库简单学习与应用
员工信息表[员工号,姓名,性别],T_Worker[WorkerId,name,sex] 员工迟到表[员工号,迟到日期,迟到时长],T_Late[WorkerId,latetime,latelong] 1.在 日期1 (2008-4-2) 到日期2 (2008-4-4) 之间迟到的员工姓名 2.查询员工姓名含有O的员工信息 3.更改员工号为00001的员工的姓名为Jack 4.迟到两次以上的员工原创 2009-04-22 17:29:00 · 624 阅读 · 0 评论 -
指针易见的错误
指针易见的错误:1.移动指针之后,没有复位。避免出现这种情况是把指针赋值给另一指针,用另一指针来移动。2.用循环来判定指针是否为NULL:因为指针有指向的变量,故不会出现NULL,更正的做法是指针移动,*p判定是否为/0。3.指针还没有new 出来,就进行对其它操作。会出现访问冲突的问题。4.常量指针(const char*)不能赋值指针,常量指针不能改变值。5.指针是没有以/0结束的,原创 2009-04-22 17:27:00 · 537 阅读 · 0 评论 -
无法解析的外部符号
无法解析的外部符号的情况发生原因: 1,没有加入相应lib库文件. 2.类成员有声明,但没有定义.或者定义与声明不符合. 3.没有包含源文件.例如extern int i; extern void g(); void f() { i++; g(); } int main() { } 4.符号定义在编译为 C 程序的文件中,而符号是在 C++ 文件中不带 extern "C原创 2009-04-16 15:59:00 · 3804 阅读 · 0 评论 -
多线程内存泄露
最近得项目使用一个对话框做为界面,内部数据处理使用线程。但是,在调试状态下,点击退出或者关闭对话框时,会提示有一个(CWinThread*)类型变量的68个字节的内存泄漏。 该线程的使用模型如下。程序打开后,使用AfxBeginThread(MyControllingFunction, NULL, 0, 0, NULL)建立一个工作者线程。其响应函数为UINT MyCon转载 2009-02-26 11:18:00 · 4654 阅读 · 2 评论 -
epoll学习笔记
epoll学习笔记epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知.以代码来说明问题:首先给出server的代码,需要说明的是每次accept的连接,加转载 2012-05-04 10:49:28 · 425 阅读 · 0 评论