自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用GNU Gcov & Lcov生成C++单元测试代码覆盖率报告

如何确定哪些代码被测试覆盖,哪些未被测试,并评估整体的代码覆盖率?本文介绍了如何使用 Gcov 和 LCOV 工具统计 C/C++ 项目的代码覆盖率。

2024-06-15 15:10:48 233

原创 google全家桶:glog/gflags/gtest编译安装和使用

gflags:Google开源命令行参数解析工具,从环境变量或配置文件中读配置glog:Google开源日志库,用来打印日志,支持多种级别日志打印gtest:Google开源的C++测试框架,可在源代码中定义测试用例Google的开源代码,有保证多人使用和验证过经典的日志库。

2024-06-05 09:58:40 721

原创 小公司的软件开发IT工具箱

小公司软件开发人员,你该知道的那些IT基础设施。从几十人发展到几百人,这是我们的实践。

2024-06-02 16:54:29 659

原创 cmake使用交叉编译工具链并验证

cmake配置编译并使用VERBOSE验证

2024-05-26 11:58:44 382

原创 vscode+docker搭建迷你开发环境。制作docker镜像,并通过vscode连接后进行开发

vscode+docker搭建最小化迷你开发环境。制作docker镜像,并作为开发环境通过vscode连接。

2024-05-21 09:57:43 1293

原创 docker中安装jenkins,并在node和cloud上跑通基于源码控制SCM的pipeline

从安装jenkins到创建jenkins的node和cloud,最后再将scm和FreeStyle两种流水线跑通。

2024-05-19 18:51:10 1317

原创 git分支策略(github-flow VS git flow,如何选择)

github-flow VS git flow,不同项目周期,不同团队规模,如何选择git代码分支管理策略

2024-05-18 16:08:20 640

原创 CICD:搭建gitlab-runner服务实现自动化编译打包上传

通过ruuner实现,在gitlab上的仓库打了tag后自动触发编译、打包、上传等自动化发版流程。gitlab-runner依赖项很少可以直接通过deb包的方式部署到物理机。

2024-05-17 09:58:31 352

原创 花了2小时,我在公司内网搭建了gitlab服务

1小时,在ubuntu的docker中搭建gitlab服务器,环境隔离,方便迁移

2024-05-16 10:59:17 916

原创 QT对话框延迟关闭销毁

