编程积累
文章平均质量分 81
奔跑中的老男孩
工作即是一种态度,工作更是一种责任,对工作的热情与努力,就是对生活的热情与努力,热爱工作,热爱生活是我的一种态度;立即行动是我执行力的彰显;知识深度和广度的积累是我学习的动力;热爱生活,努力工作,是我的宗旨!
展开
-
A Complete ActiveX Web Control Tutorial
A Complete ActiveX Web Control TutorialIntroductionActiveX is a Microsoft technology developed in the mid 90’s, that allows for the creation of applet-like applications that can be d转载 2015-09-27 15:40:05 · 930 阅读 · 0 评论 -
smart_ptr之shared_ptr(二)
前面已经介绍了shared_ptr的基本使用,这篇文件主要介绍它的定制器和删除器的部分功能。在一定程度上,删除器使用的概率会大很多。在shared_ptr中有一个构造函数是这样的: template shared_ptr(Y * p, D d): px(p), pn(p, d) { boost::detail::sp_enable_shared_from_t原创 2011-12-10 16:47:07 · 648 阅读 · 0 评论 -
双缓冲区实现
#include #include #include using namespace boost::interprocess;const int size = 5;struct Data_buff{ Data_buff() :putSemaphore(2), getSemaphore(0), getMutex(1) {原创 2012-06-29 16:54:25 · 3312 阅读 · 0 评论 -
C++对象生命周期管理--通过引用计数指针对象来封装管理对象生命周期
在实际的软件开发过程中,对象的生命周期管理一直是软件开发过程中的一个重点和难点,在C++标准库中也逐渐的出现了一系列的智能指针(标准库/boost库中都涉及到),但是这种智能指针的设计,只是对Object进行封装,接管了相关的生命周期,但是有时候在具体的业务需求中,需要对象自己管理自己的生命周期,那么在对象中需要封装相关的引用计数,当引用计数为0时,需要删除对象本身,为了满足该业务需求,设计该基础原创 2015-03-04 20:04:53 · 1358 阅读 · 0 评论 -
自定义数据类型中安全的bool转换操作
一:背景需求在自定义数据类型的时候,需要在boolean上下文中判断该数据类型是否有意义(这个是否由意义不是我们所谓的是否为空等,而是根据这个数据类型具体的实现来体现)。例如:boost库中的shared_ptr指针,就可以直接在boolean上下文中判断该对象保存的资源指针是否有效,如果无效,在其中就会返回"false",如果有效就会返回"true".可能看过boost库源代码的朋友都知道,翻译 2011-12-06 22:07:45 · 2257 阅读 · 0 评论 -
基础工具-单件模式
作为C++设计模式中的单件模式归属于创建型模式之一,在软件设计过程中“出场“的机会还是很多,以下源码作为自己学习开源库代码时针对单件 模式做的一个总结,方便后期设计过程中的参考和学习。#ifndef SINGLETON_HPP_#define SINGLETON_HPP_#include namespace ts{ /** *@breif *@no原创 2015-03-04 19:56:10 · 564 阅读 · 0 评论 -
c语言编程的时间函数详解
asctime(将时间和日期以字符串格式表示); ===>传入UTC(struct tm)tmp,返回char*。ctime(将时间和日期以字符串格式表示); ===>传入(time_t)arg,返回char*。gettimeofday(取得目前的时间); ===>传入(time_t)arg,返回tv,tz结构体传入时间,时区信息。gmtime(取得目前时间和日期); ===>传入(t转载 2015-07-26 11:18:24 · 6991 阅读 · 0 评论 -
Building ActiveX servers in Qt
A Windows-only static library for turning a Qt binary into a COM server.The QAxServer module is part of the ActiveQt framework. It consists of three classes:QAxFactory defines a factory转载 2015-03-13 22:43:36 · 1701 阅读 · 0 评论 -
内存管理之智能指针一:stl中的auto_ptr智能指针
一、智能指针作为一种内存管理技术主要为了解决什么问题?(属于个人理解)1、一般在应用软件的开发过程中,应用程序的代码执行基本上都是通过以下几个步骤来完成:(1)获取资源(内存、文件句柄、数据库连接等);(2)执行功能代码;(3)释放资源;可能资源的获取相对而言是一个比较容易处理的过程,以内存为例,通过new操作符即可进行内存资源的获得,但是在应用实现的过程中,可能程序员不能保证原创 2011-11-20 17:58:45 · 745 阅读 · 0 评论 -
shared_ptr使用注意事项
罗列出在使用智能指针的时候可能会犯的一些错误:条款1:不要把一个原生指针给多个shared_ptr管理int* ptr = new int;shared_ptr p1(ptr);shared_ptr p2(ptr); 在出作用域的时候,ptr的资源会被释放两次,把握的原则是:出了第一个shared_ptr用原生指针定义外,其后的所有操作都要以智能指针作为对象,在库中提供的几原创 2011-12-10 17:41:44 · 1290 阅读 · 0 评论 -
smart_ptr学习之scoped_ptr
类如其名:scoped_ptr,仅仅只在自己的作用域内才可以使用,出了自己的作用域就自动进行析构。不同于auto_ptr,不支持所有权的转移,同时把自己的拷贝构造函数、赋值操作符等相关的成员函数设定为私有函数,更进一步的“巩固”了“一切尽在我掌握中”的自信。因为不支持这些操作,所以对于所有权是完全不会转移,这是与auto_ptr最大的不同点。同时,因为scoped_ptr在实现上仅仅是原创 2011-11-27 22:21:55 · 820 阅读 · 0 评论 -
smart_ptr之shared_ptr
一、介绍引用计数指针 几乎所有稍微复杂点的程序都需要某种形式的引用计数智能指针。这些智能指针让我们不再需要为了控制被两个或多个对象共享的对象的生存期而编写复杂的逻辑。当引用计数降为零,没有对象再需要这个共享的对象,这个对象就自动被销毁了。引用计数智能指针可以分为插入式(intrusive)和非插入式(non-intrusive)两类。前者要求它所管理的类提供明确的函数或数据成员用于原创 2011-12-04 17:35:07 · 888 阅读 · 0 评论 -
IPC学习,利用互斥体和条件变量实现读者和写者问题
#include class rwMutex{private: boost::mutex lockMutex; // 同步控制互斥变量,控制对标志量得访问 boost::condition_variable_any condWriter; // 写者条件变量 boost::condition_va原创 2012-06-26 17:42:53 · 692 阅读 · 0 评论 -
linux下gdb调试器使用学习-03
目录目录进程调试命令进程调试命令attach process-id/detach[附加/分离进程]attach process-id: 在GDB状态下,开始调试一个正在运行的进程,其进程ID为process-iddetach: 停止调试当前正在调试有进程,与attach配对试用kill基本功能:杀掉当前GDB正在调试的应用程序所对应的子进程如果想不退出GDB而对当前正在调试的应用程序重新原创 2016-03-13 13:17:24 · 540 阅读 · 0 评论