- 博客(76)
- 资源 (11)
- 收藏
- 关注
原创 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
6515
原创 popen(3) - Linux man page
popen(3) - Linux man page点击打开链接Namepopen, pclose - pipe stream to or from a processSynopsis#include stdio.h>FILE *popen(const char *command, const char *type);int pclose(FI
2012-04-28 22:48:11
906
原创 Suppress output from popen()
Suppress output from popen()from stackoverflow病例样本:Is there a way to suppress the output from popen() without losing the Wait().Test 1:FILE * stream = NULL;char buffer [120];stream
2012-04-27 01:45:09
990
原创 fclose()/pclose() may block on some file pointers
fclose()/pclose() may block on some file pointers来自stackoverflow病例样本:Calling fclose() here after dup()ing its file descriptor blocks until the child process has ended (presumably becau
2012-04-27 01:26:57
1274
原创 Do streams have to be closed when using popen
来自StackoverflowDo streams have to be closed when using popen病例样本:As the title says , I am unsure if I should close a stream that was opened using popen.The reason I am unsure is becaus
2012-04-27 01:25:13
787
转载 [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
653
原创 shell重定向
shell重定向 a.out >output 2>&1 VS a.out 2>&1 >output1、对于a.out >output 2>&1来说,它的意思是首先将标准输出描述符设置到output文件上,即后面的标准输出都后指定到output文件;然后将标准错误描述符指向标准输出(此时的标准输出已经是output文件了)。这条脚本执行后的结果是将
2012-04-27 00:59:13
587
转载 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
780
转载 美国人教你这样用Google,你真的会变特工!!!
美国人教你这样用Google,你真的会变特工!!!(看了才感叹原来这么多年的GOOGLE是白用了~这就是百度永远无法超越G的原因吧~)大前提:英文Google→www.google.com第一篇在搜索框上输入:“indexof/”inurl:lib再按搜索你将进入许多图书馆,并且一定能下载自己喜欢的书籍。在搜索框上输入:“indexof/”cnki再
2012-04-27 00:50:27
1107
原创 Unix Programming Frequently Asked Questions - Part VII (over)
Unix Programming Frequently Asked Questions - Part VIIExamplesCatching SIGCHLD#include /* include this before any other sys headers */#include /* header for waitpid() and various macros
2012-04-27 00:10:15
638
原创 Unix Programming Frequently Asked Questions - Part VI
Unix Programming Frequently Asked Questions - Part VI6. Use of tools6.1 How can I debug the children after a fork?Depending on the tools available there are various ways:Your debugger may
2012-04-27 00:08:16
539
原创 Unix Programming Frequently Asked Questions - Part V
Unix Programming Frequently Asked Questions - Part V5. Miscellaneous programming5.1 How do I compare strings using wildcards?The answer to that depends on what exactly you mean by`wildcards'.
2012-04-27 00:05:54
532
原创 Unix Programming Frequently Asked Questions - Part IV
Unix Programming Frequently Asked Questions - Part IV4. System Information4.1 How can I tell how much memory my system has?This is another `Frequently Unanswered Question'. In most cases
2012-04-27 00:04:33
725
原创 Unix Programming Frequently Asked Questions - Part III
Unix Programming Frequently Asked Questions - Part III点击打开链接3. Terminal I/O3.1 How can I make my program not echo input?How can I make my program not echo input, like login does when ask
2012-04-27 00:01:33
706
原创 Unix Programming Frequently Asked Questions - Part II
Unix Programming Frequently Asked Questions - Part IIhttp://www.steve.org.uk/Reference/Unix/faq_toc.html2. General File handling (including pipes and sockets)See also the Sockets FAQ, availa
2012-04-26 23:59:33
725
原创 Unix Programming Frequently Asked Questions - Part I
Unix Programming Frequently Asked Questionshttp://www.steve.org.uk/Reference/Unix/faq_toc.htmlAbout this FAQ$Id: rawfaq.texi,v 1.37 2000/09/01 06:34:57 andrew Exp $This FAQ was originally be
2012-04-26 23:57:24
1135
原创 常用术语及缩写(Glossary & Abbreviation)
常用术语及缩写(Glossary & Abbreviation)项目类ATP(Achieving Together Process):Pronto(The problem reported by customer):FT(Functional Test):功能测试UT(Unit Test):单元测试PO(Product Owner):项目所有者AP(Action Poi
2012-04-26 14:33:33
1235
转载 知其然且知所以然之grep命令
知其然且知所以然之grep命令最近听一新手朋友讲刚进公司的感受,其中一点就是Linux下的命令用得不熟,一大堆参数完全记不住,对一些老鸟的指法无比羡慕嫉妒恨。 刚开始使用命令谁都不熟,而且不经常使用还会忘记。刚敲入一个命令却忘记了参数是非常恼人的,尤其是遇到一个棘手的问题亟待解决时。这时你会怎么办呢?打开浏览器查一下?还是问下旁边的同事?前者有点慢,毕竟你需要从大量的信息中搜索,如碰
2012-04-26 14:27:50
1450
原创 SVN代码回滚命令之---merge的使用
一、改动还没被提交的情况(未commit)这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端。其实一个命令就可以搞定:# svn revert [-R] PATHPATH可以是准备回滚的文件、目录,如果想把某个目录下的所有文件包括子目录都回滚,加上-R选项。二、改动已经提交(已comm
2012-04-26 13:59:50
837
原创 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
转载 基于管道的popen和pclose函数
基于管道的popen和pclose函数标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。popen函数还创建一个管道用于父子进程间通信。子进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数。下在给出popen、pclose的定义:#i
2012-04-26 13:47:01
3934
2
转载 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
2921
转载 Linux下使用system()函数一定要谨慎
Linux下使用system()函数一定要谨慎曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么方法,这里必须要搞懂system()函数,因为还
2012-04-26 13:37:17
988
转载 关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
最近在研究开源的东西,发现有很多makefile.am,makefile.in,makefile文件,它们之间究竟是什么关系呢?能可以用什么工具生成吗? 无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事;再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的;还有,对于不同的处理器架构,往往
2012-02-08 13:29:21
1753
原创 家与年:解读中国文化的深层密码
家与年:解读中国文化的深层密码21世纪经济报道 刘晓峰 2012-01-16 22:36:29 评论(5)条 随时随地看新闻核心提示:每年到了农历年根底,一个个身在异乡工作的人,会忽然像候鸟一样感觉到了时光的迁化,开始有意无意间准备面向故乡的飞翔。【一】 家与年,让亿万中国人走上旅途每年到了农历年根底,一个个身在异乡工作的人,学习的人,生活的人,会
2012-01-17 20:41:44
2859
转载 程序员新年要实现的10个愿望
程序员新年要实现的10个愿望译自:http://net.tutsplus.com/articles/general/ten-new-years-resolutions-every-web-developer-should-make/安德鲁 伯吉斯于2011年12月27 日译者:蒋宇捷(转载请注明出处-http://blog.youkuaiyun.com/hfahe)
2012-01-11 17:30:51
564
转载 用 Boost.Python 写扩展库(2 类和结构体)
用 Boost.Python 写扩展库(2 类和结构体)在 C++ 中,类和结构体本质上是一样的,唯一的区别是,类的成员默认都是 private 的,而结构体的成员默认都是 public 的。因此这里只讲类的导出方法即可。2.1 包装简单类当我需要导出 C++ 类给 Python 时,比如我需要导出的类的声明如下1 class Complex2 {3 p
2012-01-11 17:17:55
1228
原创 What Is a Glue Code?
What Is a Glue Code?Glue code is computer code that unites programs or software components that would not be compatible otherwise. This code usually does not serve a purpose such as computat
2012-01-11 17:10:00
1544
转载 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
转载 使用C/C++实现内存池技术
使用C/C++实现内存池技术内存管理技术是开发多媒体应用和服务的很重要的知识。DMSP应用中会有频繁的缓冲区的创建和释放操作,这些操作会降低程序的运行效率和运行时间。本节在讲解内存池技术的同时,讲解对象的创建和使用方法。内存池技术主要的思想是:被创建的缓冲区,在使用完后,并不立即释放,而是存放在一个空闲队列池中;当程序需要新的缓冲区时,首先从内存池中获取可用的缓冲区;在内存池中
2012-01-08 20:39:20
1871
转载 Nginx源码分析-内存池
Nginx源码分析-内存池Nginx的内存池实现得很精巧,代码也很简洁。总的来说,所有的内存池基本都一个宗旨:申请大块内存,避免“细水长流”。一、创建一个内存池nginx内存池主要有下面两个结构来维护,他们分别维护了内存池的头部和数据部。此处数据部就是供用户分配小块内存的地方。//该结构用来维护内存池的数据块,供用户分配之用。 typedef struct { u_
2012-01-08 20:32:33
593
转载 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
原创 最快速度找到内存泄漏
最快速度找到内存泄漏内存管理是C++程序员的痛。我的《内存管理变革系列》就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。确认是否存在内存泄漏我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp
2012-01-08 20:08:41
502
原创 内存池(MemPool)技术详解
内存池(MemPool)技术详解foldTable of Contents概述经典的内存池技术申请内存过程释放内存过程性能分析boost::pool基于内存池技术的通用内存分配组件内存池技术的缺陷注意概述内存池(MemPool)技术备受推崇。我用google搜索了下,没有
2012-01-08 20:06:17
906
原创 内存池的实现
内存池的实现引言C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/free、new/delete进行内存分配和释放,有以下弊端:调用malloc/new,系统需要根据“最先匹配”、“最优匹配”或其他算法在内存空闲块表中查找一块空闲内存,调用free/delete
2012-01-08 20:02:35
763
转载 基于策略的一种高效内存池的实现
一.XXX 1)概念说明 这里不再具体描述内存池的概念和作用,需要了解请看http://baike.baidu.com/view/2659852.htm?fr=ala0_1_1。 2)描述 在开发一个长时间运行的服务器程序时,一般频繁的向操作系统动态申请内存,而采用堆new分配,速度较慢,而且如果一个程序频繁的申请小内存块,
2012-01-08 19:58:41
1024
原创 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
1083
原创 内存池(MemPool)技术详解
内存池(MemPool)技术详解概述内存池(MemPool)技术备受推崇。我用google搜索了下,没有找到比较详细的原理性的文章,故此补充一个。另外,补充了boost::pool组件与经典MemPool的差异。同时也描述了MemPool在sgi-stl/stlport中的运用。 经典的内存池技术 经典的内存池(MemPool)
2012-01-08 19:19:53
2302
转载 内存池技术
最近研究了下内存池技术,原以为比较简单,没想到深入之后,发现要想写一个“漂亮”的内存池,要考虑到很多东西,并不简单,下面一一道来。为什么要使用内存池? 当频繁地用malloc/new申请内存,然后再用free/delete释放内存时,会存在两个主要问题:一是频繁的分配释放内存可能导致系统内存碎片过多;二是分配释放内存花费的时间可能比较多。内存池的思想:
2012-01-08 18:55:19
1095
转载 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
4
C/C++之数组与指针的艺术
2011-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人