
C/C++
文章平均质量分 81
路飞大大
Stay Hungry, Stay Foolish
Stay Focused, Keep Shipping
展开
-
Memory Layout for Multiple and Virtual Inheritance
Memory Layout for Multiple and Virtual Inheritance (By Edsko de Vries, January 2006)http://www.phpcompiler.org/articles/virtualinheritance.htmlWarning. This article is rather technical a转载 2012-01-08 20:15:47 · 684 阅读 · 0 评论 -
unp pipe popen函数
unp pipe popen函数在unix中pipe是一种很早的进程间通讯的手段,主要用于有血缘关系的进程(例如父子进程等)。pipe是半双工的,即数据流的方向是单向的。关于pipe的内容在unp的pipe和fifo章节进行总结吧,本文主要分析popen函数。标准I/O库提供了popen函数,原型如下:FILE *popen(const char *cmd, const ch转载 2012-04-27 00:56:05 · 781 阅读 · 0 评论 -
基于管道的popen和pclose函数
基于管道的popen和pclose函数标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。popen函数还创建一个管道用于父子进程间通信。子进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数。下在给出popen、pclose的定义:#i转载 2012-04-26 13:47:01 · 3936 阅读 · 0 评论 -
[1003.1(2008)/Issue 7 0000411]: adding atomic FD_CLOEXEC support
[1003.1(2008)/Issue 7 0000411]: adding atomic FD_CLOEXEC supportAustin Group Bug Tracker (noreply-Us27lTmNgZAcWVvVuXF20w@xxxxx.org)2011-08-04 00:54原始链接A NOTE has been added to this issue.转载 2012-04-27 01:08:51 · 654 阅读 · 0 评论 -
Linux中errno使用
<!--@page {margin:2cm}p {margin-bottom:0.21cm}h2 {margin-bottom:0.21cm}h2.western {font-family:"DejaVu Serif Condensed",serif}h2.cjk {font-family:"DejaVu Sans Condensed"; font-st原创 2012-04-26 13:52:21 · 785 阅读 · 0 评论 -
Linux下使用system()函数一定要谨慎
Linux下使用system()函数一定要谨慎曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么方法,这里必须要搞懂system()函数,因为还转载 2012-04-26 13:37:17 · 988 阅读 · 0 评论 -
Linux下system()函数引发的错误
Linux下system()函数引发的错误今天,一个运行了近一年的程序突然挂掉了,问题定位到是system()函数出的问题,关于该函数的简单使用在我上篇文章做过介绍: http://my.oschina.net/renhc/blog/53580先看一下问题简单封装了一下system()函数:int pox_system(const char *cmd_line){转载 2012-04-26 13:41:29 · 2923 阅读 · 0 评论 -
关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
最近在研究开源的东西,发现有很多makefile.am,makefile.in,makefile文件,它们之间究竟是什么关系呢?能可以用什么工具生成吗? 无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事;再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的;还有,对于不同的处理器架构,往往转载 2012-02-08 13:29:21 · 1754 阅读 · 2 评论 -
Nginx源码剖析之内存池,与内存管理
Nginx源码剖析之内存池,与内存管理作者:July、dreamice、阿波、yixiao。出处:http://blog.youkuaiyun.com/v_JULY_v/。引言 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议转载 2012-01-08 20:51:25 · 801 阅读 · 0 评论 -
使用C/C++实现内存池技术
使用C/C++实现内存池技术内存管理技术是开发多媒体应用和服务的很重要的知识。DMSP应用中会有频繁的缓冲区的创建和释放操作,这些操作会降低程序的运行效率和运行时间。本节在讲解内存池技术的同时,讲解对象的创建和使用方法。内存池技术主要的思想是:被创建的缓冲区,在使用完后,并不立即释放,而是存放在一个空闲队列池中;当程序需要新的缓冲区时,首先从内存池中获取可用的缓冲区;在内存池中转载 2012-01-08 20:39:20 · 1873 阅读 · 0 评论 -
最快速度找到内存泄漏
最快速度找到内存泄漏内存管理是C++程序员的痛。我的《内存管理变革系列》就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。确认是否存在内存泄漏我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp原创 2012-01-08 20:08:41 · 502 阅读 · 0 评论 -
内存池(MemPool)技术详解
内存池(MemPool)技术详解foldTable of Contents概述经典的内存池技术申请内存过程释放内存过程性能分析boost::pool基于内存池技术的通用内存分配组件内存池技术的缺陷注意概述内存池(MemPool)技术备受推崇。我用google搜索了下,没有原创 2012-01-08 20:06:17 · 910 阅读 · 0 评论 -
内存池的实现
内存池的实现引言C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/free、new/delete进行内存分配和释放,有以下弊端:调用malloc/new,系统需要根据“最先匹配”、“最优匹配”或其他算法在内存空闲块表中查找一块空闲内存,调用free/delete原创 2012-01-08 20:02:35 · 764 阅读 · 0 评论 -
基于策略的一种高效内存池的实现
一.XXX 1)概念说明 这里不再具体描述内存池的概念和作用,需要了解请看http://baike.baidu.com/view/2659852.htm?fr=ala0_1_1。 2)描述 在开发一个长时间运行的服务器程序时,一般频繁的向操作系统动态申请内存,而采用堆new分配,速度较慢,而且如果一个程序频繁的申请小内存块,转载 2012-01-08 19:58:41 · 1025 阅读 · 0 评论 -
C++ 应用程序性能优化---内存池技术
developerWorks 图书频道: C++ 应用程序性能优化,第 6 章:内存池http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.html引言本书主要针对的是 C++ 程序的性能优化,深入介绍 C++ 程序性能优化的方法和实例。全书由 4 个篇组成,第 1 篇介绍 C++ 语言的对象模型,原创 2012-01-08 19:36:31 · 1084 阅读 · 0 评论 -
C++ 内存池 -- C++ Memory Pool
C++ 内存池l 下载示例工程 – 105Kbl 下载源代码 – 17.3Kb目录l 引言l 它怎样工作l 示例l 使用这些代码l 好处l 关于代码l ToDol 历史 引言C/C++的内存分配(通过malloc或new)可能需要花费很多时。更转载 2012-01-08 18:37:38 · 1330 阅读 · 5 评论 -
C++ Memory Pool
C++ Memory PoolURL: http://www.codeproject.com/KB/cpp/MemoryPool.aspxDownload demo project - 105 KbDownload source - 17.3 KbContentsIntroductionHow does it work?ExampleUsing the code转载 2012-01-08 18:35:23 · 2691 阅读 · 0 评论 -
popen函数及输出错误信息
#include // popen, printf, snprintf#include // WIFEXITED() WEXITSTATUS()#include // extern int errno;#include #include #include #include #define MAX_SIZE (1024)bool exec_cmd(原创 2012-04-28 22:52:06 · 6522 阅读 · 0 评论