自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小豪之家

一个热爱生活的普通C++程序员

  • 博客(27)
  • 资源 (7)
  • 收藏
  • 关注

原创 《Unix环境高级编程》:死锁检测实例

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:这个例子是一个会发生死锁的程序。//《APUE》程序14-2:加锁和解锁一个文件区域//《APUE》程序14-4:死锁检测实例#inc

2012-09-29 21:26:08 1237

转载 在 Linux 平台中调试 C/C++ 内存泄漏方法

简介: 由于 C 和 C++ 程序中完全由程序员自主申请和释放内存,稍不注意,就会在系统中导入内存错误。同时,内存错误往往非常严重,一般会带来诸如系统崩溃,内存耗尽这样严重的后果。本文将从静态分析和动态检测两个角度介绍在 Linux 环境进行内存泄漏检测的方法,并重点介绍静态分析工具 BEAM、动态监测工具 Valgrind 和 rational purify 的使用方法。相信通过本文的介绍,能给

2012-09-29 17:31:05 1879 1

转载 TinyXML Tutorial 中文指南

TinyXML 指南注:  本文是 TinyXML 2.5.3 版本 Document 中的《TinyXML Tutorial》的翻译文档,由本人 Dennis.Gao 翻译,版权归原作者所有,转载本文档请注明出处。原文出自TinyXML 源码包doc目录。在线文档:http://www.grinninglizard.com/tinyxmldocs/tutorial0.html

2012-09-29 17:26:07 1129

转载 用g++编译生成动态连接库*.so的方法及连接

用g++编译生成动态连接库*.so的方法及连接1、动态库*.so的编译这里我们用到4个文件,它们分别为:SoDemoTest.h、one.cpp、two.cpp、three.cpp。它们的内容如下: SoDemoTest.h[cpp] view plaincopy#ifndef __SO_DEMO_TEST_H

2012-09-25 11:15:57 1022

原创 《Unix环境高级编程》:单实例守护进程的实现

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:这个DEMO是按照UNIX守护进程的编程规则实现的一个单实例的守护程序。//《APUE》程序13-1:初始化一个守护进程//《APUE》

2012-09-24 23:44:24 1877

转载 linux的errno定义

linux的errno定义,在头文件#include    124 EMEDIUMTYPE   Wrong medium type  123 ENOMEDIUM     No medium found  122 EDQUOT        Disk quota exceeded  121 EREMOTEIO     Remote I/O error  120

2012-09-24 22:47:46 1249

转载 GNU Autotools的使用方法

手工写Makefile是一件很有趣的事情,对于比较大型的项目,如果有工具可以代劳,自然是一件好事。在Linux系统开发环境中,GNU Autotools 无疑就充当了这个重要角色。(在Windows系统的开发环境中,IDE工具,诸如Visual Studio,来管理项目也很方便。)      本文以一个简单项目为例子,来讲述GNU Autotools的一列工具及其命令的用法。aut

2012-09-20 14:06:59 836

转载 automake 共享库

使用automake编译共享库的两种方法用automake编译共享库有多种方法,automake本身提供了对编译共享库支持,当然我们也可以不使用它的这个功能,下面分别介绍这两种方法:一、不使用automake编译共享库功能configure.ac和Makefile.am的配置和可执行文件基本相同,仅仅Makefile.am中的变量名有些区别,另外需要再加上“-fPIC -sha

2012-09-19 16:11:05 1139

转载 Linux下Makefile的automake生成全攻略

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。   在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程

2012-09-19 16:03:59 645

转载 超实用的8个Linux命令行性能监测工具

摘要:本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在。对每个系统/网络管理员来说,每天监测Linux系统性能是一项非常艰巨的任务。在IT业从事5年的Linux系统管理员后,我发现监控和保持系统正常运行真不是件容易的事,为此,我总结了8个非常实用的命令行工具给Linux/Unix系统管理员。这

2012-09-19 09:49:25 913

转载 你的人生,就是从这一刻开始毁掉的

