- 博客(162)
- 资源 (14)
- 收藏
- 关注
原创 c++ 句柄池模版类实现
5:非常巧妙的是,资源释放时候,可以感知到引用计数,同步释放,保证Free 时候已经没有使用者,Free 后句柄不可用。6:需要频繁调用的Get 函数,测试100万次,执行时间约90ms, 性能有保证,本人机器(cpu i7-8700)3:资源释放时候,句柄还给资源池。1:实现裸指针转化成句柄的功能。2:实现通过句柄获取智能指针。4:资源从始至终不会释放。
2026-01-29 16:56:16
15
原创 c++ 转化句柄,解决多线程安全释放问题
1: 可以把指针转化成句柄,通过句柄来管理释放,保证创建,使用,释放实现多线程安全。2:代码性能基本高效,unordered_map 的时间复杂度平均O(1)3:可以很方便改造已有的代码。
2026-01-14 15:49:58
223
原创 Windows命令行执行cmake
设置临时环境变量 msbuild 命令在这个路径下。-A Win32 表示生成 Win32 工程。-A x64 表示生成 x64 工程。用vs 工程选的时候,如图这样。生成Win32 工程并编译。生成X64 工程并编译。根据需要配置不同选项。
2024-10-10 19:09:54
396
原创 如何在CMakeLists.txt设置多线程编译加速
在windows cmake-gui 编译时候,没有像linux 一样有make -j 实现多线程编译。但是没有多线程编译速度会很慢,为了windows 编译程序时候实现多线程加速可以在。cmakelists.txt 添加下面两句就可以实现多线程编译。
2024-01-07 22:08:27
1347
1
原创 安卓adb网络调试
8:adb -s 192.168.60.67:5555 push C:\Users\Administrator\Desktop\2023年度总结草稿\libVideoNetOptimization.so /sdcard/T30/3: setprop service.adb.tcp.port 5555 设置端口。2:ip addr 可以看ip。1:adb shell 进入。
2024-01-03 16:38:28
762
原创 c++11 sleep_for 的设计缺陷
std::this_thread::sleep_for 的设计缺陷在于,依赖系统时间,系统时间修改后,就不准确了。
2023-06-15 16:07:09
1860
原创 c++ 读写文件调试
由于每次调试视频音频时候经常需要写文件的操作,感觉累的慌,内部实现一个map , 文件名和FILE * 对应起来。所以写一个类,不用每次都打开文件。
2023-03-29 14:38:50
214
原创 c++11 写一个定时器模型
WorkerThread.cpp 文件。1:单个线程可以添加多个定时器。3:添加删除定时器是同步的。2:完全依赖c++11。
2023-03-24 19:41:56
433
原创 写一个脚本记录运行程序的top
#保存文件名字LOGNAME=111.logEXE=python#排除python3EXE1=python3for((i=0;;i++));doTIME=`date`RET=`top -b -n 1 | grep $EXE| grep -v $EXE1 | awk '{print systime(), $0}'`echo $RET $TIME $i >> $(pwd)/$LOGNAMEsleep 1done
2022-01-14 14:32:58
430
转载 Windows下模拟linux pipe
linux下的管道可以通过select来捕获事件,在某些场景下非常有用,但Windows下提供的管道就不具备这种特性,为了在Windows环境下也可以实现类似的功能特性,可以用socket模拟pipe实现。代码如下:from http://www.cppblog.com/isware/archive/2011/06/30/149807.htmlint pipe(int fildes[2]){int tcp1, tcp2;sockaddr_in name;memset(&name, 0,
2021-08-07 09:21:08
423
原创 cmakelists.txt 里去除ffmpeg 安全映像
在CMakeLists文件中的`add_executable`或`add_library`之前加set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SA
2021-04-07 15:06:34
321
原创 ffmpeg 命令行操作
从mp4 中提取YUV数据.\ffmpeg.exe -i D:\Home\baibai.avi -pix_fmt yuv420p ./note2.yuv播放yuv数据ffplay -f rawvideo -video_size720x480 .\note2.yuv
2020-12-30 22:58:13
245
原创 循环buffer的c++实现
实现一个循环buffer, 新数据会覆盖旧数据RingBuffer.h#pragma once#include <stdio.h>#include <string.h>class RingBuffer{public: RingBuffer() { size = 0; } ~RingBuffer() { if (buffer) { d...
2020-04-26 00:18:39
1270
原创 c++ 快速排序算法
#include <stdio.h>// 冒泡排序void sortMaoPao(int * array, int len){ for (int i = 0; i < len; i++) { for (int j = 0; j < len - i - 1; j++) { if (array[j] > array[j + 1]) { ...
2020-03-22 18:27:01
456
原创 c++11条件变量和互斥锁
1:写一个链表2:如果超过固定大小push阻塞3:如果链表为空,pop也会阻塞直接看代码,main.cpp#include <stdio.h>#include <list>#include <iostream>#include <thread>using namespace std;class listPack{publi...
2020-03-06 11:53:29
530
原创 nginx+rtmp 服务器搭建,以及ffmpeg 推流拉流
首先安装依赖zl@ubuntu:~$ sudo apt-get install libpcre3 libpcre3-devzl@ubuntu:~$sudo apt-get install zlib1g-devzl@ubuntu:~$sudo apt-get install opensslwget http://nginx.org/download/nginx-1.11.3.tar.gz,...
2020-02-12 12:48:08
850
原创 std::vector 中存储类
在cpp 中vector存储类的时候,什么时候调用构造函数,什么时候调用拷贝构造,什么时候调用等号,删除vector 中的一个类,这个问题值得测试了解一下首先写一个类 FaceInfo.h#pragma onceclass FaceInfo{public: FaceInfo(); ~FaceInfo(); FaceInfo & operator=(const FaceInf...
2020-02-02 11:41:37
1316
原创 Android studio 权限问题
android6.0 后权限比较严格,折腾很久需要两个步骤就可以1:在AndroidManifest.xml 中加入<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RE...
2020-01-10 11:20:55
1340
转载 cmake 编写
非常不错的一个学习cmake 的链接https://blog.csdn.net/afei__/article/details/81201039
2019-10-25 14:40:19
273
原创 vscode 如何编辑python 代码
1: 假设你已经安装了anaconda3然后安装了vscode , 怎么配置才可以在写代码时候可以自动补齐方法如下:1: ctrl + p 会弹搜索框, 输入json找到 launch.json 打开,修改成{ // Use IntelliSense to learn about possible attributes. // Hover to view descript...
2019-08-16 08:53:57
908
原创 cmake 添加opencv 动态库
CMakeLists.txtcmake_minimum_required (VERSION 2.8)# 项目信息project (server)SET(CMAKE_C_COMPILER g++)add_compile_options(-std=c++11)# 查找当前目录下的所有源文件# 并将名称保存到 DIR_SRCS 变量aux_source_directory(. DIR...
2019-08-13 10:36:37
5260
翻译 ffmpeg 设置问题总结
1.设置rtsp超时AVDictionary* opts = NULL;av_dict_set(&opts, “rtsp_transport”, m_bTcp ? “tcp” : “udp”, 0); //设置tcp or udp,默认一般优先tcp再尝试udpav_dict_set(&opts, “stimeout”, “3000000”, 0);//设置超时3秒int ...
2019-07-23 14:58:33
4178
原创 c++ sleep 用法
#include #include int main(){std::chrono::milliseconds dura(40);std::this_thread::sleep_for(dura);}
2019-07-12 11:10:04
822
原创 protobuf 静态编译
一.protobuf 安装protobuf版本:2.6.1下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip解压之后进入目录修改autogen.shecho "Google Test not present. Fetching gtest-1.5.0 from the web..."curl http://google...
2019-06-19 11:30:57
2374
Linux 下实现的聊天系统,TCP实现
2017-04-25
Fast 算法C++代码
2017-06-16
安卓打开摄像头,通过jni将预览数据NV12传到底层,底层打印成图片
2017-04-18
cmakelists 生成静态库,然后用静态库生成动态库,然后生成测试程序
2020-10-12
android 点击图片通过jni在底层处理,然后在屏幕上显示
2017-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