
C
文章平均质量分 66
啊浪的博客
细节决定一切。
最近会将很久之前总结的相关笔记整理成文章,以作总结。侵即删。
展开
-
Linux下开发-守护进程(daemon)
intdaemon(void){pid_t pid=fork();if(pid!=0)exit(0);//parent//first childrenif(setsid()==-1){printf("setsid failed\n");assert(0);exit(-1);}原创 2017-11-05 16:49:08 · 910 阅读 · 1 评论 -
Linux IO模型
IO操作步骤(1)发起IO请求:IO请求一般需要请求特殊资源(如磁盘、RAM、文件、网络),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。(2)实际IO操作:真正进行数据接收(数据复制)。IO分类步骤1(发起IO请求):分为阻塞IO和非阻塞IO,区别主要是看发起IO请求是否阻塞进程。1、应用程序调用后,不能立即返回的称为原创 2017-11-05 14:49:16 · 312 阅读 · 0 评论 -
Linux下开发-资源详解
资源限制获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。#includeint getrlimit(int resource, struct r原创 2017-11-05 23:23:46 · 257 阅读 · 0 评论 -
Linux下开发-揭秘文件链接数
unlinkint unlink( const char* pathname);此函数删除目录项,并将由pathname所引用文件的链接计数减1。如果还有指向该文件的其它链接,则仍可通过其他链接访问该文件的数据。如果出错,则不对该文件做任何更改。只有当链接计数达到0时,该文件的内容才可被删除。关闭一个文件时,内核首先检查打开该文件的进程数。如果该数达到0,然后内核检查其链接数,如果原创 2017-11-04 14:05:14 · 2685 阅读 · 1 评论 -
C/C++extern详解
在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,比如加上函数的参数类型等等。而在C中,只是简单的函数名字而已,不会加入其他的信息。也就是说C++和C对产生的函数名字的处理是不一样的.试想这样的情况:一个库文件已经用C写好了而且运行良好,这个时候我们需要使用这个库文件,但是我们需要使用C++来写这个新的代码。如果这个代码使用的是C++的方式链接这个C库文件的原创 2017-10-30 00:06:12 · 625 阅读 · 1 评论 -
C/C++宏
字节对齐#pragmapack(n)如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式。如果n小于该变量的类型所占用的字节数,那么偏移量为n的倍数,不用满足默认的对齐方式。宏的字符串操作#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号。#defi原创 2017-10-29 12:08:10 · 351 阅读 · 1 评论 -
Makefile和GCC日常用法
GCC-I、-L、-lgcc -o hello hello.c -I /home/hello/include-L /home/hello/lib –lworld(大写i) -I/home/hello/include:表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找顺序:/home/hello/include--> /usr/include -->原创 2017-11-04 13:14:22 · 1654 阅读 · 0 评论 -
C/C++字节详解
下面介绍几个例子,让大家对字节有一个相对深刻的认识sizeof和strlen1、sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2、strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。例子int *p; sizeof(p)=4;sizeof(*p)相当于sizeof(int);对于静原创 2017-11-04 13:23:26 · 7151 阅读 · 1 评论