自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 搭建go开发环境

搭建go开发环境环境:mac+vscode+go一、go安装与卸载安装官网下载最新的包,按照提示一步一步进行。执行完候,命令行输入:go version,若出现了版本信息,则安装成功。我在安装完成后没有出现对应的版本,无法识别go指令,进入到go的默认安装目录的bin目录下面,执行该指令,版本信息输出正常,则说明没有建立对应的软链接。执行指令:sudo ln -fs /usr/local/go/bin/go /usr/local/bin/go即可。卸载删除go目录 sudo rm -rf

2021-09-25 20:17:34 215

原创 IOS开发学习——bug记录

作为IOS开发初学者,该博客用于记录学习过程中遇到的问题。解决bug的方法或来自网络,或依据个人理解。由于水平局限性,可能分析问题过于表面,深层次的原理不甚了解。若有高手路过,请指教。当然,文中出现的错误,也请指出,感激不尽。文章目录一一在Source Text Field中不小心勾选了Font(Share User…),导致图中错误:错误信息libc++abi.dylib: terminating with uncaught exception of type NSException***

2021-04-01 10:45:30 213

原创 IP、掩码和网关

前言本博客主要记录局域网内主机与路由器之间的相关概念,并通过eNSP搭建模型,使用wireShark抓包一、内网内网可能是一个独立的局域网,通过其中的网关的代理访问外部网络。二、网关网关就是连接两个网络的节点,说白了,就是有双重身份的电脑,既有局域网的IP地址,又有Internet的IP地址,两个IP地址分别捆绑在不同的网卡上作用 1.网关在所有内网计算机访问的...

2020-02-16 11:29:35 1948

原创 TCP抓包

前言基于VS2015写一个socket通信的Client/Server小程序,验证TCP协议的三次握手与四次挥手。Server:监听本机的8888端口。Client:向本机地址(127.0.0.1:8888)发送信息。工具Wireshark代码Server代码:#include <WinSock2.h>#include <iostream&gt...

2019-11-02 17:09:55 955

原创 计算机网络——第一章

一、五层协议应用层、运输层、网络层、数据链路层、物理层应用层:通过应用进程间的交互来完成特定网络应用。 运输层:向两台主机中进程之间的通信提供通用的数据传输服务(主要有TCP/UDP)。 网络层:把运输层产生的报文段或用户数据报封装成分组或包(叫IP数据报)进行传输(使用IP协议)。 数据链路层:将IP数据报加上控制信息组装成帧。 物理层:所传的数据的单位时bit,解释多大的电压代...

2019-11-01 21:13:53 111

原创 死锁

1、死锁定义如果一个进程集合中的每一个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么,该进程集合就是死锁的。2、发生条件互斥条件。每个资源要么已经分配给了一个进程,要么就是可用的。 占有和等待条件。已经得到了某个资源的进程可以再请求新的资源。 不可抢占条件。已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。 环路等待条件。死锁发生时,系统中...

2019-11-01 19:02:00 127

原创 第4章 Function语义学

C++的设计准则之一:nonstatic member function至少和一般的nonmember function有相同的效率。4.1 Member的各种调用方式非静态成员函数:内化为nonmember function。1.安插this指针 2.重写为一个外部函数,进行mangling处理 虚拟成员函数:基类的指针调用派生类的虚函数——通过虚表寻址调用;非指针对象直接调用虚函数—...

2019-10-25 22:16:53 269

原创 第3章 Data语义学

3.1 Data Member的绑定类的static data members被放置在程序的global data segment,nonstatic members数据直接存放在类对象中。类对象的实际大小,要考虑:1.由编译器自动加上的额外data members,用来支持某些语言特性;2.字节对齐的需要。3.2Data Member的布局nonstatic data memb...

2019-10-21 21:28:13 184

原创 第2章 构造函数语义学

2.1 Default Constructor的构建操作带有“Default Constructor”的Member Class Object如果一个类没有定义 default construction,就会有一个nontrivial(有用的)constructor被合成,依次调用作为成员的类的default constructor。如果定义了,则扩张该default construct...

