自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人生起猿

我不想奋斗了,但长相不允许

  • 博客(65)
  • 资源 (5)
  • 收藏
  • 关注

原创 VS编译能通过,但是代码显示红线

能编译通过仍然提示错误,主要原因事VS的智能感知异常导致。解决办法:1.到解决方案所在的目录2.显示隐藏文件夹3.将文件夹.vs删除4.重启VS软件,红色波浪线消失....爽具体原因自己看:Fixing Visual Studio Intellisense Errors - Rick Strahl's Web Log...

2021-11-13 13:49:37 6870 2

原创 【OpenGL基础 配置环境】

下载:1. glew:http://glew.sourceforge.net/找到对应本机OpenGL版本的glew2. glfw:glfw.org点击右上角的download3. VS2017:https://visualstudio.microsoft.com/zh-hans/vs/

2020-11-02 15:29:27 223

原创 【C#基础 记录2】Find()和First()与FirstOrDefault()

1.Find方法只能在List<T>上使用,而后者能更广泛应用在IEnemerable<T>上。Find最终是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度会比FirstOrDefault快很多,据测试可能会快一倍以上。2. First:取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常3. FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,..

2020-10-14 09:09:20 1202 1

原创 【WPF学习 记录1】WPF开发中文本框值变更事件

通过MVVM模式获取绑定的文本框属性,某些输入场景下,如果想通过文本框内值的变更来触发事件,WPF的TextBox控件默认是失去焦点后才能触发,显然有时满足不了我们的需求。解决方案:在xaml文本框的绑定中设置Binding的UpdateSourceTrigger属性UpdateSourceTrigger=LostFocus //默认值,失去焦点才绑定值UpdateSourceTrigger=PropertyChanged //值一发生改变就传回给Source例如ToggleButo

2020-10-13 15:45:20 1626

原创 Protobuf 解除Protocol message的64M大小限制

//获取message和其大小google::protobuf::MessageconFrameworkData;int iSize;//省略获取conFrameworkData和iSize的值......//根据实际获取的数据大小设置message的大小google::protobuf::io::CodedInputStream cis(conFrameworkData, iSize);cis.SetTotalBytesLimit(iSize, iSize);appFram..

2020-10-09 16:37:16 2400

原创 VS 添加自动注释

1.如下图所示,找到VS安装路径,找到类和接口的模板文件Class.cs和Interface.cs文件,添加想要添加的注释后保存

2020-07-27 10:25:25 2325

原创 Markdown学习

#Markdown学习## 0x00 标题设置在Markdown当中设置标题,有两种方式:第一种:通过在文字下方添加“=”和“-”(两个以上),他们分别表示一级标题和二级标题,例如:示例第一章==第二种:在文字开头加上 “#”,通过“#”数量表示几级标题,(一共只有1~6级标题,1级标题字体最大)例如:# 示例第一章,注意#和标题内容之间需要有空格,且#需要定格写# 示例第一章## 0x01 块注释通过在文字开头添加“>”表示块注释。(当>和文字之间添加五个blank时

2020-07-27 09:35:14 184

原创 【C#基础 记录1】yieId return和return的区别

写点东西: 来上海四年工作多了,从学校里面的MFC、VxWorks、WindML,到工作用的Qt、C++、DuiLib、Windows生物识别驱动、有点含量的HCK和HLK测试,再到嵌入式开发板、乐鑫的esp8266、 Wifi联网锁的开发、物联网平台,小程序开发等等,感觉学了不少,又感觉啥都没有学到,出于职业规划考虑决定需要在一方面或者某个行业精益求精,而不能考虑广度优先的原则了,于是跳了槽来了国内最大的的某医疗公司开始了医疗软件开发相关工作。后面都后记录自己学习的点滴,勉励自己变得更加优...

2020-07-25 11:47:21 425

原创 了结篇

1.浅拷贝与深拷贝浅拷贝:只对指针进行了拷贝,拷贝后,两个指针指向同一块内存空间。深拷贝:不仅对指针进行了拷贝,还对指针指向的内容进行了拷贝,拷贝后的指针是指向两个不同地址的指针。引申内容:当对象中存在指针成员时,除了在复制对象时需要考虑自定义拷贝构造函数,还应该考虑以下两种情形:1)当函数的参数为对象时,实参传递给形参的实际上是实参的一个拷贝对象,系统自动通过拷贝构造函数实...

2020-04-22 15:39:31 226

原创 openssl 详解

