自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gaoyi221119的博客

人不可有傲气,但不可无傲骨。

  • 博客(93)
  • 资源 (18)
  • 收藏
  • 关注

原创 程序Bug定位流程

5、程序崩溃时dmp定位;2、输入特殊的数据定位;

2023-11-30 10:04:50 70

原创 C++ 基本算法模式

一:二、

2023-10-24 13:20:24 71

原创 Redis分析

如图:

2023-10-20 09:31:49 63

原创 C++ 通过CreateProcess函数和ShellExecute函数打开另一个exe

例如,应用程序可能想要启动另一个应用程序,以便用户修改数据文件。原文链接:https://blog.csdn.net/m0_60352504/article/details/128466544。版权声明:本文为CSDN博主「百口可乐__」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。创建进程,CreateProcess 函数创建一个新进程,该进程独立于创建进程运行。启动应用程序 (ShellExecute、ShellExecuteEx、SHELLEXECUTEINFO)

2023-10-13 13:03:55 408

原创 cmake、make、gcc之间的关系

见图所示:

2023-10-08 14:55:46 67

原创 C++11 之 lambda函数

**1. lambda 函数概述1.1. lambda 函数中“捕捉列表”详解2. lambda 函数特点3. lambda 函数使用4. lambda 函数与 STLlambda 函数概述lambda 表达式是一种匿名函数,即没有函数名的函数;该匿名函数是由数学中的λ演算而来的。通常情况下,lambda函数的语法定义为:**[capture] (parameters) muta...

2020-02-29 13:52:58 141

原创 MFC开发中添加自定义消息和消息响应函数

(1)在.h或.cpp文件定义一个消息 #define CLICK_MESSAGE_BOX WM_USER+1001//add by 20180612 给主窗口ctrl.cpp发送消息  //自定义消息  #define WM_PENSIGNMSG WM_USER+1001(2)在.h中类定义里添加消息映射DECLARE_MESSAGE_MAP()//类的定义  clas...

2020-01-04 16:10:07 968

原创 无参考图像的清晰度评价方法(代码实现Python)

评估方法实现所有函数的具体说明都在参考文献[1]里,这里不做过多的赘述,只讨论实现。github:图像清晰度评估算法包(有示例)1 Brenner 梯度函数def brenner(img): ''' :param img:narray 二维灰度图像 :return: float 图像约清晰越大 ''' shape = np.shape(img) ...

2019-12-31 14:39:53 6286 3

原创 色调、色相、饱和度、对比度、亮度

对比度:对比度指不同颜色之间的差别。对比度越大,不同颜色之间的反差越大,即所谓黑白分明,对比度过大,图像就会显得很刺眼。对比度越小,不同颜色之间的反差就越小。亮度:亮度指照射在景物或图像上光线的明暗程度。图像亮度增加时,就会显得耀眼或刺眼,亮度越小时,图像就会显得灰暗。色调:色调是各种图像色彩模式下原色的明暗程度,级别范围从0到255,共256级色调。例如对灰度图像,当色调级别为255时...

2019-12-31 10:14:11 5706

原创 世界上最早的区块链项目

中国麻将:世界上最早的区块链项目最近区块链这个玩意又被市场搞的很是火热,相信大部分人都不太清楚这玩意到底是怎么样的一个概念,它来了,它来了,它到底是啥~ 国家都开始发文支持了,下面是一个通俗易懂的例子:中国麻将。 甲首先发起一个申请,我要打麻将,组建一个麻将局,这就相当于创建一个区块,这个区块会被广播给乙、丙、丁、A、B、C、D……在打麻将的过程中,上述四个人不断的 摸牌、打牌,这个可...

2019-11-01 18:06:55 2269

原创 镜头检测的性能

1.杂光2.畸变3.鬼像4.MTF5.Lenshading6.黑电平7.坏点8.景深9.均匀性10.场曲11.像散

2019-10-24 09:52:06 37

原创 3A算法

3A技术即自动对焦(AF)、自动曝光(AE)和自动白平衡(AWB)。3A数字成像技术利用了AF自动对焦算法、AE自动曝光算法及AWB自动白平衡算法来实现图像对比度最大、改善主体拍摄物过曝光或曝光不足情况、使画面在不同光线照射下的色差得到补偿,从而呈现较高画质的图像信息。采用了3A数字成像技术的摄像机能够很好的保障图像精准的色彩还原度,呈现完美的日夜监控效果。自动对焦算法(AF)是通过既得图像对...

