Linux 系统编程
文章平均质量分 92
SJLin96
这个作者很懒,什么都没留下…
展开
-
编译时库文件、头文件搜索选项
-L和-l(小写L) (-I(大写i))如果库文件(lib)不在默认路径,编译时候用-L添加搜索路径,可以多个一起用-l(小写L)用于指定连接库,一般情况下库名字为 lib~.so 或 lib~.a 。用-l 时只用接中间部分就好。例如libx264.so 只需 -lx264-I(大写i)用于搜索头文件路径 例:-L/arm-2018/x264/lib -lx264 -I/arm...原创 2018-07-25 09:56:28 · 202 阅读 · 0 评论 -
V4L2 摄像头采集图像开发笔记
一、简介一般采集过程:打开视频设备 → 设定属性(裁剪、缩放)→ 设定采集方式 → 开始采集,并处理采集数据(循环) → 关闭视频设备 头文件:<linux/videodev2.h> 二、查询设备属性:VIDIOC_QUERYCAP相关结构体struct v4l2_capability{ u8 driver[16]; //驱动名 u8 card...原创 2018-07-26 11:42:42 · 1524 阅读 · 0 评论 -
fork() 和vfork()
一、fork()1.简介fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程。也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。2.fork()函数的返回值在...原创 2018-07-22 11:11:40 · 117 阅读 · 0 评论 -
I/O多路复用:select、poll、epoll
一. I/O多路复用1. 流不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 从流中读取数据或者写入数据到流中,可能存在这样的情况:读取数据时,流中还没有数据;写入数据时,流中数据已经满了,没有空间写入了。典型的例子为客户端要从socket流中读入数据,但是服务器还没有把数据准备好。此时有两种处理办法: ①阻塞,等待数据准备好了,再读取出来返回 ②非阻塞,通过轮询的方式,查...原创 2018-08-25 19:26:27 · 177 阅读 · 0 评论 -
Linux 系统调用
一. 原理简介系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内...原创 2018-09-04 09:00:50 · 296 阅读 · 0 评论 -
Linux的内存分布 和mmap、brk函数
一. 内存分布代码段(.text):代码,全局常量(const),只读变量和字符串常量(有可能在代码段,一般被放在只读数据".rodata"段,还有可能就在“.data”段)。 数据段(.data):全局变量(初始化以及未初始化的)、静态变量(全局的和局部的、初始化的以及未初始化的)。数据段包括初始化的数据和未初始化的数据(BSS)两部分。BSS段存放的是未初始化的全局变量和静态变量。BSS...原创 2018-09-04 09:39:43 · 781 阅读 · 0 评论 -
Linux 下动态链接库相关函数
前几天参加一个面试,遇到这么一个问题:如果两个驱动模块,其中一个模块要去调用另外一个模块中的一个函数,怎么做?当时我就懵逼了,完全没接触过,出来后师兄提醒,才了解到Linux 下有动态链接库加载这种东西。 一. 使用简介#include <dlfcn.h>1. dlopen用于打开一个动态链接库 原型:void * dlopen( const char * path...转载 2018-09-16 19:35:02 · 510 阅读 · 0 评论 -
shell脚本学习 (五)杂项
一、 getopts①简介C有getopt_long函数用于解析命令行参数,在shell里用的是getopts。 一般格式:getopts options variable getopts 一般是在循环中运行,每次执行循环,getopts 就检查下一个命令行参数,并判断它是否合法。即检查参数是否以 - 开头,后面跟一个包含在 options 中的字母。如果是,就把匹配的选项字母存在指定...原创 2019-03-02 21:58:49 · 361 阅读 · 0 评论