//如果需要帮助共同学习,可添加微信号:sandyAndroid,添加时请备注来源和请求信息,也可以入全栈新QQ群1009769932openssl 是网络通信的基石和安全保证,没有openssl,可以说我们的网络传输的信息都是明文,裸奔数据,对安全性大打折扣。下面我们先熟悉几个名词:一: 概念1. SSLSSL的全名叫做secure socket layer(安全套接字层)...

2020-04-21 12:15:58 2573

原创 ESP8266学习之MQTT服务器搭建

//如果需要帮助共同学习,可添加微信号:sandyAndroid,添加时请备注来源和请求信息,也可以入全栈新QQ群1009769932***********************************************************************************************************************************...

2020-02-26 21:08:18 1606

原创 Windows10 ms-settings的设置界面跳转的几种方式

在Win10系统中系统设置其实也是一个Modern应用,它与ms-settings:协议进行了关联,在设置应用中的每一个具体的设置页面都有一个URI(统一资源标识符)与之对应,通过这些URI就可以直达某个具体的设置页面.下面综合总结下集中方式:方式一:可以按Win+R打开运行,直接将URI粘贴到运行输入框回车即可;方式二:可以桌面空白处新建快捷方式,将URI作为对象位置...

2019-07-30 17:51:39 9654 1

原创 容易忘记的理论:多线程的三个特性

原子性、可见性、有序性原子性:是指一个操作是不可中断的。即使是多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。比如,对于一个静态全局变量int i,两个线程同时对它赋值,线程A给他赋值为1,线程B给他赋值为-1。那么不管这两个线程以何种方式。何种步调工作,i的值要么是1,要么是-1.线程A和线程B之间是没有干扰的。这就是原子性的一个特点,不可被中断。可见性:是指当一个线...

2019-04-26 15:43:26 416

原创 QT抛出No such slot问题