启动一个对话框后,过一段时间自行关闭销毁ReminderWidget::ReminderWidget(QString text, QWidget* parent) : QWidget(parent){ //设置去掉窗口边框、任务栏无标志、置于顶层 this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint); //设置属性:关闭即销毁 this->setAttribu

2022-05-29 19:39:40 785 1

原创 夜神模拟器和mitmproxy抓包

安装mitmproxy1 mitmproxy官网下载mitmproxy2 安装mitmproxy3 打开mitmproxymitmproxy -p 88994 电脑端设置代理(否则开启代理后,电脑打不开网页)【windows 设置】->【网络和Internet】->【代理】5 验证mitmproxy在打开的网页中(第三步操作会有网页打开)下载安装证书6 找到windows证书下载后双击安装7 找到其他平台的证书下载(下图中Other Platforms)8

2022-05-02 10:08:52 1633

原创 C++获取网卡名称和IP地址

获取网卡名称和IP地址windows下建议用windows API来获取 参考链接linux下可用pcap或者是getifaddrs API(如果不需要MAC地址的话推荐)来获取 参考链接#ifdef _MSC_VER#include <WinSock2.h>#include <Iphlpapi.h>#pragma comment(lib,"Iphlpapi.lib") //需要添加Iphlpapi.lib库#else#include <pcap.h>#

2021-10-25 16:13:53 2357

原创 QT常用参考

1:QT 判断鼠标是否在某个控件上

2021-08-11 16:45:41 315

原创 libpcap autoremove卸载引发的问题

记录一次异常操作导致的Ubuntu rviz异常问题当时的操作:执行了sudo apt-get remove libpcap-dev 卸载pcap的时候,提示autoremove,然后就选择了确认。结果把其他的依赖项给卸载了。后面导致RVIZ和系统设置里面的TAB全都无法使用。最后安装了opengl驱动后重启电脑解决了。OPENGL安装参考链接sudo apt-get install libgl1-mesa-dev...

2021-08-06 14:52:10 298

原创 Windows C++获取网卡适配器接口信息

Windows获取网卡适配器接口信息#include <pcap.h>#ifdef _MSC_VER#include <WinSock2.h>#include <Iphlpapi.h>#pragma comment(lib,"Iphlpapi.lib") //需要添加Iphlpapi.lib库#endifstd::vector<std::string> getLocalMachineNetworkAdapterList(){ pcap_if

2021-06-07 12:30:04 1398

原创 将文件夹下面的文件数据以数组形式保存到CPP文件中

将文件夹下面的文件数据以数组形式保存到CPP文件中,以std::map方式来索引文件信息。使用场景:不希望把文件数据直接暴露给用户。效果如下:代码参考:#include <qdir.h>#include <qicon.h>#include <qpixmap.h>#include <fstream>#include <iostream>struct MyIconInfo{ std::string name; s

2021-06-04 09:10:14 372

原创 QT资源文件的两种使用方式

QT资源文件的两种使用方式(CMake)通过Qt资源文件管理图片资源,qss样式表等。有两种方式使用Qt资源文件。第一种:将资源内容编译到可执行文件中,实现了图标等资源的封装,可达到防止恶意篡改的目的。第二种:使用rcc工具将资源文件qrc编译成rcc文件,然后在代码中动态加载。1:如何将资源文件qrc编译到可执行程序中第一步:生成资源文件qrc1:打开Qt designer,随便新建一个窗体(打开窗体后才能新建出资源文件)2:打开资源浏览器,点击编辑资源图标3:点击新建资源文件4:

2021-06-04 08:58:12 2887 1

原创 CMakeLists.txt文件中为APP添加图标

windows下在CMakeLists.txt文件中为APP添加图标一:准备ico图标通过 http://tool.je2s.com/ico/ 可以在线将图片转换成ico图标。上传图片后,导出ico文件命名为app.ico二:创建RC文件logo.rc,将下面内容粘贴到文件中IDI_ICON1 ICON DISCARDABLE “app.ico”文件如图所示三:在CMakeLists文件中将rc文件添加到源文件列表中四:将准备好的ico文件放置到和rc文件相同

2021-06-03 09:19:51 2168

原创 seekg返回失败

std::ifstream seekg返回失败问题描述:std::ifstream读取到文件结尾后,使用seekg会返回失败error处理方式:在seek之前,使用ifs.clear();ifs.clear(); before ifs.seekg(pos);参考链接:https://stackoverflow.com/questions/16364301/whats-wrong-with-the-ifstream-seekg...

2021-06-03 09:14:29 389

原创 QT获取文件信息

QT获取文件信息1:判断文件是否存在:Static bool QFileInfo::exists(const QString &file)或者bool QFileInfo::exists() const2:获取文件路径QFileInfo fi(“c:/temp/foo/123.txt”); => fi.absoluteFilePath() =>“C:/temp/foo”QFileInfo fi(“c:/temp/foo”); => fi.absoluteFile

2021-06-03 09:10:47 538

原创 QT表格动态刷新显示大量数据

Spreadsheet(QT表格动态刷新显示大量数据)代码链接:git代码链接效果图:

2021-06-02 08:58:44 3042

原创 网络问题排查

网络问题排查记录多网卡PING外部设备不通1:PC系统上面有两个网卡A和B,A配置的动态DHCP获取IP地址,用来访问外网,网络连接之后获取到10.10.x.x网段的IP地址。B配置的是静态IP地址 192.168.10.10,用于调试设备(设备IP地址是192.168.10.x)。问题复现步骤:1:A正常连接外网,B正常连接设备但是设备处于断电状态。2:ping设备的IP地址192.168.10.10。3:将设备上电。4:ping超时,大约1分钟只有才能ping通。问题原因:系统网络配置

2021-03-19 12:58:45 286

原创 Visual Studio 打开文件后显示不一致的行尾

问题现象:Visual Studio 打开文件后显示不一致的行尾“The line endings in the following file are not consistent. Do you want to normalize the line endings?”问题影响:可能导致Visual Studio的智能代码提示功能不能用原因:WINDOW下和LINUX以及MACOS下的行尾符号不一致,从网页上面COPY的代码包含的换行符号与VISUAL STUDIO打开的文件中的换行符号不一致。

2021-02-03 09:39:55 3595

原创 QT问题记录

开发过程中遇到的一些问题QT比较好的例子教程1: QChart折线图添加大量数据效率问题2:Qt 键盘事件与消息过滤器3:正则表达式:QRegExp rx("[0-9]{0,4}[.]{0,4}");4:Qt QLineEdit控件textChanged信号和textEdited信号区别5:Qt隐藏的功能和技巧6:可以参开自定义控件的实现,QT 自定义IP地址输入框7:QtChar...

2021-01-26 10:41:57 224

原创 Gitbook安装

1:下载node js 10.23.0版本注意,如果安装了其他版本的Node JS可能会导致初始化错误2:安装成功之后打开控制台可以看到node js的版本3:安装GitBook4:查看安装结果5:Gitbook如何生成一本书参考下面链接GitBook 准备工作做好之后常用插件...

2021-01-21 21:39:55 87

原创 疑难杂症

本文记录开发过程中遇到的各种奇怪问题1:Paraview 5.8.1编译的时候出现错误==“error: fatal error C1002: compiler is out of heap space in pass 2”==解决方式参考:https://discourse.paraview.org/t/fatal-error-c1002-compiler-is-out-of-heap-space-in-pass-2/3021具体操作:Disable VTK-m by setting the PAR

2020-10-16 16:18:02 391

原创 std::cin读取行数据

#include <stdio.h>#include <iostream>#include <string.h>#include <sstream>int main(int argc, char** argv){ int row, col; const int lines = 5;// how line to read from the std::cin std::vector< std::vector<std::

2020-09-11 09:35:29 576

原创 IDE常用快捷键

VS2015快捷键VS2015常用快捷键,参考1参考21:格式化代码1, ctrl+a2, ctrl+k3, ctrl+f

2020-09-06 21:01:17 123

原创 c++回调函数、同步队列、生产者消费者举例

C++11 同步队列、注册回调函数、生产者消费者代码记录同步队列:// data queuetemplate <typename T>class SynchronizedQueue {public: SynchronizedQueue() : queue_() , mutex_() , cond_() , request_to_end_(false) , enqueue_data_(true)

2020-08-28 20:34:28 2542

原创 Nginx使用汇总

记录Nginx的相关配置1:nginx实现多个域名在同一服务器指向不同端口 主要用来处理nginx和tomcat两个端口2:Nginx反向代理到Tomcat服务器 也可以用来处理nginx和tomcat两个端口3:nginx location配置详细解释4:nginx反向代理–根据访问路径将请求分发至不同服务器 && nginx根据URL分流5:Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程...

2020-08-23 16:10:47 88

原创 Eigen库使用汇总

记录使用过的Eigen功能1:Eigen(3)矩阵Matrix及其简单操作2:使用eigen库进行空间变换 旋转平移,尺度缩放,放射变换3:基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换

2020-08-23 16:00:05 529

原创 常用软件

参看windows进程和资源情况:Process Explorer v16.32参考链接:https://superuser.com/questions/117902/find-out-which-process-is-locking-a-file-or-folder-in-windows查看文件被哪个程序锁定:WhoLockMelinux字符拼装ASCII超大字母:Banner...

2020-08-23 15:41:10 91

原创 Python常用参考

Python常用参考代码1:python 枚举Enum类的使用from enum import Enumclass Color(Enum): red = 1 orange = 2 yellow = 3 green = 4 blue = 5 indigo = 6 purple = 72:Python实现线程之间的通信import _thread3:python全局变量引用与修改def func(): global a a

2020-08-23 14:59:10 161

原创 Centos7.2安装XWIKI 11.10.5

安装前的准备1:根据需求确认xwiki版本,不同版本的xwiki支持特性不一样。    这里我安装了官网推荐的11.10.5。2:根据xwiki版本确认对应的依赖环境。    1) Java支持:我安装的版本是11.10.5,所以选择安装Java8。    2) Servlet支持:我安装的版本是11.10.5,所以选择我选择的是主流的Tomcat7.0。 &

