C
热情的半坡居士
这个作者很懒,什么都没留下…
展开
-
GNU C __atttibute__ 机制
/* * *attribute机制 gnu c 一大特色 可以设置函数属性、变量属性、类型属性; *书写特征:__attribute__(...); * * */ /******1:函数属性********/#include /********************************************************************/原创 2018-01-30 18:04:23 · 735 阅读 · 0 评论 -
深入了解二维数组
首先:二维存储a[3][4];二维数组的一维数组:原创 2018-02-03 19:38:13 · 155 阅读 · 0 评论 -
GCC 编译流程分析
1:预处理阶段#include <stdio.h>//源码int main(int argc, char *argv[]){ int a = 8; int b; a = a+3; printf("a = %d\n",a); return 0;}把头文件加到test.i文件了:我们可以看见加了好多文件2:编译阶段(gcc首先...原创 2019-03-25 09:05:01 · 379 阅读 · 0 评论 -
linux c 进程
1.孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理解的.#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <stri...转载 2018-02-23 14:46:21 · 315 阅读 · 0 评论 -
select函数 异步多路复用
使用select函数就可以实现非阻塞编程:异步//服务端/*fd_set其实这是一个数组的宏定义,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(socket、文件、管道、设备等)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select()的进程哪个句柄可读。*/#include <...原创 2018-02-23 17:38:21 · 406 阅读 · 0 评论 -
linux c 进程
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <errno.h>#include <sys/types.h>#include <wait.h>#include <sys/ipc.h>#if 0int main(i原创 2018-03-25 13:39:39 · 247 阅读 · 0 评论 -
进程文件描述符继承
#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int g = 100; ...原创 2018-07-18 10:31:54 · 258 阅读 · 0 评论 -
linux c 进程池 简单实现
进程池&&线程池在面向对象程序编程中,对象的创建与析构都是一个较为复杂的过程,较费时间,所以为了提高程序的运行效率尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。 所以我们可以创建一个进程池(线程池),预先放一些进程(线程)进去,要用的时候就直接调用,用完之后再把进程归还给进程池,省下创建删除进程的时间,不过当然就需要额外的开销了。 利用线程池与进程池可以...原创 2019-02-16 14:00:39 · 4025 阅读 · 0 评论 -
Makefile中 -I -L -l区别
我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:例:gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld上面这句表示在编译hello.c时:-I /home/hello/include表示将/home/hello/include目录作为...转载 2019-06-24 09:57:56 · 9478 阅读 · 0 评论