解决办法:1、看看你的类声明中有没有Q_OBJECT,没有加上(并检查是否已经包含#include头文件)2、你声明的函数要加声明:       例如:private slots:                  void xxxx();3、检查槽函数名拼写是否有误4、确认对应的signal和slot的参数是否一致如果还不行的话,清理项目,删掉原有

2018-06-20 16:46:55 9115

原创 Windows登录--本地登录和域登录

登录到本机的过程1. 用户首先按Ctrl+Alt+Del组合键。   2. Winlogon检测到用户按下SAS键,就调用GINA,由GINA显示登录对话框,以便用户输入账号和密码。  3. 用户输入账号和密码,确定后,GINA把信息发送给LSA进行验证。   4. 在用户登录到本机的情况下,LSA会调用Msv1_0.dll这个验证程序包,将用户信息处理后生成密钥,同...

2018-04-18 11:27:29 35854

原创 VS代码编译能通过,但是出现红色波浪线的问题

这个问提很奇特:我在这里以使用duilib库时,我的代码中出现红色波浪线的解决办法解决办法:    我引用duilib库时,在stdafx.h的头文件中引入duilib的头文件,然后using namespace DuiLib,然后param comment(lib,"Duilib.lib")的。      我先把using namespace DuiLib;这句话先注释掉然后编译(编译肯定不通过...

2018-03-16 12:14:27 25433 9

原创 C1075 左侧的 大括号“{” 与文件结尾不匹配

VS中出现这个问题很奇怪,不存在大括号不匹配的情况,编译出现这个错误时,可以看到在控制台同时输出这样一句提示“请转unicode编码......”所以我给出的解决方法是:将代码复制到txt,将txt保存为unicode编码,在新建文件,然后将这段代码拷贝进去,编译OK了...

2018-03-16 11:30:11 10495

原创 QT获取字符串的像素的宽与高

//设置字体 QFont font; font.setFamily("Microsoft YaHei"); font.setPointSize(8); QFontMetrics fm(font); QRect rec = fm.boundingRect("ANG3333_G2"); //字符串所占的像素宽度,高度 int textWidth

2017-11-29 16:30:56 7250 1

原创 QT读写csv文件(文本文件)

//写文件void MainWindow::on_pushButton_clicked(){ if(dataMap.size()<=0){ QMessageBox::information(this,"","请先进行读数据操作!",NULL); return; } QFile file("C:/20171114.csv"); QTe

2017-11-23 15:42:56 18499 1

原创 QT设置文件对话框

void MainWindow::on_pushButton_clicked(){ //定义文件对话框类 QFileDialog *fileDialog = new QFileDialog(this); //定义文件对话框标题 fileDialog->setWindowTitle(tr("select file")); //设置默认文件路径 fil

2017-11-23 15:39:03 1087

原创 使用QT自带工具进行程序打包

1.使用QT creator完成自己的程序的编写,演示工程和界面如下图所示:工程界面界面设计2.点击“项目”按钮,选择“运行”,部署方法选择“在本地部署”,点击添加部署步骤--->>自定义处理步骤,添加自定义进程步骤栏,分别在命令、参数和工作目录文本框中输入以前参数,这三个参数是固定的,不需要更改,具体配置如下,然后选择左下角的release版本编译,运行此工程

2017-11-16 16:47:58 1785

原创 QT5.6 加载百度地图

1.注册百度开发者账号2.激活百度账号,创建应用,获取ak3.申请的ak信息如下所示4.接下来拷贝这个密钥,即可利用qt进行开发工作。这里使用的qt的版本是qt5.6的,此版本已经放弃使用QWebView,所以地图的呈现加载使用的是QtWebEngineWidgets类。具体的代码如下:在*.pro文件中添加:QT += webenginew

2017-11-07 15:45:31 2485 1

翻译 protocol buffer开发指南(官方)

欢迎来到protocol buffer的开发者指南文档,一种语言无关、平台无关、扩展性好的用于通信协议、数据存储的结构化数据序列化方法。本文档是面向计划将protocol buffer使用的到自己的Java、C++或Python应用程序中的开发者的。这个概览介绍了protocol buffer,并告诉你如何开始,你随后可以跟随编程指导(https://developers.google....

2017-09-13 14:56:34 16561 2

原创 HTTP之java实例

一、POST与GET的区别:1、GET是从服务器上获取数据,POST是向服务器传送数据。2、在客户端, GET方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。3、对于GET方式,服务器端用Request.QueryString获取变量的值,对于

2017-09-07 10:48:52 434

原创 QT creator同时打开多个运行窗口(客户端窗口)

一:最近在做TCP多连接server的问题,但是发现qt不能同时打开多个客户端窗口?        解决办法:可以使用windows下的cmd命令窗口,用命令的方式运行多个客户端(我的客户端的名字是wbclient.exe)。      step1:首先通过cmd进入到wbclient.exe目录,这个文件在编译目录(debug或者release目录下),如下图所示:s

2017-08-11 17:49:33 18178 4

原创 客户端与服务端的TCP通信实现(Qt)

一:TCP通信介绍.TCP是面向连接的可靠传输的协议,协议规定交换的双方必须是服务端和客户端的两个角色:--- 服务端负责监听网络端口,等待客户端的连接,用连接的socket完成信息的交互;--- 客户端负责每次连接的发起,建立连接后才可以进行通信;.TCP的连接是基于流的,数据按照正确的顺序存储在接收缓冲区中,它保证数据能正确的进行交换,但不能保证数据以发送端的数据帧的形式提交。...

2017-08-08 11:59:57 6952 3

转载 设计模式介绍之二:单例模式(Singleton)

先介绍最简单最常见的设计模式: singleton (单例)。    意图保证一个类仅有一个实例,并提供一个访问它的全局访问点    已知应用举例Qt, QCoreApplicationJava, Runtime.getRuntime()    常见问题多线程重入与竞争会造成 2 个或多个实例被构建找不到合适的时机释放单例,可以考虑 atex

2017-08-03 16:44:09 223

转载 设计模式介绍之一:开篇概述

这是一系列文章,原本是我撰写的公司内部讲义。最近重新熟悉设计模式翻了出来,再温习一下。    本文的目的:介绍设计模式在开发过程中主动使用设计模式使用设计模式来重构已有代码不是完整的设计模式参考和详解,仅仅是推荐    什么是设计模式   设计模式的系统性概念是 GoF 整理并提出来的。 GoF (又称“四人帮”,即 Erich Gamma,Richard Helm,R

2017-08-03 15:05:59 200

原创 UDP通信之线程实现

比较:窗口通信的不足之处:窗口部件主要处理大量的用户界面信息,当有耗时的处理过程时,会影响数据接收,造成丢帧。   线程通信的好处:通常使用独立的线程负责网络数据的发送和接收,在通过窗口部件进行数据显示,在实时系统同这种应用十分广泛。基于线程实现UDP数据的收发:step1:新建窗口程序工程,添加发送数据线程类SendThread和接收数据线程类RecvThread,均继承QT

2017-07-28 15:32:54 980

原创 UDP通信之窗口实现

UDP面向窗口通信的简单实现介绍:UDP数据报文协议是面向无连接的传输层报文协议。UDP主要用在强调实时,主动推送的系统中,不存在“粘包”情况。1.新建界面工程,添加列表部件,用于显示和接收数据2.在头文件中,添加包含QNetwordInterface,QHostAddress,QudpSocket模块,添加网络数据报文的结构定义,重载的timerEvent定义,添加接收数据报

2017-07-28 11:45:20 1680

转载 如何提高代码的执行效率--c++

一、尽量减少值传递,多用引用来传递参数。其中的原因,相信大家也很清楚,如果参数是int等语言自定义的类型可能能性能的影响还不是很大,但是如果参数是一个类的对象,那么其效率问题就不言而喻了。例如一个判断两个字符串是否相等的函数,其声明如下:bool Compare(string s1, string s2)bool Compare(string *s1, string *s2)boo

2017-07-18 10:24:08 1000

转载 STL学习笔记15— —算法

简介算法库定义了用来实现各种功能的函数(如查找、排序、计数、修改等),都是针对指定范围内元素的操作。需要注意的是,元素的范围以 [first, last) 的形式指定,其中 last 指的是范围内最后一个元素的下一个元素。在头文件 中定义。非变动性算法for_each() //对每个元素执行某个操作 count() //返回某元素的数量count_if() //返回满足特定

2017-07-18 10:14:10 201

转载 STL学习笔记14— —迭代器

头文件所有的容器都定义了自己的迭代器类型,所以一般情况下,不需要再自己添加迭代器头文件。但是如果要使用一些特殊的迭代器,如反向迭代器,或者一些迭代器辅助函数,那么就需要添加头文件。迭代器类型类型能力提供者输入迭代器一次向前读取istream输出迭代器向前写入ostream,inserter前向迭代器向前

2017-07-18 10:13:17 208

转载 STL学习笔记13— —特殊容器priority_queue

简介在头文件 中定义namespace std { template typename T, typename Container = vector, typename Compare = lesstypename Container::value_type>> class priority_queue;}

2017-07-18 10:12:26 202

转载 STL学习笔记12— —特殊容器queue

简介在头文件 中定义namespace std { template typename T, typename Container = deque> class queue;}12341234queue就是数据结构里队列的实现,先进先出。定义中的第二个参数用来定义queue内部存放元素的实际容器,可以是任何序列式容器,默认容器为deque。实际上queue也只是很单

2017-07-17 15:02:39 174

转载 STL学习笔记11— —特殊容器stack

简介在头文件 中定义namespace std { template typename T, typename Container = deque> class stack;}12341234stack就是数据结构里堆栈的实现,后进先出。定义中的第二个参数用来定义stack内部存放元素的实际容器,可以是任何序列式容器,默认容器为deque,是因为其删除元素会自动释放内存,还

2017-07-17 15:01:42 202

转载 STL学习笔记10— —容器的选用

默认情况下,选用vector,内部数据结构最简单,允许随机存取。如果经常要在序列头部和尾部插入和删除元素,应该使用deque。如果希望元素被删除时,容器能自动缩减内存,那么也要选deque。此外,由于vector通常采用一个内存块存放元素,而deque采用多个内存块,后者可包含更多元素。如果需要经常在容器中段执行元素的插入、删除或移动,可考虑list。list提供特殊成员函数,可在常数时间

2017-07-17 14:59:40 158

转载 STL学习笔记9— —无序容器(Unordered Container)

简介在头文件和 中定义namespace std { template typename T, typename Hash = hash, typename EqPred = equal_to, typename Allocator = allocator > class unordered_

2017-07-17 14:58:42 314

转载 STL学习笔记8— —容器map和multimap

简介在头文件 中定义namespace std { template typename Key, typename T, typename Compare = less, typename Allocator = allocatorconst Key,T> > > class map; template ty

2017-07-17 14:58:02 291

转载 STL学习笔记7— —容器set和multiset

简介在头文件 中定义namespace std { template typename T, typename Compare = less, typename Allocator = allocator > class set; template typename T, typena

2017-07-17 14:56:58 181

串口操作类, 封装了串口收发的API

封装了串口的操作, 打开串口,串口收发,关闭串口,属性信息设置,例如波特率、端口号、数据位、校验位和停止位等等

2020-04-22

jdk_8.0.1310.11_64.zip

使用Apollo 配置 MQTT服务器时需要执行apollo.cmd命令,执行时需要java环境才可以进行,故使用了JDK8 进行搭建配置

2020-02-26

MQTT apache-apollo-1.7.1-windows-distro.zip

自己使用Apollo搭建的Mqtt服务器, 配置使用了JDK8, 由于Apollo不好下载,共享出来共同学习

2020-02-26

QT实现CS版数据传输

使用QTcpServer和QTcpSocket完成客户端与服务端的数据传输

2017-08-09

基于VxWorks_的WindML_图形界面开发方法

基于VxWorks_的WindML_图形界面开发方法,详细介绍了集成的好处

2014-02-25

空空如也

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

TA关注的人

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