4 NeilZhy

尚未进行身份认证

我要认证

天道酬勤,还有一年

等级
TA的排名 2w+

工厂方法模式和抽象工厂模式

工厂方法模式和抽象工厂模式工厂方法模式抽象工厂模式总结:工厂方法模式#include <string>#include <iostream>// Abstractclass Splitter{private: /* data */public: Splitter(/* args */); virtual ~Splitter();p...

2020-04-19 18:24:18

展示gtest测试结果 -- 将gtest输出的xml结果转化成html展示

问题我们在使用gtest工具进行测试时, 一般结果会直接输出到终端, 对阅读很不友好, 如何能够利用gtest测试的结果, 做成一个可以展示的html页面, 让gtest测试结果看上起一目了然, 清清楚楚, 是今天讨论的话题概述采用常规的方式, 直接在百度搜索, 关于展示gtest测试结果文章很少, 有的一些, 因为需要安装各种依赖或者其他因素, 用起来也不是非常友好.但是经过不懈的搜索,...

2020-02-24 21:40:10

Cmake 交叉编译

转载自 http://zhixinliu.com/2016/02/01/2016-02-01-cmake-cross-compile/CMake交叉编译CMake的使用,以及如何将一个项目移植到Android。CMake的用法先让我们简单学习回顾一下cmake的基本知识:基本流程以linux平台为例,使用 CMake 生成 Makefile 并编译的流程如下:编写 CMake 配...

2019-09-05 20:29:02

CMake学习资料

CMake 官方 FAQhttps://gitlab.kitware.com/cmake/community/wikis/FAQCMake 官方文档https://cmake.org/cmake/help/cmake2.4docs.htmlCMake 视频教程https://www.youtube.com/watch?v=CLvZTyji_UwCMake 维基教科书https://z...

2019-07-18 10:02:57

Cmake 实例学习 一

一. 第一个简单的例子在一个目录下面实现一个简单的 hello world 程序使用cmake进行构建的时候,每个目录下面都要有一个 CMakeLists.txt 的文件如果是一个稍微大的工程,有多级目录,在上级目录中的 CMakeLists.txt 中会有定义要求编译子目录的逻辑当前目录中定义了一个main.c 和 CMakeLists.txt 文件,两个文件的内容分别如下main....

2019-07-13 15:02:02

C++ 实现设计模式 -- 工厂模式

#include <iostream>class Shape{ public: virtual void drawshape() = 0;};class DrawCircle : public Shape{ public: void drawshape() { std::cout << "Circle\n"; }}; clas...

2019-05-16 16:09:03

因链接静态库先后顺序不正确,引起符号定义找不到

问题项目中需要链接多个静态库,在编译的时候报错如下sdi_io.cpp:(.text._ZN13sdi_H264EncIO7DataPopEPm+0x30):对‘H264ENC_StatusGet(H264ENC_Status_t&)’未定义的引用可能原因是符号确实没有定义,而本文出现这个问题的原因是,链接的静态库有前后的依赖顺序解决方案方法一:修正静态库的链接顺序:可以通过手...

2019-05-15 11:02:06

OpenC 仿射变换

仿射变换(Affine Transformation)又称仿射映射,是指在几何中,一个向量空间进行一次线性变化并加上一个平移,变换位另一个的向量空间的过程。一个任意的仿射变换都能够表示为乘以一个矩阵(线性变换)接着加上一个向量(平移)的形式。仿射变换来表示如下三种常见的变换形式:旋转(线性 变换)平移(向量加)缩放(线性变换)...

2019-04-29 18:19:40

OpenCV 像素存储

像素存储OpenCV 中图像矩阵的大小取决于所用的颜色模型,更准确的说是取决于图像所用到的通道数。如果使用的是灰度图,矩阵大概如图所示:如果使用的是多通道的图像,矩阵中的列会包含多个子列,子列的个数和通道数相等。例如 RGB 颜色模型的矩阵大致如下图所示:很多情况下,因为内存足够大,可以实现连续存储,因此图像中的各行能够一行一行的连接起来,形成一个长行。连续存储有助于提升图像扫描速度,...

2019-04-25 10:03:44

QT 中使用 OpenCv 的 CascadeClassifier 报错

问题在 QT 中调用 OpenCv 的 CascadeClassifier 进行人脸框检测的时候,在构造函数中进行检测器的初始化,随后调用相机读取图片的时候就会报错,报的错误是 Segment Fault (段错误)解决尝试使用 gdb,valgrind 等解决没有进展在 QT 中进行编译的时候,报了一个警告,大概意思是说 libopencv_objdetect.so.3.4.3 和 l...

