- 博客(51)
- 收藏
- 关注
原创 Qt程序打包和发布
准备工具1、Qt Creator,记录Qt Creator的安装路径2、NSIS空白脚本程序和NSIS汉化脚本程1 Windows下打包与发布1.1 打包成zip发布1、通过Qt Creator build应用程序,选择Relaease build的应用程序占用空间少(推荐),选择Debug build的应用程序占用空间大。2、进入到build产物路径下,找到对应的exe程序(一版在...
2023-05-22 21:41:00 1152
原创 HD工作笔记
1、相机标定步骤1.1 棋盘标定相机思路 1、建立终止准则: criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)#格式固定 2、设置棋盘格规格 objp = np.zeros((w * h, 3), np.float32) #w:棋盘宽度方向上的角点数,h:棋盘高度方向的...
2023-05-20 13:13:00 611
原创 Makefile学习笔记
一、概述1.1 Makefile 介绍1.2规则1.3核心1.4示例1.5定义命令1.6 make是如何工作的1.7、makefile中使用变量1.8让make自动推导1.9、另类风格的makefile1.10、清空目标文件的规则二、Makefile 总述2.1、Makefile里有什么?2.2、 makefile文件名2.3、引用其它的Makefile2.4、环境变量 MAKEFILES2.5、make的工作方式2.6.2规则举例..
2023-05-19 15:26:42 2208 1
原创 Qt Quick核心编程
环境配置:参考:1、在https://www.oracle.com/java/technologies/downloads/#java8。jdk-8u361-windows-i586.exejdk-8u361-windows-x64.exe2.5.3 Qt Quick Designer1、qmake是Qt SDK提供的一个工具,用来分析项目文件、生成项目所需的Makefile。2、...
2023-05-19 14:59:00 763
原创 Qt C++5.9开发指南
第1章 认识Qt1.1 Qt简介1、Qt是一套应用程序开发类库,但与MFC不同,Qt是跨平台开发类库。2、跨平台意味着只需要编写一次程序,在不同平台上无需改动或只是需要少许改动后再编译,就可以形成不同平台上运行的版本。1.2 Qt的获取与安装1.2.1 Qt的许可类型1.2.2 Qt的版本1、如果不是为了维护旧版本编写的程序,一定要选用最新版本的Qt进行程序开发1.2.3 Qt...
2023-05-19 14:57:00 3633 1
原创 Git笔记
Git概念Git 是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。Git 对待数据更像是一个快照流。git的安装在 linux上:apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-d...
2023-05-19 10:54:48 1139 1
原创 收藏夹记录
6、问题产生场景:通过git下载QGroudControl后,无法编译源码。5、问题产生场景:关于QGroudControl的介绍。1、问题产生场景:关于RflySim平台的介绍及其功能。3、问题产生场景:使用QML技术,如何实现跨平台开发。4、问题产生场景:使用QML技术,如何实现跨平台开发。5、问题产生场景:Qt程序移植到Linux平台运行。1、问题产生场景:安装Qt后,设置断点后不生效。1、问题产生场景:五阶魔方入门教程。2、问题产生场景:怎们添加日志库。链接说明:主要说明翻楞公式。
2023-05-19 10:34:59 1114
原创 Linux常用指令及基础配置
find ./ -name “*.java”|xargs grep “xxx” 在本目录中以.java结尾的文件中查找包含 xxx字符串的文件。
2023-05-19 10:17:29 1368
原创 Android内核设计思想笔记
Android编译系统关于Make的知识LOCAL_SRC_FILES:定义本模块所涉及到的所有源文件操作系统基础计算操作系统是负责管理硬件,并为上层应用提供稳定编程接口和人机交互界面的软件集合
2023-05-17 16:37:29 83
原创 C++Primer
1、函数由函数名以及一组操作数类型唯一地表示。2、C++语言使用调用操作符(即一对圆括号)实现函数的调用3、函数的运行以形参的(隐式)定义和初始化开始。4、在函数体内定义的变量只在该函数中可以访问,这种变量称为局部变量,只在函数运行时存在。5、函数的形参为函数提供了已命名的局部存储空间。他们之间的差别在于形参是在函数的形参表中定义的,并由调用函数时传递给函数的实参初始化。实参是一个表达式。1、类的所有成员必须在类定义的花括号里面声明。2、编译器隐式的将在类定义的成员函数当做内联函数。
2023-05-17 15:21:30 480
原创 深入理解计算机系统
第一章1.1 信息就是位+上下文1、源程序实际上就是一个有0和1组成的位(又称为比特)序列,这些为被组成8个一组,称为字节。每个字节表示程序中某个文本字符。2、系统中所有的信息---包括磁盘文件、储存器中程序、储存器中存放的用户数据以及网路上传送的数据,都是由一串比特表示的。1.2 程序被其他程序翻译成不同的格式1、为了在系统上运行hello.c程序,每条C语句都被其他程序转化为一系...
2023-03-13 22:08:00 2187
原创 计算机视觉-概念理解
一、Pyimagesearch Gurus概念理解模块1:计算机视觉基础 接受在计算机视觉处理中,所需要运用的图像的一些概念。1.1、加载、显示、保存图像从本地磁盘上通过imread函数获取图片后,可运用一个变量接收图片。1、运用cv2.imread("图像路径",读取图片的方法)函数加载图片,返回图片变量。参数2为可选图像,读取图像的方式有多种:2、运用cv2.imshow("窗...
2023-03-13 22:06:00 315
原创 C++Primer
第2章2.1 基本内置类型1、表示整数、字符和布尔值的算术类型合称为**整型** 2、0值算术类型代表false,任何非0的值都代表true 3、在一行末尾加“\”,可将此行和下一行当做同一行处理 2.3 变量1、变量命名不能以数字开头 2、变量的定义用于为变量分配储存空间,还可以为变量指定初始值。变量仅且有且一个定义 3、声明用于向程序表明变量的类型和名字。,通过extern关键...
2022-12-23 22:17:00 360
原创 UNIX环境高级编程笔记
环境配置1、下载apue.3e文件夹,可以通过http://www.apuebook.com/code3e.html现在源码。2、解压后执行进入apue.3e中执行make指令。如果出现```collect2: error: ld returned 1 exit statusMakefile:31: recipe for target 'badexit2' failedmake[1]: *...
2022-12-23 22:17:00 1816
原创 Linux常用操作
目录Linux系统操作指令文件或函数查找指令addr2line的运用vim相关vim配置操作分屏操作删除字符操作将windows换行符转换为linux换行符操作:文件比较合并操作折叠指令Linux系统操作指令文件或函数查找指令find ./ -iname filenamefind ./ -name "*.java"|xargs grep "xxx" 在本目录中以.java结尾的文件中查找包含 xxx字符串的文件grep -rHn "fuctio.
2021-07-13 16:35:25 338
原创 Makefile多文件编译
1、文件结构├── include│ └── test.h├── main│ ├── main.c│ └── Makefile├── Makefile├── obj│ └── Makefile├── src│ ├── eat│ │ ├── eat.c│ │ ├── eat.h│ │ └── Makefile│ ├── Makefile│ └── test.c└── test.h2、源码文件test.h文件#...
2020-05-31 22:42:32 941
原创 C++网页请求、窗口截取、日志运用、系统时间、C++转BYTE
1、请求网页信息1.1、C++(MFC)Cstring Get_Http_Date(){ CWinApp app((LPCTSTR)"123"); app.InitApplication(); AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0); CString m_URL =...
2018-12-08 09:41:21 486
原创 Halcon之HDevelop的应用
常用快捷键1、取消注释:F32、注释:F43、运行:F56、调用算子编辑窗口:Ctrl+Shift+Space常用窗口简介1、图像窗口:用来显示图片2、程序窗口:用来添加代码3、变量窗口:图像变量:显示图片的变量名字,控制变量:图像数据4、算子窗口:用来显示图片的输入输出5、性能评测器:统计算子执行时间简单的图像绘制画圆:gen_circle(...
2018-12-08 09:37:22 4103 1
原创 文件处理
1、C++文件处理1.1、文件删除DeleteFile(文件路径)1.2、读取文件1、windows下读取ini配置文件int a = GetPrivateProfileInt("Params","XLimit",165000,strPath);//获取整型数据//com为数组类型,参数1:表示字段名字,参数2:表示变量名,参数3:表示默认值GetPrivateProf...
2018-12-08 09:36:45 188
原创 设计模式之访问者模式(visitor)
1、定义在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。2、介绍优点: 1、符合单一职责原则。 2、优秀的扩展性。 3、灵活性。缺点: 1、具体元素对访问者公布细节,...
2018-10-18 17:26:33 231
原创 STL详解
目录1、STL简介2、常用容器2.1、string容器2.1.1、string容器基本概念2.1.2、string常用函数2.2、vector容器2.2.1、vector容器基本概念2.2.2、vector常用构造函数2.2.3、vector常用赋值函数2.2.4、vector大小操作2.2.5、vector存储操作2.2.6、vector插入与删除...
2018-10-18 16:45:42 414
原创 多线程的创建
1、在Windows上创建线程通过窗口句柄创建线程:参数说明: 参数1: lpThreadAttributes 表示线程内核对象的安全属性,一般传入NULL表示使用默认设置。 :参数 2:dwStackSize 表示线程栈空间大小。传入0表示使用默认大小(1MB)。 :参数3: lpStartAddress 表示新线程所执行的线程函数地址,多个线程可以使用同一个函...
2018-10-11 16:32:32 153
原创 char*、string、CString的应用及相互转换
目录1、char*1.1、简介1.1、常用函数1.1.1、初始化方法1.1.2、获取字符(从键盘或者从文件中)1.1.3、输出1.1.4、字符串长度1.1.5、字符串追加1.1.6、字符串比较1.1.7、字符串拷贝1.1.8、格式化字符串1.1.9、sscanf格式化输出1.1.10、查找1.1.11、 分割字符串2、s...
2018-09-29 14:18:30 989
原创 设计模式之责任链模式(Chain of Responsibility)
1、定义顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。2、介绍优点: 1、降低耦合度。它将...
2018-09-04 10:26:13 154
原创 设计模式之状态模式(State)
1、定义在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。2、介绍优点: 1、封装了转换规则。 2、枚举可能的状态,在枚举状态之前需要确定状态种类。 3、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要...
2018-09-03 18:29:39 255
原创 C++执行ADB指令
1、运行环境VS2013+adb.exe程序,项目结构在github上ADB_CMD,网址为:https://github.com/w-x-me/Demon_Code2、源码#define _CRT_SECURE_NO_WARNINGS#include<iostream>#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS #inc...
2018-09-03 10:04:36 11269
原创 C++动态库的制作和调用
1、dll的有点代码复用是提高软件开发效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架,ATL、MFC等,它们都以源代码的形式发布。由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复用”。“白盒复用”的缺点比较多,总结起来有4点。 暴露了源代码;多份拷贝,造成存储浪费; 容...
2018-08-31 20:15:30 23594 9
原创 设计模式之观察者模式(Observer)
1、定义当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。2、介绍优点: 1、观察者和被观察者是抽象耦合的。 2、建立一套触发机制。缺点: 1、如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。 2、如果在观察者和观察目标之间有循环依赖...
2018-08-29 14:08:46 141
原创 设计模式之组合模式(Composite)
1、定义组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。2、介绍优点: 1、高层模块调用简单。 2、节点自由增加。缺点:在使用组合模...
2018-08-29 11:21:26 234
原创 设计模式之迭代器模式(Iterator Pattern)
1、定义用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。2、介绍优点: 1、它支持以不同的方式遍历一个聚合对象。 2、迭代器简化了聚合类。 3、在同一个聚合上可以有多个遍历。 4、在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。缺点:由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的...
2018-08-29 10:54:01 194
原创 设计模式之装饰器模式(Decorator)
1、定义装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。2、介绍优点:装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现...
2018-08-29 10:06:31 132
原创 设计模式之命令模式(Command)
1、定义命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。2、介绍优点: 1、降低了系统耦合度。 2、新的命令可以很容易添加到系统中去。缺点:使用命令模式可能会导致某些系统有过多的具体命令类。使用场景:认为是命令的地...
2018-08-29 09:10:48 587
原创 设计模式之桥接模式(Bridge)
1、定义桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。2、介绍优点: 1、抽象和实现的分离。 2、优秀的扩展能力。 3、实现细节对客户透明。缺点:桥接模式的...
2018-08-28 17:40:58 271
原创 设计模式之建造者模式(Builder Pattern)
1、定义建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。2、介绍优点: 1、建造者独立,易扩展。 2、便于控制细节风险。缺点: 1、产品必须有共同点,范围有限制。 2、如内部变化...
2018-08-28 17:04:08 359
原创 设计模式之模板模式(Template Method)
1、定义在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。2、介绍优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、行为由父类控制,子类实现。缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统...
2018-08-28 15:32:03 160
原创 设计模式之适配器模式(Adapter Pattern)
1、定义适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。2、介绍优点: 1、可以让任何两个没...
2018-08-28 14:26:50 197
原创 设计模式之外观模式(Facade Pattern)
1、定义外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。2、介绍优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。缺点:不符合开闭原则,...
2018-08-28 12:00:42 186
原创 设计模式之抽象工厂模式(AbstractFactory)
1、定义抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。2、介绍应用实例:工作了,为了参加一些聚会,肯定有两套或多套衣服吧...
2018-08-28 10:19:53 165
原创 设计模式之工厂方法模式(Factory Pattern)
1、定义工厂模式(Factory Pattern)是最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。2、介绍优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏...
2018-08-27 17:57:41 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人