标签 ret 下的文章

  • 📂Linux驱动V4L2摄像头教程

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

  • 📂linux驱动之LED驱动教程

    通过之前的学习,了解到linux驱动编写的流程是:先通过注册函数注册我们编写的入口函数,然后在入口函数中获取设备号->注册字符设备->自动创建设备节点->获取设备树信息,最后通过销毁函数将出口函数中需要释放的资源进行释放,想知道具实现的小伙伴可以查看我之前的文章。完成之前的学习,这篇文章所涉及的知识就比较简单了,现在我们开始led驱动的学习。一、准备材料开发环境:VMwar...

  • 📂Linux内核字符设备开发小例子教程

    其实很简单,简单理解了字符设备之后就是一个套模板编程呢个的问题了。这边简单的放一个例子首先简要说明目录结构:我是在内核代码下直接新建了一个自己的chrdev\_test的文件夹,下面这些文件都放在该目录下。如果你不想这么做的话,起码要保证的是下面的.c和Makefile文件在一个目录下,不然没办法完成编译#include <linux/module.h> #include <...

  • 📂Linux C实现简单,多进程,多线程服务器教程

    简单服务器#include <stdio.h> #include <string.h> #include <netinet/in.h> #include <sys/socket.h> int main(){ // 创建服务端fd int listenfd = socket(AF_INET,SOCK_STREAM, IPPROT...

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

    queue.h #ifndef __QUEUE_H__ #define __QUEUE_H__ #include <pthread.h> #if...

  • 📂Linux驱动-IIC驱动(基于AP3216C)教程

    #include <linux/types.h> #include <linux/module.h> #include <linux/init.h> #include <linux/kernel.h> #include <asm/io.h&g...

  • 📂利用信号捕捉函数回收子进程教程

    SIGCHLD信号只要子进程发生变化就会产生SIGCHLD信号通知父进程: 1.子进程终止时; 2.子进程接收到SIGSTOP信号停止时; 3.子进程处在停止态,接收到了SIGCONT唤醒时。利用信号捕捉函数回收子进程#include <stdio.h> #include <stdlib.h> #include <string.h> #incl...

  • 📂【Linux】网络编程套接字(二)—— TCP编程教程

    文章目录1. TCP协议通信流程1.1 初始化1.2 建立连接 —— 三次握手1.3 数据传输1.4 关闭连接 —— 四次挥手2. 简单的TCP网络程序2.1 TCP的socket API详解2.1.1 监听2.1.2 获取连接2.1.3 建立连接2.1.4 发送数据2.1.5 接收数据2.2 客户端程序2.3 服务端程序2.4 测试多个连接的情况3. TCP多进程版本4. TCP多线程版本...

  • 📂Centos7编译运行封装格式转换器教程

    目录- 安装依赖库下载源代码并编译写测试程序编译运行出现的问题安装依赖库yum -y install gcc gcc-c++ gdb automake nasm 下载源代码并编译git clone https://gitee.com/mirrors/ffmpeg.git cd ffmpeg ./configure --prefix=/usr/local/ffmpeg make make in...

  • 📂Linux select/poll机制原理分析教程

    转自 linux内核之旅以下文章来源于LoyenWang ,作者LoyenWang前言Read the fucking source code! --By 鲁迅A picture is worth a thousand words. --By 高尔基概述Linux系统在访问设备的时候,存在以下几种IO模型:Blocking IO Model,阻塞IO模型;Nonblocking I/O Mo...

  • 📂return echo 返回值,返回状态码 shell教程

    return 返回的是状态码, return不返回函数返回值 可以在前面用 echo 返回函数返回值,return 返回指定函数退出状态码echo 返回的是函数返回值,如果没有使用return,则函数退出状态码是函数最后一条命令的退出状态码return后面的语句将不再执行#!/bin/bash function fn(){ a=$1 b=$2 ...

  • 📂共享内存原理与VCS监控采集实战教程

    作者:cluo一、前言共享内存广泛用于Redis,Kafka,RabbitMQ 等高性能组件中,本文主要提供一个共享内存在广告埋点数据采集的实战场景。二、共享内存原理1、原理在Linux中,每个进程都有属于自己的进程控制块(PCB)和地址空间(Addr Space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过...

  • 📂linux 中 gmtime和 localtime区别教程

    gmtime和localtimestruct tm *gmtime(const time\_t *timep); struct tm *gmtime\_r(const time\_t *timep, struct tm *result);struct tm *localtime(const time\_t *timep); struct tm *localtime\_r(const ...

  • 📂python-线程池-进程池教程

    线程池进程池 concurrent.futures什么是池要在程序开始的时候,还没提交任务先创建几个线程或者进程放在一个池子里,这就是池为什么要用池如果先开好进程/线程,那么有任务之后就可以直接使用这个池中的数据了并且开好的线程或者进程会一直存在在池中,可以被多个任务反复利用。这样极大的减少了开启\关闭\调度线程/进程的时间开销池中的线程/进程个数控制了操作系统需要调度的任务个数,控制池中的...

  • 📂【linux系统编程】open函数使用教程

    open函数属于Linux中系统IO,用于“打开”文件,代码打开一个文件意味着获得了这个文件的访问句柄。int fd = open(参数1,参数2,参数3);int fd = open(const char *pathname,int flags,mode\_t mode);1.句柄(file descriptor 简称fd)首先每个文件都属于自己的句柄,例如标准输入是0,标准输出是1,标准...

  • 📂linux设备驱动中的并发控制教程

    学习目的:学习linux设备驱动中的并发控制编程练习:在globalmem字符设备基础上增加信号量管理共享资源意外收获:第一次比着书上代码抄,很多东西理解不了,尤其file\_operation什么时候调用,虽然现在也不懂。。。但好歹有个大致猜测理解1- linux并发控制理解学过ucos,很多和Linux相通。并发控制就是对共享资源的互斥访问。比如有一把手枪,你我都能想玩,但同一时间只能一...

  • 📂MySQL 连接中 IP 或端口错误导致连接超时的解决方案教程

    在 Visual Studio 中调用 mysql\_real\_connect() 函数连接 MySQL 过程中,当仅有连接 IP 错误时,会存在大概 20 秒的连接超时,最后连接失败;当有连接端口错误时,会存在大概 60 秒连接超时,最后连接失败。通过在 mysql\_real\_connect() 前配置以下函数:mysql\_options(handle, MYSQL\_OPT\_C...