linux
文章平均质量分 61
青丝入流年12345
平平无奇的吃货
展开
-
linux对libcurl库封装
C++可以使 用libcurl库进行http通讯网络编程。关于libcurl库基本函数解释: 调用curl_global_init()初始化libcurl 调用curl_easy_init()函数得到 easy interface型指针 调用curl_easy_setopt()设置传输选项 根据curl_easy_setopt()设置的传输选项,实现回调函数以完成用户特定任务 调用curl_easy_perform()函数完成传输任务 调用curl原创 2020-11-04 11:32:46 · 416 阅读 · 0 评论 -
gdb调试coredump
gdb调试coredump我们知道程序崩溃的时候会生成coredump,可有时候我们却找不到相应的core文件。我们应该进行相应的配置。1、ulimit使用ulimit -c命令查看是否能生成core文件。若为0则不会生成core文件。使用ulimit -c unlimited设置无限大,则任意情况下都会产生core文件。2、查看core文件路径使用cat /proc/sys/kernel/core_pattern命令查看core文件的路径。我们一般先配置core文件的生成路径:echo原创 2020-10-20 15:02:41 · 203 阅读 · 0 评论 -
shell学习笔记(二)
shell学习笔记(二)shell学习shell学习笔记(二)一、shell字符串二、条件语句三、循环语句四、shell过滤器一、shell字符串字符串表示:字符串可以由单引号’ '包围,也可以由双引号" "包围,也可以不用引号。str1=c.biancheng.netstr2="shell script"str3='C语言中文网'单引号和双引号前面已经解释过了。不用引号的话字符串之间不能有空格。字符串拼接:直接将两个字符串放在一起就好了,简单粗暴。#!/bin/bashname=原创 2020-09-30 17:08:05 · 156 阅读 · 0 评论 -
shell学习笔记(一)
shell学习笔记(一)shell学习shell学习笔记(一)一、shell变量二、变量的替换三、位置参数一、shell变量定义:变量=值注意:赋值的等号前后不能有空格使用:在变量的前面加上$,推荐给所有变量加上花括号{ }author="严长生"echo $authorecho ${author}单引号和双引号的区别:以单引号’ '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来)也会把它们原样输出。这种方式比较适合定义显示纯字符串的情况,即不希原创 2020-09-30 11:43:36 · 102 阅读 · 0 评论 -
Makefile学习(二)
Makefile学习(二)Makefile学习Makefile学习(二)一、makefile常用函数二、命令回显与执行三、makefile的嵌套执行一、makefile常用函数1、字符串替换函数,函数使用格式如下$(subst from,to,text)OBJ=$(subst ee,EE,feet on the street)all: @echo $(OBJ)执行 make 命令,我们得到的值是“fEEt on the strEEt”。2、取后缀名函数,函数使用格式如下:$(s原创 2020-09-29 10:48:30 · 141 阅读 · 1 评论 -
Makefile学习(一)
Makefile一、makefile书写规则targets : prerequisites command相关说明如下:targets:规则的目标,可以是 Object File(一般称它为中间文件),也可以是可执行文件,还可以是一个标签;prerequisites:是我们的依赖文件,要生成 targets 需要的文件或者是目标。可以是多个,也可以是没有;command:make 需要执行的命令(任意的 shell 命令)。可以有多条命令,每一条命令占一行。命令的开始一定要使用Ta原创 2020-09-28 17:29:04 · 304 阅读 · 0 评论 -
Linux下v4l2采集视频
v4l2采集视频V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。v4l2为linux下视频设备程序提供了一套接口规范。包括一套数据结构和底层V4L2驱动接口。只能在linux下使用。它使程序有发现设备和操作设备的能力。它主要是用一系列的回调函数来实现这些功能。像设置摄像头的频率、帧频、视频压缩格式和图像参数等等。当然也可以用于其他多媒体的开发,如音频等。一、打开设备open ("/dev/video0", O_RDWR | O_NONBLOCK, 0);二、原创 2020-09-21 17:06:31 · 260 阅读 · 0 评论 -
TCP、UDP分析
各种通讯协议头解析1、TCP头分析二、UDP协议三、IP 头格式四 、以太网头一、TCP头分析先来分析一下TCP头的格式以及每一个字段的含义:字段 长度bit 含义 源端口号 16 该报文段是哪个服务发出的 目的端口号 16 该报文段需要哪个服务接收。进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器...原创 2020-09-16 11:03:43 · 253 阅读 · 0 评论 -
read、write和fread、fwrite
一、文件I/O操作1、打开文件函数open()需要头文件:#include<sys/stat.h> #include<fcntl.h>函数原型:int open(const char *pathname,int flags,int perms);函数参数:pathname:打开文件名(可以包含具体路径名)flags:打开文件的方式,具体见下perms:新建文件的权限,可以使用宏定义或者八进制文件权限码,具体见下函数返回值:成功:文件描述符失..原创 2020-09-15 17:11:36 · 332 阅读 · 0 评论 -
linux生成静态库与动态库
静态库与动态库的分析1、什么是库?库(library)是一种可执行代码的二进制形式,通常把一些常用的函数制作成各种函数库,然后被系统载入内存中运行。库内一般都是各种标准程序、子程序、相关文件以及目录等的集合,内置一些经常用的程序。主要有:1)标准子程序:例如三角函数、反三角函数等2)标准程序:例如解常微分方程等3)服务性程序:例如输入、输出、磁盘操作、调试等。由于windows与linux系统不同,因此二者的二进制库是不兼容的。Linux系统下的库分为静态库与动态库两种。二者的不原创 2020-09-15 09:18:15 · 108 阅读 · 0 评论 -
linux任务、进程详解
一、Linux多任务机制1、多任务机制简介多任务处理指的是用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为“任务”。相比于单任务的操作系统(例如早期的MS-DOS),当代绝大多数操作系统都支持多任务,功能增强了很多。但是,CPU(每个核心)在某一时刻只能执行一个任务,因此多任务操作系统必须解决CPU核心(单任务线性)与操作系统的任务(多任务并行)之间的矛盾。常见的解决方案是将CPU的运行分解成时间片(几十毫秒到上百毫秒不等),每个任务被分配不同的时间片来独占CPU进行运算。在该原创 2020-09-14 11:05:12 · 625 阅读 · 0 评论 -
Linux下的gpio使用
Linux下的gpio使用一、gpio公式换算通过cat /sys/kernel/debug/gpio 查看gpio具体的分组情况A0~A7 是 0~7B0~B7 是 8~15C0~C7 是 16~23D0~D7 是 24~31例子:Gpio2_B2 : 56+10=66 (Gpio2是56,B2对应10)Gpio1_D2: 24+26=50 (Gpio1是24,D2对应26)二、写入gpiocd /sys/class/gpio/echo num > exp原创 2020-09-14 09:54:01 · 1096 阅读 · 0 评论