2020-08-23 12:16:50 727

原创 pyinstaller打包exe出错处理

错误1:Error running the exe file in Windows “Failed to execute script pyi_rth_pkgres”解决方式: https://github.com/pyinstaller/pyinstaller/issues/2137pip uninstall pyinstallerpip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip错误2:OSEr

2020-06-16 11:10:18 243

原创 Ubuntu18.04共享文件夹

Ubuntu18.04共享文件夹1:安装sambasudo apt-get updatesudo apt-get install samba2:创建一个目录并给权限创建目录:sudo mkdir /home/test/share给创建的这个目录设置权限sudo chmod 777 /home/test/share3:修改samba配置文件,设置为共享目录sudo nano /etc/samba/smb.conf在配置文件smb.conf的最后添加下面的内容:[share]commen

2020-06-03 15:22:56 2540

原创 python字典常用操作

python字典常用操作字典dict是一个无序的、可变的、有索引的集合。在Python中,字典是用花括号编写的,它们有键和值。w3schools对python字典的介绍和使用python 3.7文档对字典的使用说明字典初始化#初始化一个空字典data = {}#初始化一个非空字典a = dict(one=1, two=2, three=3)b = {'one': 1, 'two'...

2020-05-05 15:36:10 130

原创 python字符串和数值之间转换

python字符串和数值之间转换,进制转换等1:int函数将16进制字符串转化为10进制整数a = “0x12”int(a, 16)#18int(a, 10)#errora = “12”int(a, 16)#18int(a, 10)#122:16进制字符串转换为有符号整数 参考链接def twos_complement(hexstr,bits): value = in...

2020-05-02 16:14:33 1257

原创 QT学习

记录常用的QT控件的操作1:QTextEdit移动到行尾选中textedit右键转到槽,选择textChanged(),然后在弹出来的函数中加代码:ui->textedit->moveCursor(QTextCursor::End);2:QT获取屏幕分辨率和DPI设置字体大小代码出处链接// Get desktop dcHDC desktopDc = GetDC(N...

2020-05-02 16:14:07 181

原创 Python列表常用操作

Python列表常用操作1:列表常用操作函数L.append(var) #追加元素L.insert(index,var) L.pop(var) #返回最后一个元素,并从list中删除之L.remove(var) #删除第一次出现的该元素L.count(var) #该元素在列表中出现的个数L.index(var) #该元素的位置,无则抛异常 L.exte...

2020-05-02 16:13:37 144

空空如也

空空如也

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

TA关注的人

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