自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Makefile的链接器错误:最不易被发现的bug

链接器错误可能是由于链接顺序的问题导致的。在大多数情况下,建议将源文件放在链接命令的前面,并在源文件之后放置库路径和库文件,以确保符号解析的正确顺序。为了避免这种链接器错误,可以遵循以下规则:1.将所有源文件列在前面。2.将包含路径和库路径列在源文件之后。3.最后列出库文件。

2024-06-20 14:53:01 477

原创 Makefile详解 讲清楚makefile用法和几种使用方法

makefile 的几种用法详解

2024-05-30 15:41:34 113

原创 linux入门知识

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

2024-05-18 21:57:58 640

原创 c++ 常见知识点

如果不初始化,它的值是未定义的初始值。我相信你应该知道,在Linux中线程其实是通过轻量级进程实现的,也就是LWP(light weight process),因此在Linux中每个线程都是一个进程,都拥有一个PID,换句话说,操作系统原理中的线程,对应的其实是Linux中的进程(即LWP),因此Linux内核中的PID对应的其实是原理中的TID。当我们需要做一个成绩管理系统,人数可能为全校学生,也可能为一个班的学生,当我们开辟一个班的数组大小时,如果要存储整个学校的人数时,会出现内存不够用的情况;

2024-05-17 14:47:28 741

原创 简单讲解SDL 互斥锁和信号量

如果条件不满足,它会调用SDL_CondWait(cond, lock)来等待条件变量,同时释放对互斥锁的控制,以便其他线程能够操作共享资源。在某个时刻,它设置条件为真,然后通过调用SDL_CondSignal(cond)发送条件变量信号,通知等待中的线程A条件已经满足,可以继续执行。整个过程中,线程A等待条件变量的改变,线程B负责改变条件并通知线程A。总的来说SDL的互斥锁与thread的互斥锁基本相同,但是通过SDL的信号量,可以将互斥锁进行释放,进行其他配置。为了便于理解直接给例子去讲解。

2024-05-15 20:42:34 178

原创 ffmpeg库函数 avformat_open_input() 和 avformat_alloc_output_context2() 的区别

总的来说,avformat_open_input() 用于打开和读取现有的音视频文件,而 avformat_alloc_output_context2() 用于创建新的音视频文件。两者都返回一个指向 AVFormatContext 结构体的指针,以供后续的音视频操作使用。它打开给定的音视频文件,并将其解析成一个 AVFormatContext 结构体,以便后续的读取操作。它分配一个 AVFormatContext 结构体,并为其指定输出格式,通常用于创建新的音视频文件。

2024-05-13 20:03:12 255

原创 经典查找算法

每一次都是拿要查找的数和子序列的中间位置比较,如果要查找的数比中间位置的小就往左边找,反之向右边找,如果找到返回中间位置下边,精力多次找不到返回-1.选取头部(尾部)位置做哨兵,从尾部(头部)开始便利到头部(尾部),找到对应元素则返回下标。原来的内存中有一个单元是不用的,这个单元用来存储哨兵。一定会找到,因为有哨兵。左节点小于父节点,右节点大于父节点。链式存储,适合插入和删除。从序列的一端到另一端,找到元素返回对应下标,退出循环。左子树和右子树的高度之差的绝对值不超过1。可能找的到,也可能找不到。

2024-05-13 15:19:21 211

原创 十大排序算法

算法思想:统计原来数组的数据, 并将数据转换成下标存储于一个临时的空间中,然后变量临时空间把对应的下标值放回原数组中,当便厉临时空间完成后,原来数组也排好序了。核心思想:使用轴,每一轮左右递归后,把轴放在中间,使得轴的左边都比较小,轴的右边都比轴打。优点是当原始序列基本有序时,再将一个新的数据插入进来比较方便,也比较高效率。拿两个有序的序列重新组合成一个新的有序序列。经典的希尔序列 : 1 , 4 , 16, …每一个存储的节点都是连续的。:父亲的权值比左右子树的权值大。:父亲的权值比左右子树的权值小。

2024-05-13 11:21:10 243 1

原创 回调函数和函数指针

【代码】回调函数和函数指针。

2024-05-07 20:56:23 196

原创 解释阻塞IO,非阻塞IO,IO多路复用,同步IO,异步IO

简单解释IO

2024-05-06 20:52:30 109

转载 FFmepg 改版后的一些函数调用修改

/got_picture = 0 success, a frame was returned //注意:got_picture含义相反。原文链接:https://blog.csdn.net/wangbuji/article/details/121853047。旧接口av_register_all()------------新版不需要注册。new: //最后一个参数align这里是置1的,具体看情况是否需要置1。//读取到一帧音频或者视频 //处理解码后音视频 frame。//读取到一帧音频或者视频。

2024-04-10 17:21:43 39 1

