C语言(基础 Linux C)
红娃子
这个作者很懒,什么都没留下…
展开
-
Linux链接脚本详解
一、 链接脚本作用每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).转载 2013-07-31 11:19:44 · 1461 阅读 · 0 评论 -
Linux进程通信(2):信号(下)
123原创 2013-10-30 15:19:25 · 804 阅读 · 0 评论 -
Linux进程通信(2):信号(上)
一、信号概念信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了.信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息.二、信号的使用2.1 信号的安装#include void (*s原创 2013-10-30 16:14:07 · 1009 阅读 · 0 评论 -
Linux进程通信(3):信号量
123原创 2013-10-30 17:31:39 · 819 阅读 · 0 评论 -
Linux产生随机数
原转载地址:http://jimmyleeee.blog.163.com/blog/static/9309618200711352245563/一、rand函数 函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那转载 2015-01-14 15:41:05 · 2614 阅读 · 0 评论 -
linux生产者消费者(1)
一、条件变量 条件变量http://www.cnblogs.com/motadou/archive/2010/02/13/1668075.html 生产者消费者http://www.cnblogs.com/justinzhang/archive/2011/12/21/2296289.html原创 2016-06-21 20:22:42 · 708 阅读 · 0 评论 -
linux生产者消费者(2)
一、posix信号量信号量基础知识http://blog.csdn.net/xiajun07061225/article/details/8467853二、示例代码#include#include #define BUFFER_SIZE 4 /* 循环缓冲区中的整数 */ struct data { int buffer[BUFFER_SIZE];原创 2016-06-21 20:56:40 · 549 阅读 · 0 评论 -
Linux进程通信(1):管道(下)
123原创 2013-10-28 19:29:20 · 577 阅读 · 0 评论 -
Linux进程通信(1):管道(上)
123原创 2013-10-28 16:46:16 · 899 阅读 · 0 评论 -
Linux网络编程
123原创 2013-10-16 11:20:24 · 950 阅读 · 0 评论 -
Linux select机制
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include #include int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout); 参数maxfd是需要监视的最大的转载 2013-06-24 20:48:15 · 952 阅读 · 0 评论 -
Linux poll机制
一、poll机制功能poll的是一种查询的方式,英文解释 :民意调查函数原型:int poll(struct pollfd *fds ,nfds_t nfds ,int timeout);fds为指向待查询的设备文件数组;nfds描述第一个参数fds中有多少个设备;timeout为查询不到我们期望的结果进程睡眠的时间;返回值原创 2013-06-22 23:30:47 · 1301 阅读 · 0 评论 -
Linux fasync机制
linux异步通知类似于中断,程序开始做的就是将想监测的文件设置为异步通知,然后程序就去做别的事情了,当这些文件上面有数据可读时候,就发送一个信号,程序接受到这个信号就去处理这个文件的数据。这样程序不再是主动去读文件了,而是以类型于中断的方式,这样程序更加灵活。要弄清linux异步通知必须要弄明白一下几件事:1.谁发信号2.发给谁3.接受到信号怎么办一、异步通知的使用原创 2013-06-22 23:03:43 · 1286 阅读 · 0 评论 -
Linux串口设置
Linux串口是连接许多外围设备的重要接口,因此掌握linux串口的设置十分的重要。Linux串口设置主要分为四步: 第一:打开需要使用的串口设备 第二:获取该串口设备的属性 第三:根据应用设置该串口的属性 第四:将设置生效第一步:打开串口设备fd = open(serialDev,O_RDWR | O_NOCTTY)原创 2013-06-22 22:41:43 · 3176 阅读 · 0 评论 -
linux线程通信:sigwait和pthread_kill
1、函数介绍1.1 sigwait sigwait的含义就如同它的字面意思:等待某个信号的到来。如果调用该函数的线程没有等到它想等待的信号那么该线程就休眠。 要达到等到一个信号,我们得做下面的事! 首先,定义一个信号集#include sigset_t set; 其次,向信号集中加入我们想等待的信号#include in原创 2013-06-22 23:26:31 · 2726 阅读 · 0 评论 -
Linux之V4L2编程
一、V4L2定义V4L2(VideoFor Linux Two)是内核提供给应用程序访问视频驱动的统一接口。二、工作流程三、V4L2常用接口注意:V4L2的相关定义包含在头文件中3.1 打开设备#include int open(const char *device_name, int flags);#include int close(int原创 2013-09-18 16:41:55 · 2299 阅读 · 0 评论 -
printf sprintf 用法
#includeint printf(const char *format,...);int fprintf(FILE *stream,const char *format,...);int sprintf(char *str,const char *format,...);int snprintf(char *str,size_t size,const char *format,原创 2013-09-19 15:35:43 · 2146 阅读 · 0 评论 -
sscanf详解
一、sscanf函数原型功能:从一个字符串中读进与指定格式相符的数据. 原型: int sscanf(char *str, char *format, mixed var1, mixed var2 ... ); 参数1:str 用于输入的字符串参数2:format 格式控制字符串参数3:后面是变参,用来保存指定格式str的内容二、format格式控制原创 2013-09-25 12:28:00 · 6464 阅读 · 0 评论 -
linux生产者消费者(3)
一、system v信号量1.1 信号量初始化#include int semget(key_t _key ,int _nsems,int _semflg); 功能:创建一个新的信号量或获取一个已经存在的信号量的键值。 返回值:成功返回信号量的标识码ID。失败返回-1; 参数:_key 为整型值,用户可以自原创 2016-06-22 11:00:54 · 1004 阅读 · 0 评论