- 博客(35)
- 收藏
- 关注
原创 Qt 5.12.0中MinGW编译器+OpenCV 3.4.5的环境配置小结
本博客作为亲测补充,详细安装过程可参考:点击进入一、准备工作(1)Qt 5.12下载安装,尽量下载离线安装包,安装过程中选择MinGW编译器相关组件,配置系统环境变量;(2)OpenCV下载,本人下载的OpenCV3最新版3.4.5,选择Windows Pack(推荐)或者Source源码编译 Tips:虽然源码在后面可以直接编译,但是本人亲测发现源码include文...
2019-01-20 19:58:49 2083 5
原创 寒假开启OpenCV之旅......
毕设可能用到基于Qt、OpenCV的人脸识别,去图书馆找了一些相关书籍《OpenCV3编程入门》、《OpenCV图像处理编程实例》等书籍; 学习中,Loading.........
2019-01-19 13:32:46 324
原创 C++设计模式:访问者模式
一、源代码:#include<iostream>#include<memory>#include<vector>using namespace std;class Computer;class Mouse;class Keyboard;class Monitor;class ComputerPartVisitor{public: ...
2018-11-26 19:39:40 461
原创 C++设计模式:模板模式
一、源代码:#include<iostream>#include<memory>using namespace std;class Game{public: virtual void initialize() = 0; virtual void startPlay() = 0; virtual void endPlay() = 0...
2018-11-26 18:08:19 171
原创 C++设计模式:策略模式
一、源代码:#include<iostream>#include<memory>using namespace std;class Strategy{public: virtual int doOperation(int num1,int num2) = 0; virtual ~Strategy() = default;};clas...
2018-11-26 17:28:21 207
原创 C++设计模式:空对象模式
一、源代码:#include<iostream>#include<memory>#include<vector>using namespace std;class AbstractCustomer{public: virtual bool isNil() = 0; virtual string getName() = 0;...
2018-11-26 16:43:38 357
原创 C++设计模式:状态模式
一、源代码:#include<iostream>#include<memory>using namespace std;class State;class Context{public: Context() { this->_state = nullptr; } void setState(shar...
2018-11-25 19:12:33 242
原创 C++设计模式:观察者模式
一、源代码:#include<iostream>#include<memory>#include<vector>#include<bitset>using namespace std;class Subject;class Observer{public: virtual void update() = 0; ...
2018-11-25 10:23:07 145
原创 C++设计模式:备忘录模式
一、源代码:#include<iostream>#include<memory>#include<vector>using namespace std;class Memento{public: Memento(string state) { this->_state = state; } ...
2018-11-24 23:19:09 151
原创 C++设计模式:中介者模式
一、源代码:#include<iostream>#include<memory>#include<ctime>using namespace std;class User{public: User(string name) { this->_name = name; } string g...
2018-11-24 19:34:17 181
原创 C++设计模式:迭代器模式
一、源代码:#include<iostream>#include<memory>#include<vector>using namespace std;class Iterator{public: virtual bool hasNext(const vector<string>& names) = 0; ...
2018-11-24 18:27:23 399
原创 C++设计模式:解释器模式
一、源代码:#include<iostream>#include<memory>using namespace std;class Expression{public: virtual bool interpret(string context) = 0; virtual ~Expression() = default;};clas...
2018-11-24 16:36:11 253
原创 C++设计模式:命令模式
一、源代码#include<iostream>#include<memory>#include<vector>using namespace std;class Order{public: virtual void execute() = 0; virtual ~Order() = default;};class St...
2018-11-23 17:47:30 165
原创 C++设计模式:责任链模式
一、源代码:#include<iostream>#include<memory>using namespace std;class AbstractLogger{public: static int _info; static int _debug; static int _error; void setNextLogg...
2018-11-23 13:57:11 233
原创 C++设计模式:代理模式
一、源代码:#include<iostream>#include<memory>using namespace std;class Image{public: virtual void display() = 0; virtual ~Image() = default;};class RealImage:public Image{...
2018-11-21 15:58:04 143
原创 C++设计模式:享元模式
一、源代码: #include<iostream>#include<memory>#include<map>#include<array>using namespace std;class Shape{public: virtual void draw() = 0; virtual ~Shape() = de...
2018-11-21 14:45:15 143
原创 C++设计模式:外观模式
一、源代码:#include<iostream>#include<memory>using namespace std;class Shape{public: virtual void draw() = 0; virtual ~Shape() = default;};class Rectangle:public Shape{pu...
2018-11-19 21:28:15 146
原创 C++设计模式:装饰器模式
一、源代码:#include<iostream>#include<memory>using namespace std;class Shape{public: virtual void draw() = 0; virtual ~Shape() = default;};class Rectangle:public Shape{pu...
2018-11-18 22:19:15 175
原创 C++设计模式:组合模式
一、源代码:#include<iostream>#include<list>#include<memory>using namespace std;class Employee{public: Employee(string name,string dept,int salary) { this->_n...
2018-11-18 17:05:02 176
原创 C++设计模式:过滤器模式
一、源代码:#include<iostream>#include<memory>#include<list>#include<algorithm>using namespace std;class Person{public: Person(string name,string gender,string marita...
2018-11-17 21:14:42 614
原创 socket多个客户端连接服务器【下】:epoll服务器&select客户端
一、epoll服务器#include<iostream>#include<list>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<netinet/in.h>#include<arpa/inet.h>#include&
2018-08-20 16:44:05 825
原创 QtQuick串口编程Demo
一、目标:实现QtQuick界面,操控串口通信,进行串口数据的接收和发送二、核心思想:利用Qt库的QSerialPort类,使用C++实现串口数据的逻辑通信,并接受QtQuick界面的参数设置,在QML中调用C++实现的函数进行实际的数据收发(QML与C++混合编程)三、具体实现:(1)C++中的逻辑实现首先看serialport.h文件#ifndef SERIALPORT_H#define S...
2018-07-09 20:55:38 3909 2
原创 QtQuick网络socket编程Demo
一、目标:QtQuick图形化界面与Linux服务器建立TCP连接实现双向通信二、核心思想:利用Qt库的QTcpSocket类的方法,在C++中实现逻辑通信功能,注册到QML环境中调用(QML与C++混合编程)三、具体实现过程:(1)C++逻辑通信实现tcpSocket.h#ifndef TCPSOCKET_H#define TCPSOCKET_H#include <QObject&g...
2018-07-09 19:54:19 4375 8
原创 socket多个客户端连接服务器【上】:select服务器&epoll客户端
一、select服务器#include <stdio.h>#include <netinet/in.h> #include <sys/socket.h>#include <errno.h>#include <stdlib.h>#include <arpa/inet.h>#include <sys/t...
2018-06-11 10:13:01 1128
原创 最小化记忆:gdb调试命令和vim快捷键
一、GDB调试命令编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main打开gdb调试:gdb mainctrl+c:退出输入(gdb)help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h (gdb) 回车键:重复上一命令(gdb)start:单步执行,运行程序,停在第一执行语句(gdb)run:重新开始运行文件(run-text:加...
2018-06-10 22:06:47 565
原创 QtQuick多页面切换、多页面切换动画、多个qml文件数据交互
一、QtQuick多页面切换方法(1)“隐藏法”前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在;要显示的视图visible设为true或者透明度opacity设为1,显示出来;(2)“动态”var object=Qt.createComponent("LockFrm.qml").createObject(mainRect)用createCompo...
2018-06-02 13:27:10 10341
原创 QtQuick通过LocalStorage链接SQLite数据库,完成增删改查
一、创建与链接LocalStorage官方给的说明:This is a singleton type for reading and writing to SQLite databases;链接调用的方法:object openDatabaseSync(string name, string version, string description, int estimated_size, jsob...
2018-06-02 11:42:04 2217
原创 Qt5.10.1安装、环境变量配置、常见问题解决
一、Qt5.10.1安装建议下载离线安装包,安装过程中修改安装路径,组件可以去除不需要的,其他一路默认就行,尽量不要用中文;二、环境变量配置我的安装位置是 ”D:\Qt“,根据自己实际安装路径修改系统变量Path,在末尾添加以下语句D:\Qt\5.10.1\mingw53_52\bin;D:\Qt\Tools\mingw530_32\bin;这样就完成了!三、常见问题解决Qt5控制台编译找不到#i...
2018-04-25 21:51:07 18893 2
原创 Linux驱动开发2-字符驱动入门之低级LED
一、Linux设备驱动简介 在单片机驱动编程中,这些硬件的设备驱动由我们自己编写,然后在代码中由我们自己调用,他们没有一个统一的规范,一百个人有一百种驱动的写法。而在inux系统下编写驱动,它有严格的规范,哪些该驱动做,哪些该应用程序做;驱动程序编写要先做什么、然后再做什么都有严格的定义。正是因为由这样的规范,所以每个人只需要注重自己的角色,做自己该做的事,这也将嵌入式Linux开发的岗位分...
2018-03-27 20:31:19 652
原创 Linux驱动开发1-内核入门之hello模块
一、Linux内核简介 现在我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。如下图所示,最上面是用户(或应用程序)空间,这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。C基础库(如glibc、eglibc、uclibc等)也属于应用程序空间,它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。这点非常...
2018-03-21 19:59:36 13603
原创 FL2440 嵌入式Linux根文件系统制作
一、根文件系统简介 根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统而言它还是内核启动时所挂载(mount)的第一个文件系统,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如inittab、rcS)和服务加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的...
2018-03-19 21:21:46 438
原创 FL2440 Linux-3.0内核最小系统移植
准备工作:基于crosstool-ng这个交叉编译器制作[zusi@centos6_master crosstool]$ vim build.sh 编写制作交叉编译器的脚本,该脚本主要是从FTP服务器上下载文件并修改 只制作arm920t的交叉编译器#!/bin/bash # This shell script used to download crosstool-ng install b...
2018-03-18 20:36:06 265
原创 FL2440开发板介绍及其烧录
开发板硬件资源:开发板硬件资源列表:部件型号说明CPUS3C2440Samsung、 ARM920T、400MHzSDRAMK4S561632N32MB*2=64MB(内存)NandflashK9F2G08256MB(硬盘)以太网卡DM900010M/100M自适应EEPROMAT24C011Kb I2C接口USB4*USB 1.1 Host, 1*USB DeviceSD1*Standard ...
2017-11-06 17:17:41 466
原创 Makefile的结构和使用
背景: 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格...
2017-11-06 16:21:10 600
原创 Linux动态库和静态库
背景:库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Linux 支持两种类型的库,每一种库都有各自的优缺点。静态库包含在编译时静态绑定到一个程序的函数。动态库(也叫共享库)则不同,它是在加载应用程序时被加载的,而且它与应用程序是在运行时绑定的。Linux系统有几个重要的目录存放相应的函数库,如/lib, /usr/l...
2017-10-15 09:45:26 284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人