原创 c++在函数后面加const

在这个例子中operation后面加const 表示函数不可以修改class的成员。

2024-03-04 15:40:20 173 1

原创 c++设计模式

c++单例模式主要依赖的是static 静态变量生成静态指针指向类。单例模板采用类模板方法进行设计。

2024-03-03 21:56:05 203

原创 Linux系统IO函数

linux中关于open函数的用法

2024-03-01 20:42:58 178 1

原创 解决乌班图ifconfig 没有ens33 只有lo,ifconfig-a 有ens33的问题

ens33失效

2024-02-29 19:21:00 289

原创 c,c++中return 和exit 函数的区别

在 main() 函数中,return 语句用于指示程序的正常结束,并返回一个整数值给调用进程。这个整数值表示程序的退出状态,通常用来表示程序的执行结果。返回值0通常表示程序成功执行,而非0的返回值通常表示程序执行出错或异常。exit 函数不是返回到调用者,而是直接终止程序的执行,并返回一个整数值给操作系统。这个整数值也用来表示程序的退出状态,通常与 return 的用法一样,0表示成功,非0表示失败。return 只能用于函数内部,用于指示函数返回值,而不能用于终止整个程序的执行。

2024-02-26 08:45:43 158 1

原创 关于程序的入口函数简单了解

简单了解入口函数

2024-02-26 08:39:05 173 1

原创 函数指针和指针函数的区别

首先从语文的角度来分析,我们要先知道什么是主体部分。

2024-02-25 17:31:06 98 1

原创 线程thread

运行中的软件。

2024-01-15 08:46:24 1217

原创 c++11新特性标准

/函数指针类型定义// 函数指针类型//重定义std::map。

2024-01-06 17:05:08 358 1

原创 c语言学习笔记

一些不熟悉容易忘得c语言知识

2024-01-05 17:19:48 332 1

原创 c++编写modbusTCP/ip协议远程读写服务器

自己根据网络编程知识模拟客户端多线程远程读写modbus slave

2023-12-28 12:35:48 742 1

原创 stm32 复习心得

今天主要复习了前几天学习的串口函数,外部中断函数,以及计时器函数。明白了外部中断的时用方法,和外部中断函数是读取到中断进行程序的执行例如闪烁灯光。pwm输出实验主要根据定时器实验函数后加入pwm输出函数。//TIM3 PWM部分初始化 //PWM输出初始化//arr:自动重装值//psc:时钟预分频数void TIM3_PWM_Init(u16 arr,u16 psc){ ...

2019-08-19 19:19:23 215

原创 stm32定时器

#include "timer.h"#include "led.h"void timer3_init(u16 arr,u16 psc){TIM_TimeBaseInitTypeDef TIM_TimeBaseyyy; NVIC_InitTypeDef NVIC_SGDJY;RCC_APB2PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); /...

2019-08-18 15:08:52 617

原创 stm32编程学习

#include "stm32f10x.h" void puq(void) { GPIO_InitTypeDef GPIO_WANG; NVIC_InitTypeDef NVIC_bo; USART_InitTypeDef USART_init; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO...

2019-08-15 19:37:28 152

原创 stm32编程学习

u8 key=0; 应用u8函数中的变量并新定义一个取值为0的key;define 用于宏定义标识符字符串提高代码可行性extera 申明变量、函数、变量在别的文件中端口复用配置过程1.GPIO段口的时钟使能2.复用外设时钟使能3.端口模式配置 GPIO_Init()函数...

2019-08-14 17:33:00 137

原创 stm32编程语言学习

今天主要复习了之前学习的跑马灯 蜂鸣器 和按键代码有自己一点一点打出来将无法执行的地方对照光盘中的代码进行查询 发现了部分问题 例如函数提名经常记不住以及对按键代码的控制单次还是连续按键不太熟悉今天主要了解了这部分的代码,并将代码记下作为日后复习是应用并且发现if(key)这样的条件语句,注重明白了c语言基础的重要性。下述代码为按键操作代码通过static 实现按键的准确,并用delay函数进...

2019-08-13 18:55:48 6621

原创 stm32编程学习

今天学习了stm'32编程引用按键按键代码如下#ifndef __key_h#define __key_h#include "sys.h"#define KEY0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//读取按键0#define KEY1 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)//读取按键1...

2019-08-12 13:57:36 2156

原创 stm32编程学习

今天简要学习了蜂鸣器的编写主函数代码如下#include "led.h"#include "fmq.h"#include "delay.h"int main(void){FMQ_Init();// 引用函数 LED_Init(); delay_init(); while(1) { GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_Se...

2019-08-11 16:10:56 490

原创 随笔

#include "led.h"#include "stm32f10x.h"void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructr; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIOB RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//PGIOE GPIO_InitStructr.G

2019-08-09 15:41:50 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除