- 博客(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网络事件框架的使用
2013-11-22
hao IM 0.20更新补丁
2011-04-22
我自己写的聊天软件haoIM的源代码(utf-8)
2011-04-17
我自己写的聊天软件haoIM的源代码
2011-04-17
有问题的QT程序,请大家帮忙看一下吧
2011-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人