- 博客(109)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 linux stl内存池的应用
当采用二级管理时,每次申请都是先查询释放链表有没有释放过的,有释放过的先复用,然后才是在内存池中割一块新的,或者重新分配一块。在windows上其使用_Default_allocate_traits实现空间分配,比较直接使用 operator new直接分配,施放则是直接调用_Deallocate函数使用operator delete释放。对于new(_mem) ClassA(), 编译器步骤为(使用已分配的内存(内存需要对齐) + 调用构造函数,相当于分离分配过程)//其实什么也没做,直接返回mem。
2023-04-30 08:26:26
1138
原创 valgrind 嵌入式调试
1. 官网下载源码2. cd valgrind-3.18.13. ./autogen.sh4. ./configure --prefix=安装5. make -j46. make install运行时需要设置1. export VALGRIND_LIB=安装目录/libexec/valgrind2. 如果报错,需要安装apt-get install libc6-dbg3. 使用命令行运行valgrind --tool=memcheck --show-mismatche
2022-01-24 17:45:11
608
原创 常用排序算法
一、快速排序void splitArray(int arr[], const int start, const int end){ if(start >= end) { return; } int left = start + 1; //用第一个元素做为基数,并拿出来,将剩下的数按这个基数,分开 int right = end; int key = arr[start]; while (left < right)
2021-12-24 11:28:10
461
原创 移动构造、移动赋值、构造、赋值,拷贝
class SA //移动构造,多用于资源交换,唯一;文件描述符,内存拷贝(堆区内存)等{public: SA():d_(0),buf_(nullptr){std::cout << "SA()" << std::endl;} SA(const int a):d_(a),buf_(new char[a]){ std::cout << "SA(const int a)" << std::endl; } SA(c.
2021-12-07 13:53:41
603
原创 std::promise
#include<iostream>#include<thread>#include<future>int main(int argc, char **argv){ std::promise<int> data; std::future<int> future_data = data.get_future(); std::thread t1([&](){ data.set_value(1.
2021-08-10 14:27:01
456
原创 c++ 虚函数类成员指针访问
#include <iostream>class Bomb{public: explicit Bomb(){}; virtual void message(const std::string &msg){std::cout << msg << std::endl;} virtual void print(){std::cout << "bgbbb" << std::endl;}private: .
2021-05-25 11:57:26
300
原创 常用linux脚本命令
常用shell脚本命令字符串替换列表List新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入字符串替换sed 's/原字符/新字符/g 后面g表示全替换。 sed -i 's/xx/aaa/g' filename 替换
2021-01-28 10:08:06
393
原创 poco最新版cmake配置编译mysql
#include <iostream>#include "Poco/Data/MySQL/Connector.h"#include "Poco/Data/SessionPool.h"#include "Poco/Data/RecordSet.h"#include "Poco/Data/Column.h"#include "Poco/Timer.h"#include "Poco/RWLock.h"int main(int, char **){#if 1 Poco::D.
2020-09-21 14:11:44
927
原创 海康NVR SDK获取所有摄像头ip及配置
#include <iostream>#include <thread>#include "HCNetSDK.h"#pragma comment(lib,"GdiPlus.lib")#pragma comment(lib,"HCCore.lib")#pragma comment(lib,"HCNetSDK.lib")#pragma comment(lib,"PlayCtrl.lib")int main(int argc, char **argv){ NET_D.
2020-07-02 18:01:30
9392
6
原创 std::stringstream clear()与str()踩坑
最近使用std::stringstream 格式化字符串,然后输出打印。使用同一个std::stringsteram挨个序列化输出,并调用str()输出。每次输出后都用clear()清除一下,但是结果没想到的是居然会保存原来的内容。经过自己测试原来真的是这样,测试代码如下。 std::stringstream ss; int temp = -1; ss << "1 2 3"; std::cout << __LINE__ << " " &
2020-06-16 12:20:01
2600
原创 ubuntu18.04 升级docker版本到19.03
# 关闭dockersudo systemctl stop docker# 卸载旧版本:sudo apt-get purge docker-ce# 安装新版本sudo apt updatesudo apt-get -y install apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg.
2020-05-17 13:00:48
4104
原创 使用python处理日志文件
最近为了分析程序运行情况,以及得出机器的最高性能。需要从日志文件中得出程序输出、效率;为了使用数据直观,工作方便,于是使用了python. 日志文件如下2020-03-06 00:13:29.134 [Debug]: SnapFaceMongoDao::syncData2Java response:{"status":200}2020-03-06 00:13:29.134 ...
2020-03-09 10:24:24
1200
原创 std::future 注意点
std::future是一个线程里面异步获取值的类,在使用时有一些注意点。最近照着网上写了一个线程池#pragma once#include <vector>#include <queue>#include <thread>#include <condition_variable>#include <future>...
2020-01-14 11:56:11
1341
原创 基于live555多路rtsp视频解码
对开源live555进行封装,采用线程池解码,分为硬解码和软解码,可动太加载.#pragma onceextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/swscale.h"}#include "liveMedia.hh"#incl...
2019-12-08 16:42:18
5361
1
转载 c++11模板线程池
#pragma once#include <vector>#include <queue>#include <thread>#include <condition_variable>#include <future>#include <functional>#include <stdexcept>...
2019-12-08 16:17:47
277
原创 boost asio简易tcp服务器
可用于一些需要tcp连接的场景,代码简洁,不易出错,经测试可用#include <iostream>#include <memory>#include <array>#include <boost/asio.hpp>class session : public std::enable_shared_from_this<sess...
2019-10-18 18:07:43
986
原创 使用poco建立cmakelists
set(spdlog_DIR ./spdlog/lib/spdlog/cmake)project(DataSyncServer)add_compile_options(-std=c++11 -fpermissive)find_package(spdlog REQUIRED)find_package(Poco REQUIRED Foundation Util Net)aux_so...
2019-08-16 15:10:51
916
原创 c++ 读写mongodb
mongocxx::pool *pool_ = new mongocxx::pool(mongocxx::uri(mongodb://192.168.2.11:27017/?minPoolSize=3)); try{ std::vector<uchar> data_encode; cv::imencode(".jpg",data.snapsh...
2019-07-03 15:27:53
1701
原创 Poco访问mysql
伪代码如下1、建立连接池 Poco::Data::MySQL::Connector::registerConnector(); sessionpool_ = new Poco::Data::SessionPool("MySql", "host=192.168.2.143;port=23306;db=test;user=root;password=123;com...
2019-07-03 15:19:35
1413
原创 c++使用poco上传form表单(可从磁盘和内存中加载文件),解析form表单
1、上传比较简单,已经有封装好的类Poco::Net::StringPartSource可以使用;该类可以添加一般的text字段,也可以添加文件字段。如下#include <iostream>#include <fstream>#include <sstream>#include <memory>#include "Poco/Net...
2019-07-02 15:43:05
3108
5
原创 c/c++ fast_dfs上传、下载图片
首先安装libfastcommon1、git clone https://github.com/happyfish100/libfastcommon.git安装fastdfs2、cd libfastcommon && ./make.sh && ./make.sh install3、git clone https://github.com/happyf...
2019-06-30 14:15:43
2130
原创 Pytorch实现简单的CNN网络
#!/usr/bin/python# -*- coding: UTF-8 -*-import torchfrom torchvision import datasets, transformsfrom torch.utils.data import DataLoaderfrom torch.autograd import Variableimport torch.nn.functi...
2019-06-02 11:18:24
1865
1
原创 pytorch minist全网络手写数字识别
#!/usr/bin/python# -*- coding: UTF-8 -*-import torchfrom torchvision import datasets, transformsfrom torch.utils.data import DataLoaderfrom torch.autograd import Variableimport torch.nn.functi...
2019-05-11 08:59:19
627
原创 c++17功能示例全览
#include <iostream>#include <any>#include <variant>#include <string_view>#include <map>#include <filesystem>#include <set>#include <algorithm>#...
2019-04-21 14:04:55
936
转载 C++并发实战13:std::future、std::async、std::promise、std::packaged_task
std::condition_variable可以用于异步事件的重复通知,但是有些时候可能只等待事件发生一次,比如:等待特定的航班,用条件变量大杀器有点浪费了。C++11标准库提供了几种异步任务机制。通常thread不能返回线程执行的结果(可以通过引用参数返回),而在异步处理当中很多时候都需要获得计算的结果。如果只获取结果一次那么选用future,即通过future获取了结果后...
2019-04-20 18:14:00
599
原创 pytorch 一元线形回归
今天做的是一个用pytorch训练出来的一元线形回归模型;如图,我们先找一些样本点,用matplotlib.pyplot显示如上,我们把它加载到内存里面,然后通过pytorch的模组简单自定义一下前向函数就可以了,完整代码如下#!/usr/bin/python# -*- coding: UTF-8 -*-import torchfrom torch.autogr...
2019-04-14 16:48:30
324
原创 cuda与opengl互调 在Qt中的实现
生成图的效果如下 本次主要是参考cuda的Sample将示例中的opengl es 130换成我常用的opengl es 300,并且在Qt中实现。主要包括cuda在windows平台的Qt环境中的一些配置,cuda访问opengl的纹理在gpu中的地址,实现在gpu上生成图像并且直接拷贝到opengl的纹理进行显示,不在需要从cpu传入;可以减少cpu到显卡之间的数据...
2019-04-05 13:05:41
1958
1
转载 在Qt中使用g++与nvcc混合编译
转载自https://blog.youkuaiyun.com/bisheng250/article/details/53611237 这次是通过在pro文件中添加QMAKE_EXTRA_COMPILERS添加额外编译完成,其它就是配置参数之类的.pro配置如下#-------------------------------------------------## Project...
2019-03-31 18:01:21
1619
原创 qt opengl 天空穹
制作天空穹与前面的球体一样,只是这里画了个半球;还有就是绕线方式不一样,因为摄像机是放在球的里面。我实现的效果如下 其渲染器实现如下:#ifndef BALLTEXTURERENDER_H#define BALLTEXTURERENDER_H#include <QOpenGLExtraFunctions>#include <QOpenGLText...
2019-01-06 22:17:58
843
2
原创 qt opengl 天空盒
这个效果比较简单,用一个立文体把我们要绘制的东西包起来即可,把摄像机的位置放到立文体内,这样就给人一个有天空,有陆地感觉。 我在这个工程中加入了以前的圆环体,其渲染器实现方法,可以查阅以前的文章。效果如下 我使用的是一个包含6个纹理图片的纹理数组,一次性把6个面都画好了,并完成了贴图。其渲染器实现如下:#ifndef BOXSHADER_H#define BOXS...
2019-01-01 22:33:33
1400
2
原创 qt opengl 雾特效
雾特效实现非常简单,加入雾化因子的计算;然后,把片元颜色和雾化因子加权就可以了。雾化因子计算方法如下: 我实现的效果如下:雾的颜色偏黄色。 大部分代码为上一节的内容,这里就不再做介绍了。只介绍雾的部分了在上一节的shader中加入uCamera参数,用于计算雾因子#version 330uniform mat4...
2018-12-23 23:33:36
881
4
原创 qt opengl 混合实现半透明
在二维绘图里面的半透明很简单,把alpha通道的值不设置为1或者255就能看见后面的物体;后面物体的清晰度根据设置值的大小来决定。而在opengl中要实现半透明效果也很简单,但相比二维绘图还是要麻烦一些了。 其方法为启用GL_BLEND混合功能,设置混合因子;这样opengl就会用混合因子将前、后两个物体颜色进行混合;这里有很多种混合方式,可以只显示前面物体,也可以只显示后...
2018-12-16 22:20:17
2870
qt opengl 混合半透明效果
2018-12-16
RdKafka::KafkaConsumer使用实例
2018-08-11
ffmpeg nvdia硬解封装GPU实现NV12-RGBA
2018-04-05
QPainter QPropertyAnimation实现翻转
2017-12-07
opencv采集图片qml做显示
2017-10-15
excell第三方库、libxl
2017-10-05
60fcf3ccd9a2ebc9e432ffb5cb91638b-ippicv_2017u2_win_ia32_20170418
2017-05-31
75060a0c662c0800f48995b7e9b085f6-ippicv_2017u2_win_intel64_20170418
2017-05-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人