2019-10-24 09:47:48 2251

原创 opencv基本类型

1.Point类2.Size类3.Rect类4.Scalar类5.Mat类6.Vec类7.Matx类8.RotatedRect类

2019-09-27 22:10:26 204

原创 C++ 11 新特性 C++ 11 新特性

C++11新特性: 1、auto 2、nullptr 3、for 4、lambda表达式 5、override、final 6、右值引用 7、move构造函数 8、容器初始化**> 1. nullptr**nullptr 出现的目的是为了替代 NULL。在某种意义上来说,传统 C++ 会...

2019-09-26 18:24:27 257

原创 vs中debug和release版本的区别

vs中的程序有debug和release两个版本,Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。debug程序通常比...

2019-03-29 13:23:48 2434

原创 MFC对控件添加变量时选择control和value有什么区别

简单点说,Value 就是一个变量 ,control 就是一个控件。主要的区别也就是 变量 和 控件之间的区别,虽然他们实质上都是一样的。可是选择 Value ,MFC 会把控件的内容对应到一个变量上。除非你用其他API取得这个控件进行操作,否则,就是一个变量而已。主要的用途是 UpdateData。进行数据读些。而作为控件,把就是把这个东...

2019-03-27 15:03:14 1123

原创 为什么要用null!=object(null==object)这种形式

不管是null!=object还是object!=null,在比较的时候都会读取一次object的值。把null写左边其实可以防止编程出现的低级错误,你用不等于(!=)不好说明,改用等于。if(object == null)这个语句有时候没注意就会写成:if(object = null)//少了个等号这样在有的语言中编译是不会出错的,而在运行中结果就不知道了。。但是你把null写在左边,n...

2019-03-27 13:40:39 4192 1

原创 VMWare 复制虚拟机系统后,模块“Disk”启动失败

1、找到虚拟机所在的目录将 .vmx文件打开将文件vmci0.present = “TRUE” 改为 vmci0.present = “FALSE”2、删除以.lck为后缀名的文件3、重新打开虚拟机

2019-03-06 17:31:44 482

原创 多线程和进程经典面试题

一、概念性问答题第一题:线程的基本概念、线程的基本状态及状态之间的关系?概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。好处 :(1)易于调度。(2)提高并发...

2019-02-01 13:59:52 3201

原创 线程与进程区别和联系

●多进程和多线程的区别进程它是具有独立地址空间的,优点就是隔离度好,稳定,因为它是操作系统管理的,进程和进程之间是逻辑隔离的,只要操作系统不出问题的话,一个进程的错误一般不会影响到其它进程,缺点就是信息资源共享麻烦。而线程只是进程启动的执行单元,它是共享进程资源的,创建销毁、切换简单,速度很快,占用内存少,CPU利用率高。但是需要程序员管控的东西也比较多,相互影响出问题的机率较大,一个线程挂掉将...

2019-02-01 13:44:00 1020

原创 C++11 | 运行时类型识别(RTTI)

