C/C++
Zhww_Blog
凡是值得做的事情就值得做好
展开
-
C++11之右值引用理解
1,右值引用编译代码的时候出现出现左值右值这样的错误,name究竟什么是左值和右值呢?通常可以使用一个值再表达式中的位置来判断是左值还是右值,int x =10;int y =20;int sum = x+y; sum就是左值 x+y 就是右值还有一种就方法:可以取地址有名字的就是左值,反之不能取地址 ,没有名字的就是右值。上面的sum就可以取地址操作。而不能对x+y取地址操作。接下来我们在C++11中进一步定义:C++ 11中...原创 2020-09-02 21:18:50 · 247 阅读 · 0 评论 -
证件照处理技术的应用
随着图像处理技术的不断发展,各种图像处理库以及AI(人工智能)的飞速发展,也对各种领域带来了挑战以及促使各种行业和领域在升级改造以满足人民的安全性和准确性以及欺诈。证件照使我们大家熟悉的,比如:驾驶证,身份证,营业执照等等等。由于图像处理技术的发展普通肉眼已经辨别不出来真伪了,现在最常见的各个车站,银行,等涉及到安全的都采用了人证识别,活体检测等等。证件照的图像处理技术,目前最多的也就是一些纸质的和存档的还有用武之地。证件照的生成可以通过很多方式,最常见的就是PS 技术,PS技术虽然好用但是需要专业人员原创 2020-08-10 11:37:54 · 454 阅读 · 0 评论 -
C++之 观察者模式
观察者模式用途非常多,比如阿里云的很多服务都是以观察者模式提供的。观察者模式我的一点小小理解如下图画出所示:那么如何使用C++代码来实现观察者模式和使用观察者模式呢?后续慢慢补充。...原创 2020-05-07 17:05:46 · 180 阅读 · 0 评论 -
MakeFile从入门到精通(3)
MakeFile的基本语法类似于编程语言一样,Makefile也有基本语法。规则变量条件执行文本,文件名处理函数文件包含注释我们建立一个工程makefile文件内容如下################################ a simple Makefile demo# Author: wit.wang@qq.com# Date: 20...原创 2019-04-23 12:00:09 · 277 阅读 · 0 评论 -
MakeFile从入门到精通(4)
MakeFile :变量变量在MakeFile中大量使用,使得MakeFile更加灵活功能更加强大。同时造成了读Makefile更加难读。所以我们要发点时间学学变量。变量基础变量分类变量追加,条件赋值目标变量模式变量自动变量系统环境变量变量传递一般在Makefile里面的变量都是存的文本值,这不像C语言 int char 数组,在Makefile都可...原创 2019-04-23 15:54:12 · 188 阅读 · 0 评论 -
MakeFile从入门到精通(5)
MakeFile的条件判断关键字ifeq,else,endif ,ifneq使用条件语句从ifeq开始,括号与关键字用空格隔开应用场景:可以灵活的功能强大,比如一个一个软件希望编译为debug或Release模式。可以通过条件判断变量实现。.PHONY:allDEBUG = trueifeq ($(DEBUG),true)VERSION = debugels...原创 2019-04-24 13:52:14 · 247 阅读 · 0 评论 -
MakeFile从入门到精通(6)
库的生成和使用库:其实就是目文件的一个归档,在前面我记得大致提过了一个简单介绍也记录博客了,可以返回去看看。目标文件可以封装成一个库。这里我就学习如何使用命令把一个源文件封装成一个库以及如何去使用。以及如何去编写一个makefile去生成库和使用库 。静态库的生成和使用 动态库的生成和使用先学习一下如何使用命令去生成一个库编写一个helloc.c文件内容下 1 #inclu...原创 2019-04-24 18:46:45 · 187 阅读 · 0 评论 -
MakeFile从入门到精通(7)
Makefile的执行过程温故一下前面的学习,了解Makefile的执行过程还是很有必要的。执行过程 依赖关系解析阶段 命令执行阶段 Make执行结果执行过程以及变量的展开需要有一个大致的了解,这样编写Makefile就会得心用手,否则找不到理论的支撑。其实上面的4个步骤最为主要是的就是中间的两个。1,首先进入编译目录,执行make命令2,依赖关系解析阶段(建立依赖关系树)...原创 2019-04-25 00:47:38 · 219 阅读 · 0 评论 -
MakeFile从入门到精通(8)
一步一步写一个项目的Makefile:前面学了记了那么多总的练习一下吧,没有实际项目我从网上找了一个MP3的项目然后跟着学了一下,这里就记了下来。我们要让这个项目支持静态库,动态库以及使用这些库和多目录下源码架构组织。一:构建MP3项目工程。lcd.clcd.hmedia.cmedia.hplayer.cusb.cusb.h其中player.c为main...原创 2019-04-25 11:56:04 · 147 阅读 · 0 评论 -
MakeFile从入门到精通(9)
自动添加目标对头文件的依赖这是啥意思呢?我们继续这第8次学习开始.用到 文件与上一次一样:lcd.c lcd.h makefile media.c media.h player.c usb.c usb.husb.h 增加一个版本号 1 #ifndef __USB_H 2 #define __USB_H 3 void usb_init(); 4 #...原创 2019-04-25 19:00:07 · 331 阅读 · 0 评论 -
C++去除文件名空格字符
最近有一个项目需要大量的图片进行训练,发现图片集中名字含有空格造成一些图片的提取工具总是进行不下去,最后跟源码发现gets等一些C函数会截断。由于目前本人只会C/C++,故此百度了一下还真有相关的C++处理方法。这里就源代码呈现出来。方便大家使用。注意下面的代码都是在网上结合部分代码然后自己整理得到,如有错误请指正。// 去除文件名的空格.cpp : 此文件包含 "main" 函数。程序执行...原创 2019-09-06 09:25:50 · 547 阅读 · 0 评论 -
MakeFile从入门到精通(2)
程序的编译与连接:软件的底层构造系统:1,程序存储与运行2,程序编译和连接3,程序文件的分类4,动态库与静态库计算机基本都遵循冯诺伊曼结构,CPU 内存RAM(DDR内存条) 固态硬盘(嵌入式就是flash NOR NAND ) 一般手机平板调用 PC 服务器基本都遵循。主要是这三块组成。一般启动过程都是再固态硬盘加载到内存接着CPU一条一条去执行了。CPU...原创 2019-04-23 10:53:47 · 198 阅读 · 0 评论 -
MakeFile从入门到精通(1)
首先要明白的就是:在Linux下我们使用make命令编译文件就是根据makefie,Makefile是一个文件里面定义了一个规则。Make根据什么原理把我们源文件编译成可执行程序呢?它就是根据MakeFile规则文件,编译规则Make根据MakeFile编译源码的。下面看一个在Linux上编译的代码:hellowrold.c#include<stdio.h>int m...原创 2019-04-01 15:15:00 · 304 阅读 · 0 评论 -
C++语法之异常机制
学习过C++的同学都知道C++发生异常时候就直接返回跳出到一个集中处理,而我这里就写点自己的理解如有错误也在所难免,也希望各位指正!原创 2017-09-20 14:27:28 · 286 阅读 · 0 评论 -
队列与栈
经常会听到队列与栈,其实队列与栈本身的规则是非常简单的,队遵循的基本原则是先进先出,就是你先进入的就先出去,比如入队的顺序是1,2,3,4,5,那么出队顺序也是1,2,3,4,5.可以认为是一个管子,这边进去另一边出去。而栈就不是这样了,就是一个口子管子,出入都从这一个口子进行出入。同样如何入栈顺序是1,2,3,4,5那么出栈就是5,4,3,2,1 。因为只能一个一个的出栈而第一个入栈的1 已经被原创 2017-10-14 15:11:37 · 245 阅读 · 0 评论 -
计算机编码与浮点数
在计数机中经常用到一些浮点数,Double float 等都是浮点数类型那么浮点数在计算机中的表示表示如下图: 其中M为尾数,e为指数,R为基数 。从公式可以看出尾数M 保证了精度。如:1000 + 119 浮点数 计算方法如下 对阶 ====》 尾数计算 =====》 结果格式化对阶就是指数需要相同,尾数才可原创 2017-11-10 10:24:32 · 427 阅读 · 0 评论 -
校验码 - 海明码
海明校验码经常考试当中会考到海明码是个难点。首先需要了解海明码编码的规则,如何编码和计算多少位信息位需要多少个校验位。一个经过海明码编码完成之后那些是位置是校验位那些是信息位。在这种编码体系当中明确规定了校验位的位置,是位于整个信息编码完成的的这个信息编码的当中的2的n次方的位置。如:2的0次方 也就是第一位 是校验位。 2的1次方 也就是第二位 是校验位。 2的2次方 也就是...原创 2017-11-10 12:02:40 · 1108 阅读 · 0 评论 -
异或加密的一些认识
在通信中很多重要的信息比如金额等,程序员会用加密来进行传输,现在的很多认识尚浅的程序员对加密不是很理解,总会用异或加密做了毕业设计或小项目然后说我的通讯很安全。关于异或加密的方法我不再叙述了虽然异或加密了是密文了但是不能作为真正项目中的加密。当然如果密文只用一次而密钥的长度大于等于明文长度这种情况除外。因为加密的本质是算法公开而密钥的强度才是最重要的,如异或加密的密文只要被别人获取同时知道你的密文原创 2017-11-02 18:00:55 · 629 阅读 · 0 评论 -
通信加密的一些理解
在通信领域中经常涉及到信息安全性,然而很多时候我们很多程序员都会觉得好难因为涉及到了加密,解密等。大部分程序员特别是初入职场的程序员会觉得这是数学算法的问题。刚开始我也是看到一个加密类就晕了可是最近我又翻了翻了书籍,大部分的计算机专业书籍也不会讲解加密算法的东西。所以还是需要理解概念算法都是公开的可以随便百度网上下载。信息安全就是数据安全涉及到安全就必须要对加密技术的概念性东西有所了解,这样你遇到原创 2017-10-10 10:51:08 · 1070 阅读 · 0 评论 -
中介模式(Mediator)
中介模式Mediator,设计模式的一种在工作多年的我一直困扰我的问题就是你再一直使用的解决类之间的问题不经意可能就会用到中介模式,但是学生时代可能就是随便听听老师如何讲讲根本不理解的其中的思想。今天我同样遇到这样的问题而没有具体说出来,沉思很久我还是想弄清楚why?探讨下这种模式到底是什么?Mediator patternFrom Wikipedia, the f原创 2017-12-13 10:35:46 · 190 阅读 · 0 评论 -
分治法的概念以及应用
分治法:“分久必合,合久必分” 哈哈,其实分治法应该理解为分而治之的方法,它的基本思想是把一个大的问题比较复杂的问题,拆分成多个规模较小的子问题,然后解决这些子问题的难度就比原来大的问题简单的多。但是这个拆分是要注意如何去拆分按什么思路去拆分因为拆分出来的这种子问题要求和原来的问题是同样的结构的问题(也可以说是相同的问题),只是复杂度小一些规模小一些,拆分出来的子问题又可以用同样的方式进一步的拆分原创 2017-12-05 20:05:27 · 2103 阅读 · 0 评论 -
模版
相信只要是C++程序员都对模版都有所了解,有了家庭和孩子越发发现自己的记性不太好了,偶时闲来总结了下自己的学习模版的认识,并将学习代码附贴出来。一是让自己忘了可以随时查看二来也在CSDN上贡献一点经验心得。一、模版的顾名思义就是一个模版通过它可以生成具体的类,继而可以生成具体的对象。二、模版的几个关键词:template 就是定义模版 typename就是模版的参数类型(在以前比较老的写...原创 2017-12-26 15:34:23 · 282 阅读 · 0 评论 -
windows下编译libevent 2.18报错问题
windows平台下编译libevent库报错的问题原创 2017-08-30 17:06:10 · 1480 阅读 · 0 评论