2019-04-18 16:28:47

qt 找不到 -lpulse-mainloop-glib,找不到 -lpulse问题

问题:使用 QT 编写视频展现程序报错找不到运行时库文件解决办法:首先 sudo find / -name libpulse.so*然后 sudo cp /usr/lib/x86_64-linux-gnu/libpulse.so.0 /usr/lib/libpulse.so对于libpulse-mainloop-glib首先find / -name libpulse-mainloop-g...

2019-04-17 23:52:53

gdb 调试

传参如果程序执行的时候需要加入参数,如./sample aa bb使用 gdb 的时候可以使用如下方式gdb --args ./sample aa bb执行启动 gdb 之后,直接使用 r,就是 run 的意思,或者可以使用 b 加一个断点进行调试。处理信号如果在使用的时候,遇到类似下面的报错Thread 2 “sample_sd_abnor” received s...

2019-03-29 20:34:11

valgrind 使用 kcachegrind 查看函数运行时间

安装首先安装运行分析函数时间的工具 kcachegrind下载安装包 http://kcachegrind.sourceforge.net/,下载最新的 tar.gz 文件解压文件,进入解压之后的目录,从 README 中可以找到安装方式,这里记录一下cmake .make -j8sudo make install中间过程中遇到的一些,cmake的时候出问题,找不到一个依赖包CM...

2019-03-15 14:43:38

tar 打包问题

项目中使用到 tar 文件,同一个 tar 文件解压之后在压缩,在程序执行的时候不能使用了原因是 tar 对文件名长度有限制,当文件名过程的时候,使用 --format=ustar 进行压缩...

2019-03-14 20:56:59

s32v 开发板安装 apex 驱动

安装驱动首先要获取到 apex.ko 文件,这个应该是硬件厂商提供,执行下面命令安装首先需要给 apex.so 文件加上可执行权限insmod apex.ko查看是否安装成功执行下面命令,查看是否安装成功,如果安装成功,执行的结果中会有 apexlsmod使用测试程序测试硬件厂商会提供测试程序,成功安装 apex 的设备可以通过测试程序测试结果...

2019-03-13 15:44:41

网线直连开发板

pc 端配置点击pc端无线链接图标编辑链接以太网编辑IPv4设置方法:与其他计算机共享根据putty获取的动态ip使用ssh登录解决 ip 无法登录问题设置 pc 端 ip 和开发板 ip 在同一个网段比如开发板 ip 是 10.42.0.123可以设置自己机器的 ip 为 10.42.0.11sudo ifconfig xxxxx 10.42.0.11...

2019-03-13 13:33:57

putty 串口登录开发板

安装putty多个平台均可以安装puttypc端配置使用串口线连接开发板ls /dev查看是否出现类似于ttyUSBx的文件sudo putty弹出页面,选择SerialSerial line填写/dev/ttyUSBxSpeed填写115200(根据不同开发板,选择不同参数)依次点击Load,Open弹出终端,回车,使用root登录,查看ip使用ssh登录...

2019-03-13 11:10:13

嵌入式开发板设置无密码登录

本次配置需要修改的ssh登录的配置文件vi /etc/ssh/sshd_config允许root用户远程登录设置PermitRootLogin参数值为yes#LoginGraceTime 2mPermitRootLogin yes#StrictModes yes#MaxAuthTries 6#MaxSessions 10允许无密码登录设置PermitEmptyPasswor...

2019-03-13 10:23:42

opencv 1 图像载入、显示和输出

三个函数imread()namedWindow()inshow()1. imread函数原型:Mat imread(const string& filename, int flags = 1 );参数解析:const string& finename将要载入的图片路径名。Windows操作系统下面支持如下类型的图片:Windows位图 - *.bmp...

2019-03-02 20:20:01

valgrind massif内存分析工具

使用方式valgrind --tool=massif ./a.outa.out 是可执行程序,当程序执行结束之后,会生成一个分析报告,分析报告的名称一般为 massif.out.pid 。如果是循环程序,可以使用 top 查看内存,当内存增长到一定程序之后 Ctrl C 掉,也会生成分析报告。在 x86 平台安装 massif visualizer 。Ubuntu平台的安装方式为sudo...

2019-03-02 10:18:47

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。