自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (2)
  • 收藏
  • 关注

原创 c++ std::lock_guard/unique_lock

本文摘要:C++11提供了两种互斥量管理工具:std::lock_guard和std::unique_lock。lock_guard通过RAII机制在构造时自动加锁、析构时解锁,简单高效但不支持手动操作。unique_lock功能更灵活,支持延迟锁定(defer_lock)、尝试锁定(try_to_lock)和已锁定管理(adopt_lock),并提供lock()/unlock()等手动控制接口,但性能开销略高。两者均通过析构自动释放锁,其中unique_lock的所有权可移动但不可复制。

2025-05-28 08:45:42 352

原创 Linux内核-锁机制

Linux内核提供了多种锁机制来确保多线程环境下的数据同步和互斥访问。主要的锁机制包括原子操作、自旋锁、信号量、RCU(Read-Copy-Update)、读写锁和互斥锁。原子操作用于简单的整数操作,确保操作的不可分割性。自旋锁适用于保护短代码段,避免长时间占用CPU资源。信号量适合保护较长的临界区,但代价较高。RCU机制允许读写并发,适用于读多写少的场景。读写锁允许多个读操作并发,但写操作独占。互斥锁则用于保护数据不被并发修改,性能较高。每种锁机制有其适用场景,开发者应根据具体需求选择合适的锁机制。

2025-05-15 13:43:24 578

原创 Linux内核-进程管理(进程复制)

_do_fork函数是执行系统调用如fork、vfork、clone或启动内核线程kernel_thread时的核心函数。该函数通过clone_flags参数控制复制过程中的属性,如指定子进程终止时发送给父进程的信号。_do_fork首先调用copy_process来生成新进程的实际工作,包括复制父进程的task_struct和thread_info实例内容。然后,它会获取PID,并在必要时初始化vfork完成处理函数。接着,函数会唤醒新创建的子进程,并在需要时等待vfork完成。

2025-05-12 11:20:55 582

原创 c++ std::atomic

c++ std::atomic 原子操作

2023-08-25 16:08:31 681

原创 c++ std::mutex与std::condition_variable

std::mutex std::lock_guard std::unique_lock; std::condition_variable

2023-08-24 17:59:37 486

原创 c++ std::thread线程类

c++ std::thread类用法及避坑详解sleep_for(),sleep_until(),get_tid(), yield()等;

2023-08-24 09:31:13 458

原创 c++ boost库之pool内存池

boost库pool内存池 object_pool类对象内存池源码及示例

2023-08-10 10:21:33 823

原创 c++ boost库之scoped_ptr,shared_ptr,weak_ptr智能指针

boost库 scoped_ptr,shared_ptr,weak_ptr作用及使用示例

2023-08-09 11:52:31 199

原创 c++ boost库之date_time随笔

【代码】c++ boost库之date_time随笔。

2023-08-08 15:23:30 233

原创 c++ boost库之timer相关类

timer库包含三个组件,分别是timer;

2023-08-07 18:41:45 429

原创 jsoncpp源码篇(二)

jsoncpp核心类探索

2023-07-15 17:19:18 423

原创 jsoncpp使用篇(一)

jsoncpp解析复杂json及打包复杂json

2023-07-15 15:12:45 483

原创 opencv错误集锦

OpenCV(3.4.1) Error: Assertion failed (ni == ni1) in collectCalibrationData, file /usr/local/opencv-3.4.1/modules/calib3d/src/calibration.cpp, line 3143terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.1) /usr/local/open

2023-06-14 09:33:24 1034

原创 linux开发板内核启动时Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,3)

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,3)CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.19.90 #2Hardware name: Vendor SS928V100 DEMO Board (DT)Call trace: dump_backtrace+0x0/0x1a0 show_stack+0x14/0x20 dump_stack+0x

2023-05-24 10:31:12 1792

原创 利用sampleini库实现c/c++操作ini配置文件

c/c++操作ini增删改查ini配置文件;simpleini不能setValue不能保存到磁盘问题

2023-04-27 23:51:23 781

原创 (海思)uboot之mtd模块spi随笔

上述流程中重要的几个结构体: (1)struct mtd_info_ex (2)struct spi_flash (3)struct hifmc_host。其中最重要的函数为 flashd的读/写/擦除函数;这里读写看dma版本;结构体表示海思flash memory control host 部分;下对应文件,如这里的spi_compatible.c;

2023-03-24 00:00:50 817

转载 c语言实现串口同一行下打印进度

c语言实现串口同一行下打印进度

2023-03-20 13:48:57 425

原创 海思uboot&sd卡协议

uboot下mmc初始化流程

2023-03-10 23:17:22 1050

原创 uboot启动 Start.S笔记

海思 uboot Start.S分析

2023-02-28 23:43:20 161

翻译 sqlite3数据库高效API(六)

sqlite3_open_v2 sqlite3_prepare_v2 sqlite3_bind_xxx sqlite3_step sqlite3_finalize sqlite3_column_blob sqlite3_column_double sqlite3_column_value sqlite3_column_bytes等接口详解