2019-10-19 11:32:31 102

原创 第1章 关于对象

1.1 C++对象模式C++对象模型nonstatic data members被配置于每一个class object内 static data members、static and nonstatic function members被放在class object之外 virtual functions的指针放在virtual table(vtbl),class object添加一...

2019-10-17 22:17:33 104

原创 IO多路复用——select与epoll

学习:https://time.geekbang.org/column/article/1405201 含义什么是IO多路复用?I/O 多路复用的设计初衷就是解决这样的场景。我们可以把标准输入、套接字等都看做 I/O 的一路,多路复用的意思,就是在任何一路 I/O 有“事件”发生的情况下,通知应用程序去处理相应的 I/O 事件,这样我们的程序就变成了“多面手”,在同一时刻仿佛可以...

2019-10-13 22:03:39 107

原创 Web基础——URL组成

1.协议Web客户端和服务器之间的交互基于文本的应用级协议,HTTP协议。Http协议是基于TCP/IP的,对网页连接进行抓包,首先会进行TCP/IP的三次握手。2.Web内容使用HTML语言编写,包含指令,告诉浏览器如何显示文本和图像对象。包含动态内容和静态内容。服务动态内容:运行可执行文件并返回输出到客户端。eg: http://bluefish.ics.cs.cmu.edu:...

2019-10-10 20:22:32 425

原创 深入理解计算机系统——第七章 链接

7.1 连接器使得分离编译成为可能。我们不用将一个大工程组织为巨大的源文件,而是将它分解为更小的模块,可以独立修改和编译这些模块,并重新链接应用,而不必重新编译其他的文件。...

2019-09-07 17:39:06 142

原创 C++之MFC工程源码移植纪录

因项目需要,要利用老板之前使用VC写的MFC工程的界面、OpenGL显示及一些算法。要把老版本的VC的源码移植到VS2015中,关于移植过程中遇到一些问题及其解决过程的记录。 界面的移植 界面的移植,我使用的方法是,自己新建一个MFC工程,然后修改其.rc和resource.h文件,在MFC中resource.h一般是保存控件ID、系统资源ID等一些宏定义。 VC的一些坑 早期...

2019-07-28 22:42:58 612

原创 理解shell工作原理 fork和exec函数

