导航

上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 37 下一页

2012年5月19日

摘要: 1,shell中的变量对大小写敏感。2,shell中的变量没有数据类型。本质上,shell脚本中的变量都是字符串,在变量的解释上则依赖于shell脚本中变量的定义。shell中的变量以字符串的形式存储在内存中要么解释为数字要么解释为字符串。例如,整形变量也是字符串,shell中允许比较操作和整数操作。其关键因素是,这个整形变量中的值是否只有数字。 阅读全文

posted @ 2012-05-19 14:51 网名还没想好 阅读(206) 评论(0) 推荐(0) 编辑

2012年5月10日

摘要: 功能描述:根据文件描述词来操作文件的特性。 用法: int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 参数: fd:文件描述词。 cmd:操作命令。 arg:供命令使用的参数。 lock:同上。 有以下操作命令可供使用 一. F_DUPFD :复制文件描述词 。 二. FD_CLOEXEC :设置close-on-exec标志。如果FD_CLOEXEC位是0,执行execve的过程中,文件保持打开。反之则关闭... 阅读全文

posted @ 2012-05-10 20:41 网名还没想好 阅读(322) 评论(0) 推荐(0) 编辑

2012年5月9日

摘要: 1,函数模板 函数模板即允许多个函数定义简化成用统一的函数定义形式来描述。实际上,函数模板表示了一组同名函数,这些同名函数之间,都是重载函数。 函数模板定义的一般形式是: template <模板参数表> 函数类型标志符 函数名(形式参数列表) { //函数体 } 2,模板函数 函数模板是模板定义,它指明了通用的函数参数。函数模板仅能定义一次,它建立了能在不同数据类型的基础上执行相同操作的通用函数。函数模板定义仅仅是一个形式上的通用函数定义,C++编译器并不为函数模板定义产生任何程序代码。在C++程序中,可以给函数模板的类属类型指定具体的数据类型。C++编译器通过程序中对... 阅读全文

posted @ 2012-05-09 10:28 网名还没想好 阅读(477) 评论(0) 推荐(0) 编辑

2012年5月7日

摘要: 一,read 函数从打开的设备或文件中读取数据#include <unistd.h> ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0 读上来的数据保存在缓冲区buf 中,同时文件的当前读写位置向后移。注意这个读写位置和使用C标准I/O库时的读写位置有可能不同,这个读写位置是记在内核中的,而使用C标准I/O库时的读写位置是用户空间I/O缓冲区中的位置。二,write 函数向打开的设备或文件中写数据 #include < 阅读全文

posted @ 2012-05-07 15:53 网名还没想好 阅读(2249) 评论(0) 推荐(1) 编辑

2012年5月5日

摘要: Linux 守护进程的编程方法 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂,复杂的是各种版本的Unix的实现机制不尽相同,造成不同Unix环境下守护进程的编程规则并不一致。这需要读者注意,照搬某些书上的规则(特别是BSD4.3和低版本的System V)到Linux会出现错误 阅读全文

posted @ 2012-05-05 18:30 网名还没想好 阅读(305) 评论(0) 推荐(0) 编辑

2012年5月4日

摘要: core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。该种类型的错误往往与指针操作相关。往往可以通过这样的方式进行定位。一 造成segment fault,产生core dump的可能原因1.内存访问越界a) 由于使用错误的下标,导致数组访问越界b) 搜索字符串时,依 阅读全文

posted @ 2012-05-04 21:45 网名还没想好 阅读(888) 评论(0) 推荐(0) 编辑

2012年5月3日

摘要: 本文主要参考了如下资料⑴hcj写的"Linux静态/动态链接库的创建和使用"地址 http://fanqiang.chinaunix.net/system/linux/2006-05-08/4126.shtml⑵雨亦奇的文章"LINUX动态链接库高级应用"地址http://www.ccw.com.cn/htm/center/prog/02_3_13_3_2.asp) 在此一并致谢。 一、为什么要使用库文件 我们在实际编程工作中肯定会遇到这种情况:有几个项目里有一些函数模块的功能相同,实现代码也相同,也是我们所说的重复代码。比如,很多项目里都有一个用户验证 阅读全文

posted @ 2012-05-03 22:38 网名还没想好 阅读(585) 评论(0) 推荐(0) 编辑

2012年5月1日

摘要: 原文:http://blog.pfan.cn/vfdff/33507.html个人总结在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用—— 就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助! 如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如何运做如何管理之类的知识等),我感觉这篇文章应该是比较全面地谈了一下 阅读全文

posted @ 2012-05-01 15:46 网名还没想好 阅读(12541) 评论(5) 推荐(2) 编辑

2012年4月29日

摘要: 在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制:在Linux下需要注意的是时间的控制结构是struct timeval而并不是某一整型数,以下是来自于网上一篇文章中的摘录,它是这样写的:int nNetTimeout=1000;//1秒,//设置发送超时setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&nNetTimeout,sizeof(int));//设置接收超时setsockopt(socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&nNetTime 阅读全文

posted @ 2012-04-29 18:35 网名还没想好 阅读(735) 评论(0) 推荐(0) 编辑

摘要: 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2.如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历TIME_WAIT的过程:BOOL bDontLinger = FALSE;setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLinge 阅读全文

posted @ 2012-04-29 17:52 网名还没想好 阅读(473) 评论(0) 推荐(0) 编辑

上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 37 下一页