包括看到这篇日志的其他朋友或年轻人,我只想对你们说:你自己起码要对自己的人生负责,凭什么你就一定得比别人活得差?一辈子那么短,你如果你不以最好的姿态去面对这些不平等,那么其他人就会让你见识到这些不平等。刷刷豆瓣刷刷微博并不是不可以,但如果整天都闷在上面,一个劲玻璃心仇富或和屌丝团体结盟,总有一天你会发现,你的人生,就是从这一刻开始毁掉的。亲爱的女孩:昨天,你打电话给

2012-09-18 22:36:24 2079

原创 《Unix环境高级编程》:线程和fork

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:多线程的进程通过fork函数创建子进程时,如果要清除各种锁的状态,可以通过调用pthread_atfork函数建立fork处理程序。//《

2012-09-18 22:20:38 1173

转载 rpm 制作实例

首先,确定/etc/rpmrc(也可能是/usr/lib/rpm/rpmrc)已经正确设定。rpmrc文件控制几乎所有RPM的行为。如果你想重载一个或多个全局设置,可以在~/.rpmrc文件中包含你的定制。可以使用rpm--showrc来显示RPM的当前设置。大多数情况下,rpmrc 文件的设置不需要改变。在/usr/src/packages/SOURCES下新建一个hellow目录,在hel

2012-09-18 16:41:09 974

转载 LINUX条件锁的使用

LINUX环境下多线程编程肯定会遇到需要条件变量的情况,此时必然要使用pthread_cond_wait()函数。但这个函数的执行过程比较难于理解。    pthread_cond_wait()的工作流程如下(以MAN中的EXAMPLE为例):       Consider two shared variables x and y, protected by the mutex mut

2012-09-17 23:40:26 1740

原创 《Unix环境高级编程》:同步信号处理

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:在多线程程序中等侍信号设置标志,从而让主程序退出。唯一可运行的控制线程应该是主线程和信号处理程序,所以阻塞信号足以避免错失标志的修改。另外在线程中,需要使用互

2012-09-17 23:33:47 991

转载 Linux创建静态库和动态库

第1步:编辑得到举例的程序--hello.h、hello.c和main.c;hello.h为该函数库的头文件。hello.c是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!"。main.c为测试库文件的主程序,在主程序中调用了公用函数hello。 第2步:将hello.c编译成.o文件;无论静态库,还是动态库,都是由.

2012-09-17 15:09:21 666

原创 《Unix环境高级编程》:线程清理处理程序

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:这个程序演示了如何使用线程清理处理程序,并解释了其中涉及的清理机制。//《APUE》程序11-4:线程清理处理程序#include #in

2012-09-13 23:39:21 1139

原创 《Unix环境高级编程》:打印线程ID

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:以下这个程序创建一个线程并且打印进程ID,新线程的ID以及初始线程的线程的ID//《APUE》程序11-1:创建一个子线程并打印其线程ID#

2012-09-13 20:36:52 1471

转载 一位年轻女董事长的37条忠告

1、记住,平均每天看电视超过三个小时以上的,一定都是那些月收入不超过两千元的,如果你想要月收入超过两千,请不要把时间浪费在电视上。同样的道理,那些平均每天玩网络游戏或聊天超过三个小时以上的,也都是那些月收入不超过两千的。    2、因为穷人很多,并且穷人没有钱,所以,他们才会在网络上聊天抱怨,消磨时间。你有见过哪个企业老总或主管经理有事没事经常在QQ群里闲聊的?    3、这个世界,有这么

2012-09-10 16:22:32 1835

转载 教你用c实现http协议

大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的。每次用thunder之类的下载软件下载网页,当用到那个“用thunder下载全部链接”时总觉得很神奇。后来想想,其实要实现这些下载功能也并不难,只要按照HTTP协议发送request,然后对接收到的数据进行分析,如果页面上还有href之类的链接指向标志就可以进行深一层的下载了。HTTP协议目前

2012-09-10 15:28:32 4593

原创 不使用man 3 printf的函数,实现一个简单的printf函数

题目:不使用man printf中的函数,实现一个简易的输出函数myprintf。函数声明:int myprintf(const char *format,...);要求该函数可以识别(只需要识别)出format字符串中的%ld,%lf,%c,%s这四个转义字符,并转化成相应的参数。说明:man printf中的函数即:printf, fprintf, sprintf, snpri

