
Linux API
文章平均质量分 76
sinat_35297665
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
select、poll、epoll 比较
转载:http://blog.youkuaiyun.com/dodo_328/article/details/390811831.Selet:本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。 缺点:1 单个进程可监视的fd数量被限制,因为受描述符集合fd_set限制,fd数量最大不超过1024;转载 2017-10-12 12:55:32 · 197 阅读 · 0 评论 -
strcpy函数的实现
转载:http://blog.youkuaiyun.com/gpengtao/article/details/7464061/大家一般认为名不见经传strcpy函数实现不是很难,流行的strcpy函数写法是:[cpp] view plain copychar *my_strcpy(char *dst,const char *src) {转载 2017-10-12 15:40:45 · 200 阅读 · 0 评论 -
gets fgets 区别
http://www.cnblogs.com/aexin/p/3908003.html1. gets与fgets gets函数原型:char*gets(char*buffer);//读取字符到数组:gets(str);str为数组名。 gets函数功能:从键盘上输入字符,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。转载 2017-11-01 09:55:38 · 211 阅读 · 0 评论 -
使用openssl的md5库
http://blog.youkuaiyun.com/hepeng597/article/details/8984797在linux机器上,有一个命令可以计算出文件的md5值,那就是md5sum,如果没有的话,就需要安装RPM包:coreutils。现在我们使用openssl的库也可以方便的计算出文件的md5值。主要用到的函数是int MD5_Init(MD5_CTX *c);转载 2017-10-15 21:44:09 · 1222 阅读 · 0 评论 -
Openssl-MD5
http://blog.youkuaiyun.com/sunspider107/article/details/7395904MD5是最常用的一个信息摘要算法,虽然现在慢慢被SHA1算法替代,但还是应用广泛。MD5的计算结果是16个字节。int MD5_Init(MD5_CTX *c);初始化MD5 Context参数;c: MD5 context;转载 2017-10-15 21:50:22 · 362 阅读 · 0 评论 -
Socket网络编程--epoll小结
转载:http://www.cnblogs.com/wunaozai/p/3895860.html以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这转载 2017-10-12 17:01:17 · 206 阅读 · 0 评论 -
Linux网络编程——tcp并发服务器(epoll实现)
转载:http://blog.youkuaiyun.com/lianghe_work/article/details/46551871通过epoll实现tcp并发回执服务器(客户端给服务器发啥,服务器就给客户端回啥)代码如下:[csharp] view plain copy#include #include #incl转载 2017-10-12 17:06:12 · 678 阅读 · 0 评论 -
Linux网络编程——tcp并发服务器(poll实现)
转载:http://blog.youkuaiyun.com/lianghe_work/article/details/46535859想详细彻底地了解poll或看懂下面的代码请参考《Linux网络编程——I/O复用之poll函数》代码:[csharp] view plain copy#include #include转载 2017-10-12 17:24:56 · 223 阅读 · 0 评论 -
Linux select TCP并发服务器与客户端编程
转载:http://blog.youkuaiyun.com/szkbsgy/article/details/10558881[cpp] view plain copy"font-size:18px;">服务端: #include #include #include #include #include #include转载 2017-10-12 18:07:43 · 223 阅读 · 0 评论 -
Linux下C语言使用openssl库进行MD5校验
http://blog.youkuaiyun.com/cassie_huang/article/details/53212933作者:无脑仔的小明 出处:http://www.cnblogs.com/wunaozai/ 我们以一个字符串为例,新建一个文件filename.txt,在文件内写入hello ,然后在Linux下可以使用命令md5sum filename.txt计算md5值转载 2017-10-15 22:01:14 · 773 阅读 · 0 评论 -
IO 多路复用之poll总结
http://www.cnblogs.com/Anker/p/3261006.htmlIO多路复用之poll总结1、基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被转载 2017-10-16 10:17:04 · 193 阅读 · 0 评论 -
gethostbyname() 函数说明
https://www.cnblogs.com/cxz2009/archive/2010/11/19/1881611.htmlgethostbyname()函数说明——用域名或主机名获取IP地址 包含头文件 #include #include 函数原型 struct hostent *gethostbyname(const ch转载 2017-12-04 15:28:27 · 331 阅读 · 0 评论 -
Linux函数--inet_pton / inet_ntop
http://blog.youkuaiyun.com/lindyl/article/details/10427925inet_pton 和 inet_ntopLinux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。inet_pton函数原型转载 2017-12-25 13:24:05 · 650 阅读 · 0 评论 -
linux进程通信---几个发送信号的函数(kill,raise,alarm,pause)
http://blog.youkuaiyun.com/zzyoucan/article/details/9235685信号:信号是unix中最古老的进程通信的一种方式,他是软件层次上对中断机制的模拟,是一种异步通信方式,信号可以实现用户空间进程和内核空间进程的交互,内核进程可以利用他通知用户空间进程发生了哪些系统事件,我们可以任何时候给进程发送信号而无需知道进程的状态,如果进程当前并未处于执行转载 2017-12-28 14:30:50 · 3948 阅读 · 0 评论 -
exec 函数族
转自:http://www.cnblogs.com/mickole/p/3187409.htmllinux系统编程之进程(五):exec系列函数(execl,execlp,execle,execv,execvp)使用本节目标:exec替换进程映像exec关联函数组(execl、execlp、execle、execv、execvp)一,exec替换进程映像转载 2017-09-29 17:27:57 · 252 阅读 · 0 评论 -
Wait waitpid
转自:http://www.cnblogs.com/mickole/p/3187770.htmllinux系统编程之进程(六):父进程查询子进程的退出,wait,waitpid本节目标:僵进程SIGCHLDwaitwaitpid一,僵尸进程当一个子进程先于父进程结束运行时,它与其父进程之间的关联还会保持到父进程也正常地结束运行,或者父进程调用了wai转载 2017-09-29 17:33:02 · 237 阅读 · 0 评论 -
inet_pton, inet_ntop
转自:http://www.cnblogs.com/s7vens/archive/2011/12/12/2284964.htmlLinux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。inet_pton函数原型如下[将"点分十进制" -> "整数"]转载 2017-09-29 11:10:22 · 339 阅读 · 0 评论 -
htonl(), ntohl(), htons(), ntohs() 函数
转自:http://www.cnblogs.com/s7vens/archive/2011/12/12/2284892.html在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数:htonl()--"Host to Network转载 2017-09-29 12:46:25 · 378 阅读 · 0 评论 -
inet_ntoa、 inet_aton、inet_addr
转自:http://blog.youkuaiyun.com/zhangboyj/article/details/6157263inet_addr() 简述:将一个点间隔地址转换成一个in_addr。 #include unsigned long PASCAL FAR inet_addr( const struct FAR* cp); cp:一个以Inter转载 2017-09-29 12:53:20 · 233 阅读 · 0 评论 -
exec函数族实例解析
转载:http://www.cnblogs.com/blankqdb/archive/2012/08/23/2652386.htmlfork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。linux将复制父进程的地址空间转载 2017-10-09 10:03:34 · 253 阅读 · 0 评论 -
Linux 进程学习(四)------ sigaction 函数
转自:http://www.cnblogs.com/wblyuyang/archive/2012/11/13/2768923.html使用 sigaction 函数: signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受到了一定的限制。而 POSIX 标准定义的信号处理接口是 sigaction 函数,其接转载 2017-09-30 13:17:22 · 206 阅读 · 0 评论 -
linux下的僵尸进程处理SIGCHLD信号
转载:http://www.cnblogs.com/wuchanming/p/4020463.html什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得转载 2017-09-30 13:20:13 · 297 阅读 · 0 评论 -
linux 信号signal和sigaction理解
转载:http://blog.youkuaiyun.com/beginning1126/article/details/8680757今天看到unp时发现之前对signal到理解实在浅显,今天拿来单独学习讨论下。signal,此函数相对简单一些,给定一个信号,给出信号处理函数则可,当然,函数简单,其功能也相对简单许多,简单给出个函数例子如下:[cpp]转载 2017-09-30 13:28:41 · 237 阅读 · 0 评论 -
Linux fcntl函数详解
转载:http://www.cnblogs.com/xuyh/p/3273082.html功能描述:根据文件描述词来操作文件的特性。文件控制函数 fcntl -- file control头文件:#include #include 函数原型: int fcntl(int fd, int cmd);i转载 2017-10-01 14:56:35 · 334 阅读 · 0 评论 -
gethostbyname()函数说明
转载:http://www.cnblogs.com/cxz2009/archive/2010/11/19/1881611.htmlgethostbyname()函数说明——用域名或主机名获取IP地址 包含头文件 #include #include 函数原型 struct hostent *gethostbyname(const ch转载 2017-10-10 15:04:28 · 358 阅读 · 0 评论 -
struct stat结构体简介
转载:http://www.cnblogs.com/CSU-PL/archive/2013/06/06/3120757.html在使用这个结构体和方法时,需要引入:struct stat这个结构体是用来描述一个linux系统文件系统中的文件属性的结构。可以有两种方法来获取一个文件的属性:1、通过路径:int stat(const ch转载 2017-10-11 11:29:36 · 284 阅读 · 0 评论 -
C语言文件操作之fgets()
http://blog.youkuaiyun.com/daiyutage/article/details/8540932来说一说fgets(..)函数。 原型 char * fgets(char * s, int n,FILE *stream); 参数: s: 字符型指针,指向存储读入数据的缓冲区的地址。 n: 从流中转载 2017-10-27 22:12:21 · 207 阅读 · 0 评论 -
Linux I/O复用之select函数详解
转载:http://blog.youkuaiyun.com/y396397735/article/details/55004775select函数的功能和调用顺序使用select函数时统一监视多个文件描述符的: 1、 是否存在套接字接收数据? 2、 无需阻塞传输数据的套接字有哪些? 3、 哪些套接字发生了异常?select函数调用过程: 由上图知,调用转载 2017-10-11 16:37:21 · 259 阅读 · 0 评论 -
正则匹配函数
转载:http://blog.youkuaiyun.com/ithomer/article/details/61308061.int regcomp(regex_t *compiled, const char *pattern, int cflags)这个函数把指定的规则表达式pattern编译成一种特定的数据格式compiled,这样可以使匹配更有效。函数regexec会使用这个数据转载 2017-09-29 16:23:45 · 1222 阅读 · 0 评论 -
Linux的SOCKET编程 简单演示
转载:http://blog.youkuaiyun.com/hguisu/article/details/7445768/Linux的SOCKET编程详解1. 网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如U转载 2017-09-29 16:16:10 · 220 阅读 · 0 评论 -
基于单链表的生产者消费者问题
『生产者与消费者问题分析』 「原理」生产者生产产品,消费者消费产品。产品如果被消费者消费完了,同时生产者又没有生产出产品,消费者 就必须等待。同样的,如果生产者生产了产品,而消费者没有去消费,生产者就要在消费者消费了产品之后再 生产。生产者和消费者之间既有同步的关系,又存在互斥的部分。『互斥量(Mutex)』 「原理」互斥量是一...转载 2018-04-22 22:51:41 · 183 阅读 · 0 评论