2023-02-24 00:10:49 2007

原创 sqlite3数据库-sqlite语句1(五)

sqlite3 select,update,delete,事务等语句

2023-02-20 22:59:21 647

原创 sqlite3数据库API-执行sql语句(三)

sqlite3_get_table sqlite3_free_table sqlite3_exec sqlite3_get_table()接口又调用了sqlite3_exec();sqlite3_get_table()不会访问SQLite的任何内部数据结构;它只使用此处定义的公共接口

2023-02-16 23:42:40 1160

原创 sqlite3数据库-sqlite语句(四)

sqlite数据库 CREATE DROP RENAME ALTER

2023-02-16 23:29:36 269

原创 海思OSD实现流程

故更新画布时 HI_MPI_RGN_DetachFromChn和HI_MPI_RGN_AttachToChn可取消。若没有解绑更新画布,可能看大画布出现花屏现象;

2023-02-04 15:19:59 409

原创 linux内核调度子系统随笔(二)

内核进程优先级,如何计算优先级,如何计算负荷权重;

2022-12-27 23:34:46 636

原创 linux内核-调度(调度器的实现)

linux内核调度器,调度器类sched_class ,就绪队列rq,调度实体sched_entity,进程优先级计算,周期新调度器scheduler_tick和主调度器scheduler等介绍

2022-12-25 23:11:04 913

翻译 sqlite3数据库API-打开关闭(二)

sqlite3_close(C)和sqlite3_close_v2(C)参数C一定要是NULL或者从sqlite3_open(),sqlite3_open16(),或者sqlite3_open_v2()获取的sqlite3对象指针;()接口,它将返回SQLITE_OK,但不会立即释放数据库连接,而是将数据库连接标记为不可用的"僵尸",等待所有完成后自动释放数据库连接;#define SQLITE_OPEN_MEMORY 0x00000080 /* 数据库将作为内存中的数据库打开 */

2022-11-22 00:21:07 3148

原创 sqlite3数据库-环境搭建(一)

sqlite3数据库环境搭建

2022-11-21 23:06:37 609

转载 linux开发板开启telnetd

linux开发板开启telnetd

2022-11-09 12:51:04 538

原创 海思vo 分屏显示总结

海思vo实现分屏显示视频加边框

2022-10-11 16:19:35 1403

原创 linux之framebuffer(2)

struct fb_info结构体register_framebuffer 注册fb_info源码解析

2022-09-25 22:59:57 367

原创 linux之framebuffer(1)

linux内核framebufferFBIOPAN_DISPLAY,FBIOGET_FSCREENINFO,FBIOPUT_VSCREENINFO,FBIOGET_VSCREENINFO等

2022-09-25 17:42:29 1040

原创 ffmpeg源码笔记-AvFrame和AvPacket(四)

AVFrame结构和AVPacket结构

2022-09-20 21:47:18 1555

原创 linux驱动之I2C

struct i2c_driverstruct i2c_clienti2c_master_sendi2c_master_recvi2c_transferlinux I2c应用层驱动

2022-09-14 23:31:33 2085

原创 linux驱动之设备树查找节点(3)

查找办法:通过节点的compatible属性值查找指定节点;通过节点名查找指定节点;通过节点路径查找指定节点;

2022-09-11 13:42:58 2546

原创 linux驱动之设备树语法(2)

设备树语法篇compatible属性 #address-cells和#size-cells属性ranges属性 interrupt属性aliases属性chosen属性

2022-09-04 18:07:02 1306

原创 linux驱动之设备树(1)

内核启动后如何调用和解析设备树二进制文件dtb的

2022-09-01 23:47:34 591

原创 opencv之几何检测笔记

HoughLinesP霍夫变换线检测createLineSegmentDetector LSD快速线检测 detect drawSegments

2022-08-26 11:19:49 777

原创 linux驱动之struct input_dev结构体

struct input_devstruct input_polled_devinput_allocate_deviceinput_register_deviceinput_eventinput_syncinput_allocate_polled_deviceinput_register_polled_device

2022-08-25 23:49:00 1435

原创 opencv之傅里叶变换

opencv之傅里叶变换图像掩码+DFT+图像卷积 代码记录

2022-08-20 16:20:43 1273

svn服务器和客服端pc端软件

包含VisualSVN-Server-5.0.2-x64.msi和 TortoiseSVN-1.14.3.29387-x64-svn-1.14.2.msi 分别为svn服务器VisualSVN-Server和svn客服端TortoiseSVN软件

2022-08-20

opencv-3.4.1相关库

包含opencv-3.4.1.tar.gz; 还有一些需要三方库,可能需要用到,有tiff-4.4.0.tar.gz,zlib-1.2.3.tar.bz2,jpegsrc.v8c.tar.gz;zlib和jpeg是tiff的依赖库;

2022-07-06

nfsserver.rar

pc段开启nfs服务的软件,可供pc和虚拟机互通.比共享文件夹更快

2021-08-26

空空如也

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

TA关注的人

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