- 博客(20)
- 资源 (1)
- 收藏
- 关注
转载 网络编程
<br /><br />1服务端的初始化<br />下面是一个tcp和udp的server端初始化的通用封装函数,来自于APUE。非常的好用。<br />其包括创建套接字,bind ,listen(udp省去)<br />/********************************************************************<br />* 函数名: initserver<br /> <br />* 功 能: 初始化网络服务器,包括创建套接字,listen, bind等<
2011-04-06 18:38:00
825
转载 如何阅读他人的程序代码
近日,在互联网上游荡,偶然发现一篇曾经的文章,是关于如何阅读他人程序代码的,阅后颇为受益,于是乎重新整理了一下格式,将此文转载如下:如何阅读他人的程序代码文/王建兴 作者简介: 王建兴,清华大学资讯工程系的博士研究生,研究兴趣包括计算机网络、点对点网络、分布式网络管理、以及行动式代理人,专长则是Internet应用系统的开发。曾参与过的开发项目性质十分广泛而且不同,从ERP、PC Game到P2P网络电话都在他的涉猎范围之内。 一、读懂程序代码,使心法皆为我所用程序代码是别
2011-03-11 15:31:00
1227
转载 rtsp简介
<br /><br />Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。传输数据可以通过传输层的tcp,udp协议,rtsp也
2011-03-11 15:27:00
675
转载 Makefile.am详解
<br /><br />Makefile.am是一种比Makefile更高层次的规则。只需指定要生成什么目标,它由什么源文件生成,要安装到什么目录等构成。<br />表一列出了可执行文件、静态库、头文件和数据文件,四种书写Makefile.am文件个一般格式。<br /><br />表 1Makefile.am一般格式<br /><br /> <br />对于可执行文件和静态库类型,如果只想编译,不想安装到系统中,可以用noinst_PROGRAMS代替bin_PROGRAMS,noinst_LIBRARI
2011-03-09 17:20:00
624
转载 运用 autoconf 和 automake 自动生成 Makefile 实例讲解
<br />对于一个 UNIX/Linux 下 C 程序员来说,一个比较麻烦的工作就是写自己的 Makefile 。 <br />可能你有如下经验:写一个简单的 C 程序,自己多写几行 gcc 命令就把程序变成可执行的了;写一个稍微复杂点的程序,源文件个数可能在 30 个左右,还是写一行行的 gcc 命令就麻烦了,你可能想到写个 makefile ,你可能也在这样做着;但你某一天会发现你写的这个 Makefile 可能不是一个所有 UNIX/Linux 类操作系统下通用的 Makefile ,比如某人下载了
2011-03-09 16:49:00
441
转载 自动生成 Makefile 的全过程详解! automake/autoconf 入门
automake/autoconf 入门作为Linux 下的程序开发人员,大家一定都遇到过Makefile ,用make 命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile ,如果要想写出一个符合自由软件惯例的Makefile 就不那么容易了。在本文中,将给大家介绍如何使用autoconf 和automake 两个工具来帮助我们自动地生成符合自由软件惯例的Makefile ,这样就可以象常 见的GNU 程序一样,只要使用“./configure” ,“make” ,“ma
2011-03-09 16:48:00
477
原创 用shell脚本实现删除一定大小的文件
<br />1.首先用dd命令创建一个实验文件:<br />比如:dd if=/dev/zero of=test.txt bs=10M count=1<br />创建大小为10M的test.txt文件。<br />2.用stat命令获取文件大小:<br />stat -c %s $file<br />3.再用一个for循环就搞定了:<br /><br /> <br />for file in ./*; do<br /> <br /> var=`stat -c %s $file`<br /> <br />
2011-03-09 11:47:00
1092
转载 linux创建一定大小文件命令--dd
<br /><br />linux创建文件命令:dd命令<br /> 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:<br /> CODE:[Copy to clipboard]dd 〔选项〕<br /> QUOTE:<br /> if =输入文件(或设备名称)。<br /> of =输出文件(或设备名称)。<br /> ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。<br /> skip = blocks
2011-03-09 11:43:00
398
转载 常用bash shell 脚本分类
1. 逐行读取文件使用for循环来读取文件 for line in `cat file.txt` do echo $line done注意:由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,如果行里有空格的时候,输出的结果会很乱,所以只适用于行连续不能有空格或者换行符的文件使用while循环读取文件 cat file.txt |while read line do echo $line done 或者:
2011-03-09 11:28:00
867
转载 shell脚本文件类型与字符串判断
运算符描述示例文件比较运算符-e filename如果 filename存在,则为真[ -e /var/log/syslog ]-d filename如果 filename为目录,则为真[ -d /tmp/mydir ]-f filename如果 filename为常规文件,则为真[ -f /usr/bin/grep ]-L filename如果 filename为符号链接,则为真[ -L /usr/bin/grep ]-r filename如果 filename可读,则为真[ -r /var/log/sy
2011-03-09 10:34:00
1374
转载 Bash Shell脚本字符串截断
1.字符截断:如果是一般路径的字符截断可以用basename和dirname这两个工具:basename可以从一个文件路径中截一个文件名例如:$ basename /home/file.tarfile.tardirname可以从一个文件路径中截到一个目录路径例如:$ dirname /home/file.tar/home不使用外部工具进行字符截断bash有自带的功能来对变量进行字符截断,一般使用"##", "#", "%%", "%", "*" 组合来实现。例如:$ string=hellowbashshe
2011-03-09 10:33:00
2113
转载 Linux shell脚本全面学习
1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释
2011-03-07 16:39:00
317
转载 Configure,Makefile.am, Makefile.in, Makefile文件之间关系
<br /><br /><br />1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。<br /> your source files --> [autoscan*] --> [configure.scan] --> configure.ac2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将config
2010-12-18 15:04:00
306
原创 initializer element is not constant
<br />int fun(int a)<br />{<br />static b = a;<br />}<br />编译时报initializer element is not constant,
2010-11-21 14:46:00
518
原创 warning: backslash and newline separated by space
<br />#define APP_HIDE_PRO do{ /<br />SU_StartDraw(150,100,100,100); /<br />SU_ClearArea(150,100,100,100); /<br />}while(0)<br />报出警告,warning: backslash and newline separated by space<br />因为第一行的/后面多敲了一个空格
2010-11-20 14:46:00
5011
转载 writev与readv
<br />http://www.delnabla.cn/article.asp?id=18<br />名称:readv/writev<br />功能:散布读/聚集写<br />头文件:#include <sys/uio.h><br />函数原形: ssize_t readv(int filedes,const struct iovec *iov,int iovcnt);<br /> ssize_t writev(int filedes,const struct iove
2010-11-19 13:06:00
1559
转载 结构体与联合体的用法
<br />我觉得联合体的优点从另一方面来讲就是缺点: <br />1、使用联合体可以节省空间.<br />有时我们需要一种类型即能保存整型数,又能保存浮点数.<br />这时如果定义成结构体类型, 如: <br />typedef struct {<br /> int i;<br /> float f;<br />} Number;<br />当使用该结构体来存储整型数或浮点数时,这样很明显会造成内存浪费。<br />同样的需求,如果用联合体来定义,如:<br />typedef un
2010-11-08 17:36:00
1335
转载 fstat、stat和lstat 区别
From: http://www.cnitblog.com/guopingleee/archive/2008/11/13/51411.htmlstat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。1首先隆重介绍的是一个非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一个结构体类型,名字叫做struct stat。可以说,没有这个struct stat的支持,上述三个系统调用将寸步难行。这个st
2010-10-08 16:06:00
394
转载 关于struct dirent 中d_name成员在某些系统中为1的问题。
<br /><br />此为伸缩型结构成员的问题,详见c primer plus中相关章节<br /> <br />1楼 发表于 2007-9-19 23:19 <br />我在书中看到有以下结构描述.<br />struct dirent{<br />.......<br />.......<br />char a[1];}<br />其中a[1]是文件名地址.也有的书用a[255]描述.<br />我对此非常不解,a[1]怎么能放文件指针呢,作为字符数组,也只能够放'/0'.<br />请各位释疑,
2010-10-08 15:37:00
427
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人