2012-09-10 10:29:22 1864

原创 《Unix环境高级编程》:为进程打印屏蔽字

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:这个例子显示了保护临界区,不被特定信号中断的正确方法//《APUE》程序10-10:为进程打印屏蔽字//《APUE》程序10-15:保护临界区不

2012-09-08 21:50:22 982

转载 TinyXML:一个优秀的C++ XML解析器

读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象

2012-09-08 11:49:31 877

转载 libcurl的使用总结

最近的项目中由于要在C++代码中调用PHP的URL,所以不得不借助libcurl这个库,由于第一次用,所以很多地方很是纠结,特此写在这里,方便给同样刚入门的朋友指引。分两篇介绍,第一篇是理论知识,第二篇是实例。快速链接--libcurl的使用总结(一)一.下载安装    1.到http://curl.haxx.se/download.html上下载最新版本,由于公司的机器安装rpm

2012-09-07 17:00:04 2219

转载 Can't connect to local MySQL server through socket 问题解决

Fedora8启动mysql 报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.另外看看是不是权限问题.

2012-09-06 17:14:55 1134

原创 《Unix环境高级编程》:信号处理

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。程序简介:在Unix环境下,我们可以让程序屏蔽掉某些信号(SIGKILL信号和SIGSTOP除外),这个例子演示了这方面的功能。//《APUE》程序10

2012-09-04 22:55:24 1043 1

转载 Linux上vi(vim)编辑器使用教程

vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面vps侦探整理一下vi的使用教程:包含vi的基本介绍、使用模式、文件的打

2012-09-03 15:29:39 887 1

redis网络事件框架的使用

redis封装了一个小型网络库供自己使用,这个网络库只有几百行代码,却基本实现了一个高效的异步网络事件框架,而且与其他redis模块相对独立,故我将其独立出来,方便以后复用。 与著名的libevent相比,它代码精简,只实现了最基本的功能,而且没有用上什么高深的技术,十分适合我们学习和借鉴。 以下这个程序实现了一个简单的回显服务器,并且每秒钟在控制台输出一句话。它简单地演示了redis网络模块的使用。 这个程序由6个源文件组成,ae.h, ae.c, ae_epoll.c, anet.h, anet.c, main.c组成,main.c由我原创,其他源文件来自于redis源代码(注释版,有改动)

2013-11-22

hao IM 0.20更新补丁

haoIM的更新补丁,修复了几个BUG 1:自动保存/读取服务器的IP地址和端口,不用每次打开都输入一遍。 2:解决了对方隐身时依然显示对方状态的问题。 3:解决了程序关闭后托盘图标并没有立即消失的问题。 4:解决了因外部原因而强制关闭主窗口后,聊天窗口依然存在的问题。 软件(未更新)地址:http://download.csdn.net/source/3198457 源代码(未更新)地址: http://download.csdn.net/source/3198961

2011-04-22

我自己写的聊天软件haoIM的源代码(utf-8)

我自己写的聊天软件haoIM的源代码,用C++(QT)实现,欢迎大家下载试用。 有问题或建议,请发送邮件至:aa1080711@163.com

2011-04-17

我自己写的聊天软件haoIM

我自己写的聊天软件haoIM,用C++(QT)实现,欢迎大家下载试用。 如果有问题或建议,请发送邮件至:aa1080711@163.com

2011-04-17

我自己写的聊天软件haoIM的源代码

我自己写的聊天软件haoIM的源代码,用C++(QT)实现,欢迎大家下载试用。 有问题或建议,请发送邮件至:aa1080711@163.com

2011-04-17

有问题的QT程序,请大家帮忙看一下吧

有问题的QT程序 这个程序的功能是客户端向服务器发送一个字符串,服务器接收到这个字符串之后,进行处理(复制一个相同的字符串之后加在后面),再返回给客户端。 但不知为什么,服务器一接收数据就出错,请大家帮我看一下吧,先谢谢了。 (提示说不能向别的线程发送信号/数据,但我所有的问题都是在同一个线程里面处理的啊?)

2011-03-21

C与C++库函数.chm

C与C++的基本函数汇总,给大家当字典来用一下。

2009-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除