一 shell既是一个连接用户和Linux内核的程序,又是一门管理 Linux 系统的脚本语言。int main(int argc, char* argv[]){ char cmd[20]; while(1) { scanf("s%", cmd); if(!fork()) exec(cmd); ...

2019-06-29 16:53:28 1522

原创 深入理解计算机系统——第三、四、五章

3 程序的机器级表示第三章主要讲述,汇编指令对寄存器的操作,以实现代码的功能。包括:加法、减法、乘法、循环、条件、数组、指针...的内部原理。 union: 不同字段引用相同的内存块。 字节对齐 函数指针:函数指针的值是该函数机器代码表示中第一条指令的地址。 3.1 GDB调试器g++ -o test_gdb test.cpp -ggdbfile...

2019-06-12 11:31:06 193

原创 深入理解计算机系统——第一、二章

前言本系列博客主要作为学习记录的笔记,仅个人使用。书籍:深入理解计算机系统 第三版1 第一章1.1 系统硬件组成 总线:携带信息字节,并负责在各个部件间传递 I/O设备:与外部联系的通道 主存:存放程序和程序处理的数据 处理器:PC指向主存的某条机器语言指令,cpu在指令的要求下执行相应的操作 1.2 运行hello程序1.2....

2019-06-11 11:02:20 270

转载 数据结构-----图论算法 Fleury 算法

https://blog.csdn.net/guomutian911/article/details/42105127https://blog.csdn.net/u011815404/article/details/86590498

2019-04-29 11:30:45 324

原创 Qt开发一个小软件记录

1、简述本博客主要记载开发过程中的不熟悉的Qt小知识点。本软件是上海火克公司开发的一款应用软件,软件实现的功能主要有三个部分,1是项目管理,2是计算管道覆盖比,3是自动生成word报告。2、内容记录2.1 QStatusBar的使用效果图:代码: // Initial the statusBar ui.statusBar->setStyleSheet(QSt...

2019-04-10 11:31:36 1230

原创 数据结构-----散列

本文为 数据结构与算法分析:C语言描述的学习记录目录5 散列5.1 定义5.2 分离链接法5.3 开放定址法5.3.1 线性探测法5.3.2 平方探测法5.3.3 双散列5.5 再散列5.6 可扩散散列5 散列5.1 定义思想:将每个关键字映射到从0到TableSize-1的范围的某个数,并且被放到适当的单元中。难道:冲突的处理。5....

2019-03-26 21:46:15 135

原创 C++读取.mat文件到opencv的Mat结构中

因项目需要,最近在研究C++如何读取matlab的.mat文件,本文主要内容包括读取矩阵储存的.mat文件和结构体储存的.mat文件。话不多说,直接上代码:#include &lt;mat.h&gt;#include &lt;iostream&gt;#include &lt;opencv2/opencv.hpp&gt;using namespace std;using names...

2019-03-15 10:51:28 2984 2

原创 数据结构与算法分析:C语言描述——树

1.预备知识根节点 树叶 length:两个节点之间边的条数 depth:从根到ni的唯一路径长 height:从ni到树叶的最长路径,树高=根高2.树的实现//树节点的声明(伪代码)typedef struct TreeNode* ptrToNode;struct TreeNode{ ElementType Element; ptrToNode Fir...

2019-02-28 11:26:48 148

原创 C++ 数据结构与算法------栈

1 栈的定义栈,zhan,从木从戋。牲口棚,马棚。栈的结构是很简单的,简单来说就是一个先入后出的列表。2 栈的实现程序源码:#pragma once#include <exception>#include <iostream>#include <string>using namespace std;class illegalPar...

2019-01-16 15:57:57 231

原创 23种设计模式(C++)

23种设计模式 创 建 型 模 式 1 Factory 2018.12.20 2 AbstactFactory 2018.12.21 3 Singleton 2018.12.24 4 Builder 2018.12.25 5 Prototype 201...

2018-12-24 11:31:58 192

转载 c++ 虚函数的作用和使用方法、虚析构函数

------学习他人博客记录我们知道,在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”。但是在类的继承层次结构中,在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。例如在例12.1(具体代码请查看:C++多态性的一个典型例子)程序中,在Circle类中定义了 area函数,在Circle类的派生类Cylinder中也定义了一个area函数...

2018-10-27 16:02:24 199

原创 C++ 默认构造函数

今天在看数据结构的视频时,编写代码过程中,创建对象时报错:无默认构造函数。//=============customer.h================#pragma once#include <string>using namespace std;class Customer{public: Customer(string _name , int _age)...

2018-10-26 15:15:25 602

转载 C++命名规范

仅个人学习笔记,参考自:https://www.cnblogs.com/heyonggang/p/3362873.html 变量命名 变量名由作用域前缀+类型前缀+一个或多个单词组成。为便于界定,每个单词的首字母要大写。 变量的命名 变量名由作用域前缀+类型前缀+一个或多个单词组成。为便于界定,每个单词的首字母要大写。 对于某些用途简单明了的...

2018-09-28 20:42:41 456

原创 C++ 拷贝构造函数、浅拷贝、深拷贝、内联函数

拷贝构造函数的参数必须是该类型的const 引用,如果是复制的话,则会出现死循环。正确的例子: class Test{public: class(int a) { m = a; } class(const Test& test); { m = test.m;//此处类可以访问私有成员m } ...

2018-09-17 17:18:15 229

原创 c++ 代码记录

const char* MessageTopic{ "Message topic" };

2018-08-29 14:33:42 157

原创 C++二维数组及关键字new

二维数组的索引不可以互换 ,例如:a[10][100]不可写成a[100][10] new为对象申请内存后,如果对象访问到内存之外的地址,则会赋值一个电脑数,不会报错。例如: int* b; b = new int(5); cout << b[100] << endl; 输出结果为110,再运行一次输出结果870 ...

2018-08-22 20:55:26 279

原创 uchar类型图像像素灰度溢出

int temp = -256; dst1.data[10] = temp; int a = dst1.data[10]; cout &lt;&lt; int(dst1.data[10]) &lt;&lt; " " &lt;&lt; a &lt;&lt; endl;//result:// 0 0////////////////////////////////////...

2018-08-21 21:56:47 1235

原创 C++ 包装器function

<<C++ primer plus>> 包装器function学习一、特征标call signatures(调用特征标):由返回类型以及用括号括起并用逗号分隔的参数类型列表定义的。例如:特征标double(char, int)二、function的使用sdt::function< double(char, int) > fdci;...

2018-08-18 11:17:05 544

转载 c++语法

全局变量先于main函数执行,在最初运行时就调用构造函数 main函数之前是用来声明和定义全局变量和函数的,并由编译器进行预处理,给那些全局变量和定义的函数分配内存和地址,不能设计可执行代码。 编译器在编译阶段对main函数之前的全局变量进行内存分配,对定义的函数生成可执行的代码,并保留该函数的地址以供main函数调用,而赋值语句操作是一句可执行代码,又没有类似函数指针的东西供...

2018-08-13 19:40:01 285

原创 图像处理分析与计算机视觉——算法5.3 高效的中值滤波

算法原理 ——博客:https://blog.csdn.net/Kena_M/article/details/47093639(可参考)  代码:(基于OpenCV框架的C++实现) #include "opencv2/opencv.hpp"using namespace cv;/////////////////////////////////////////////...

2018-08-10 17:32:45 473

转载 C++ Static关键字

一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register与auto类型(普通)局部变量相比, static局部变量有三点不同1. 存储空间分配不同auto类型分配在栈上, 属于动态存储类别, 占动态存储区空间, 函数调用结束后自动释放, 而static分配在静态存储区, 在程序整个运行期间都不释放. 两者之间的作用域相同, 但生存期不...

2018-08-06 20:06:34 107

原创 c++并发编程实战 第四章

同步并发操作本章主要内容等待事件 带有期望的等待一次性事件 在限定时间内等待 使用同步操作简化代码4.1 等待一个事件或其他条件bool flag;std::mutex m;void wait_for_flag(){ std::unique_lock<std::mutex> lk(m); while(!flag) { ...

2018-07-28 15:48:16 119

原创 c++并发编程实战 第三章

·使用互斥量保护共享数据:任何一个线程在执行这些代码时,其他任何线程试图访问共享数据结构,就必须等到那一段代码执行结束。于是,一个线程就不可能会看到被破坏的不变量,除非它本身就是修改共享数据的线程。 ·std::mutex:当访问共享数据前,使用互斥量将相关数据锁住,再当访问结束后,再将数据解锁。线程库需要保证,当一个线程使用特定互斥量锁住共享数据时,...

2018-07-27 21:40:06 240

原创 c++并发编程实战 第二章

· join():主线程等待该线程结束,然后继续执行。一旦已经使用过join(),相应的 std::thread 对象就与实际执行的线程无关了, std::thread 对象就不能再次加入了。· detach():不等待线程结束,继续往下执行。线程还在继续执行。·std::thread 对象使用t.joinable()返回的是true,就可以使用t.detach()。调用 std::...

2018-07-26 09:25:05 262

原创 c++并发编程实战 第一章

·每个线程都必须具有一个初始函数(initial function),新线程的执行从这里开始

2018-07-25 17:32:56 160

原创 Windows下tao_idl编译器编译idl文件报错:spawn of “CL.EXE” failed

一般我们使用的是命令行进行编译,可能会报错。解决办法,使用vs开发人员命令提示进行编译。

2018-07-03 21:24:29 1565

空空如也

空空如也

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

TA关注的人

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