C++11里的RTTI更好用了,参见这里:[http://en.cppreference.com/w/cpp/types]。与RTTI相关的有几个类和方法:type_info类typeid操作符type_index类type_infotype_info类在头文件<typeinfo>中定义,代表了一个C++类型的相关信息。一般由typeid操作符返回,不能自己构造。typ...

2018-11-15 17:20:59 1165

原创 导出函数__declspec(dllexport)

关于DLL的函数:动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用。输出函数的方法有以下几种:1、传统的方法在模块定义文件的EXPORT部分指定要输入的函数或者变量。语法格式如下:entryname[=internalname] [@or...

2018-11-15 13:45:14 3036

原创 复旦大学吴立德《数值优化》、《深度学习》视频教程

http://i.youku.com/i/UNjAzMzA4NjQ=/playlists?spm=a2hzp.8253869.0.0【1】复旦大学吴立德教授讲授的《数值优化》。使用教材为Nocedal, Jorge, and Stephen Wright. Numerical optimization. Springer Science & Business Media, 2006. ...

2018-11-15 13:39:32 2786

原创 C++容器适配器

一、标准库顺序容器适配器的种类标准库提供了三种顺序容器适配器:queue(FIFO队列)、priority_queue(优先级队列)、stack(栈)二、什么是容器适配器首先,我们要明白适配器是干什么的?其实就是一个接口转换装置,是得我们能用特定的方法去操作一些我们本来无法操作的东西。举一个例子,比如你的一个设备支持串口线,而你的电脑支持的是usb口,这时候,我们没有必要重新买一个支持usb...

2018-11-08 19:07:03 160

原创 C++中的容器类详解

C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector连续存储结构,每个元素在内存上是连续的;支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;2、...

2018-11-07 18:10:27 470

原创 不要自称是程序员

如果我可以给每个工程教育增加一门课,它不会涉及编译器、门电路或是时间复杂度,而是一门介绍行业现实的入门课,因为没人教过这些,所以我们遭受了很多不必要的痛苦和折磨。希望本文可以成为年轻工程师职业生涯的自述文档( readme.txt)。目的是填补“现实世界”运作方式与教育之间的空白,并让你快乐起来。我从“一个还算聪明,但是不自信、毫无商业经验的工程师”,耗费了十年多的时间,经受了很多的苦难,才总结出...

2018-10-29 21:55:32 409 1

原创 win10下的MyEclipse2017 ci7 安装教程

一、安装环境与安装包操作系统:win10MyEclipse2017 CI7下载地址: 链接: https://pan.baidu.com/s/1smEFb4mvGLbhrO95gMPYRA 密码: gmv5 MyEclipse2017 CI7破解包: 链接: https://pan.baidu.com/s/1wKKorMhZpzWXtyNbKkOWEA 密码: w92s二、安...

2018-08-21 23:31:47 1424 1

原创 2017年,我们为什么要学习C++?

学习C++的一大好处在于,它可以帮助我们理解生命周期(Lifetime)和所有权(Ownership)的概念,以及类型的抽象,还可了解到怎样利用类型保持API的使用方式不变。除此之外,为何各种高级语言层出的今天,学习C++仍颇有价值?“C++已死” 大学时代,我就听过这样的说法——差不多十年前的事儿了。那时候至少在美国,Java已经成了各公司的主流语言。程序员也许都很熟悉Joel Spolsky在2

2017-12-08 10:12:03 4580 1

原创 8、16、32-BIT系列单片机区别与特点

一、8位单片机8031/8051/8751是Intel公司早期的产品1、8031的特点8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再可写入。写入到外接程序存储器的程序代码没有什么保密性可言。2、8051的特点8051片内有4k R

2017-10-23 18:52:32 3848

原创 C语言中volatile在什么情况下使用

volatile是易变的,不稳定的意思,volatile是关键字,是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其他线程等,遇到这个关键字声明的变量,编译器对访问该变量的代码不在进行优化,从而可以提供对特殊地址的稳定访问。volatile 关键字告诉编译器该变量是随时可能发生变化的,每次使用它的时候必须从内存中取出他的值,因而编译器生成的汇编代码会从原内存

2017-10-20 12:00:10 1608

原创 C语言中const关键字

关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定有它的合理性,与预编译指令相比,const修饰符有以下的优点:1、预编译指令只是对值进行简单的替换,不能进行类型检查;2、可以保护被修饰的东西,防止意外修改,增强程序的健壮性

2017-10-20 11:39:56 452

原创 中断服务函数能不能带形参和返回值

从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进行中断处理。(1) 硬中断 由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断

2017-10-19 22:45:34 10059

原创 Java SE Java EE和Java ME的区别

JDK即java development kit.是面向开发人员使用的,提供了java的开发环境和运行环境。JRE即java runtime enviroment.是面向java程序使用者,是java的运行环境。JVM即java virtul machine.java虚拟机,是java实现跨平台的最核心部分。总体关系:JDK包含JRE,JRE包含JVM。Java SE(Java Platform,

2017-09-19 09:48:06 1282

原创 人工智能包含哪些技术

一、概述  近几年各界对人工智能的兴趣激增,自2011年以来,开发与人工智能相关的产品和技术并使之商业化的公司已获得超过总计20亿美元的风险投资,而科技巨头更是投资数十亿美元收购那些人工智能初创公司。相关报道铺天盖地,而巨额投资、计算机导致失业等问题也开始浮现,计算机比人更加聪明并有可能威胁到人类生存这类论断更是被媒体四处引用并引发广泛关注。  IBM承诺拨出10亿美元来使他们的认知计算平台Wats

2017-09-17 13:00:55 10401 1

原创 进程同步和线程同步

怎样同步多个线程或多个进程的活动。为允许在线程或进程间共享数据,同步是必需的。互斥锁和条件变量是同步的基本组成部分。互斥锁和条件变量出自POSIX.1线程标准,它们总是可用来同步一个进程内的各个线程的。如果一个互斥锁或条件变量存放在多个进程间共享的某个内存中,那么POSIX还允许它用于这些进程间的同步。互斥锁、条件变量、读写锁、信号量均可用于进程、线程的同步。多线程同步方法1)互斥锁 互斥锁是最基

2017-09-17 11:07:46 2372

原创 软中断和硬中断区别

软中断: 1、编程异常通常叫做软中断; 2、软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式; 3、 中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能; 4、软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。硬中断: 1、 硬中断是由外部事件引起的因此具有随机性和突发

2017-09-16 21:09:42 1450

原创 含参数的宏与函数、内联函数的区别

含参数的宏与函数的区别1、宏替换不占运行时间,只占编译时间;而函数调用则占运行时间(分配单元、保留现场、值传递、返回),所以每次执行都要载入所以执行起来比较慢一些。2、 定义宏的时候不要在宏及其参数之间键入空格,因为宏替换的时候会把你不经意打的空格当作宏的一部分进去。3、在宏定义中把每个参数都用括号括起来,同时把整个结果也用括号(对于单个表达式的宏,可以使用小括号(),对于宏定义的复合语句可以使用{

2017-09-15 20:00:17 639

原创 Linux多进程和多线程的优缺点

教科书上最经典的一句话是“进程是操作系统分配的最小单位,线程是CPU调度的最小单位”。多线程的优点:1)它是一种非常”节俭”的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵”的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启

2017-09-15 17:54:05 2498

原创 open和fopen的区别

open和fopen的区别:1.缓冲文件系统 缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外

2017-09-15 16:06:17 305

原创 字节对齐的规则总结

一、什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始

2017-09-15 11:11:44 17387 3

最全的C和C++语言笔试面试题汇总.doc

最全C/C++笔试汇总

2019-09-27

第35讲 电容触摸按键 -M3.ppt

电容触摸按键实验

2019-09-27

第36讲 OLED显示实验.ppt

OLED显示实验

2019-09-27

第39讲 LCD液晶显示实验讲解-M3.ppt

第39讲 LCD液晶显示实验讲解

2019-09-25

第41讲 RTC实时时钟+备份区域BKP 原理讲解-M3.ppt

第41讲 RTC实时时钟_备份区域BKP 原理讲解-M3

2019-09-25

第42讲 RTC实时时钟程序讲解-M3.ppt

第42讲:RTC实时时钟程序讲解

2019-09-25

第43讲 待机唤醒实验-低功耗-M3.ppt

第43讲:待机唤醒实验

2019-09-25

第6讲 STM32芯片解读-M3.ppt

STM32芯片解读

2019-09-25

ST LINK驱动及教程.rar

ST LINK驱动及教程

2019-09-25

2.4'&2.8' TFTLCD_V2.1_SCH.pdf

主要讲解STM32开发视频中TFTLCD硬件开发电路图设计

2019-09-25

JLINK问题汇总_V2.1.pdf

主要讲解STM32中JLINK问题汇总,很详细

2019-09-25

ARM嵌入式系统基础教程(第2版) 周立功

ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功ARM嵌入式系统基础教程(第2版) 周立功

2017-09-10

单片机C语言程序设计实训100例 基于8051+Proteus仿真

单片机C语言程序设计实训100例 基于8051+Proteus仿真 《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例    1  目录  第 一 篇 基础程序设计 ................................................................................................................................... 1 01 闪烁的LED ............................................................................................................................................. 1 02  从左到右的流水灯 ............................................................................................................................... 1 03  8只LED左右来回点亮 ....................................................................................................................... 2 04  花样流水灯 ........................................................................................................................................... 3 05  LED模拟交通灯 ................................................................................................................................... 4 06  单只数码管循环显示0~9 .................................................................................................................... 6 07  8只数码管滚动显示单个数字 ............................................................................................................. 6 08  8只数码管动态显示多个不同字符 ..................................................................................................... 7 09  8只数码管闪烁显示数字串................................................................................................................. 8 10  8只数码管滚动显示数字串................................................................................................................. 9 11  K1-K4 控制LED移位 ....................................................................................................................... 10 12  K1-K4 按键状态显示 ........................................................................................................................ 11 13  K1-K4 分组控制LED ........................................................................................................................ 12 

2017-09-10

C和C++代码精粹

C和C++代码精粹

2016-11-30

[C++代码设计与重用].2012年高清版

[C++代码设计与重用].2012年高清版

2016-11-30

程序员面试宝典

程序员面试宝典

2016-11-09

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

TA关注的人

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