- 博客(45)
- 资源 (2)
- 收藏
- 关注
原创 第16章 网络io与io多路复用select/pool/epool
网络IO复用是指在单线程或少数线程的情况下,通过一种机制同时监控多个IO流的状态,当某个IO流有数据到达时,就通知相应的线程进行处理。其中,select是一种比较常用的IO多路复用技术,它可以同时监控多个文件描述符,当某个文件描述符就绪(一般是读就绪或写就绪)时,就会通知应用程序进行相应的操作。poll是一种常见的IO多路复用技术,它可以同时监视多个文件描述符,当其中任意一个文件描述符就绪时,就会通知应用程序进行相应的操作。
2023-12-13 23:22:27 930
原创 第18章 C++11标准库(STL)
STL定义了强大的、基于模板的、可复用的组件,实现了许多通用的数据结构及处理这些数据结构的算法。其中包含三个关键组件——容器(container,流行的模板数据结构)、迭代器(iterator)和算法(algorithm)。STL容器,可将其分为四类:序列容器、有序关联容器、无序关联容器、容器适配器序列容器:有序关联容器:无序关联容器容器适配器:序列容器描述了线性的数据结构(也就是说,其中的元素在概念上” 排成一行"), 例如数组、向量和 链表。关联容器描述非线性的容器,它们通常可以快速锁定其中的元素。这种
2023-12-06 04:00:00 979
原创 第19章 正则表达式 - C++
正则表达式库提供表示正则表达式的类,正则表达式是一种用于在字符串中匹配模式的微型语言。目标序列。为模式而搜索到的字符序列。这可以是二个迭代器所指定的范围、空终止字符串或一个std::string。模式。这是正则表达式自身。它确定构成匹配者。它是从带特定语法的字符串构成的std::basic_regex 类型对象。匹配的数组。关于匹配的信息可作为std::match_results类型对象获取。替换字符串。这是确定如何替换匹配的字符串。
2023-12-05 21:37:26 560
原创 第17章 匿名函数
如果捕获列表为[&],则表示所有的外部变量都按引用传递给lambda使用;如果捕获列表为[=],则表示所有的外部变量都按值传递给lambda使用;匿名函数构建的时候对于按值传递的捕获列表,会立即将当前可以取到的值拷贝一份作为常数,然后将该常数作为参数传递。Lambda捕获列表总结[]空捕获列表,Lambda不能使用所在函数中的变量。[names]names是一个逗号分隔的名字列表,这些名字都是Lambda所在函数的局部变量。默认情况下,这些变量会被拷贝。
2023-12-05 21:35:38 914 2
原创 第9章 windows10安装boost库
第9.1节 boost库下载和安装boost官网地址https://www.boost.org/,进入官网点击图片中框出来部分。进入下载页面,下载所需要的版本,我现在下载的版本为1.83.0,下载的是windows 版本boost_1_83_0.7z。第9.2节 boost库安装下载的文件解压之后如下图所示安装步骤a. 打开PowerShell 窗口 打开cmd 窗口,并输入powershell 指令。b. 切换至Boost 解压目录,执行如下命令c. .\bootstrap
2023-11-27 22:51:53 639
原创 第7章 左值/右值引用
可以从2个角度判断:· 左值可以取地址、位于等号左边;· 而右值没法取地址,位于等号右边。int a = 6;· a可以通过 & 取地址,位于等号左边,所以a是左值。· 6位于等号右边,6没法通过 & 取地址,所以6是个右值。再举个复杂点的例子struct A {a_ = a;} int a_;A a = A();· 同样的,a可以通过 & 取地址,位于等号左边,所以a是左值。· A()是个临时值,没法通过 & 取地址,位于等号右边,所以A()是个右值。
2023-03-23 22:04:26 108
原创 第6章 C++智能指针
智能指针解决的问题(1)内存泄漏:内存手动释放,使用智能指针可以自动释放(2)共享所有权指针的传播和释放,比如多线程使用同一个对象时析构问题C++11中的智能指针种类(1)unique_ptr独占对象的所有权,由于没有引用计数,因此性能较好。(2)shared_ptr共享对象的所有权,但性能略差。(3)weak_ptr配合shared_ptr,解决循环引用的问题。
2023-03-23 21:49:10 617
原创 第4章 并发操作的同步
本章的目的是学会如何使用:条件变量、线程闩、线程卡和future以等待事件。事件等待的一个小故事:坐火车下车,最理想是等到下车时候有个列车员通知一下你。下车这个就是等待事件。
2023-02-21 08:18:03 418
原创 第10章 Boost封装线程池
主要内容:第10.1节 简单使用Boost封装线程池,任务函数为无返回值,并且无参数的第10.2节 简单使用Boost封装线程池,任务函数为无返回值,并且有参数的,参数个数固定第10.3节 简单使用Boost封装线程池,任务函数为无返回值,并且有参数的,参数个数非固定第10.4节 简单使用Boost封装线程池,返回任务函数处理的值
2023-01-03 21:48:11 210
原创 第3章 测试框架GoogleTest 内存泄漏测试
测试应该是独立的和可重复的。调试一个由于其他测试而成功或失败的测试是一件痛苦的事情。googleTest通过在不同的对象运行测试来隔离测试。当测试失败时,googletest允许您单独运行它以快速测试。测试应该很好地的“组织”,并反应出测试代码的结构。googletest将相关测试分组到共享数据和子例程的测试套件中。这种通用模式很容易识别,并使测试易于维护。当人们切换项目并开始在新的代码库上工作时,这种一致性尤其有用。测试应该是可移植到和可重用的。谷歌有许多与平台无关的代码;
2022-12-20 10:19:58 576 1
原创 第13章 Windows安装CMake
CMake是一个被广泛使用的、开源免费并且完全跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
2022-12-12 22:00:28 486
原创 VS2019安装Qt Tool后出现‘visx‘加载失败。
出现问题的报错如下:该问题是VS2019版本太低,与安装的qt 工具插件不匹配,升级VS到最新版本就可以了。
2021-07-29 09:19:12 314
原创 00003.七大软件架构设计原则
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档00003.七大软件架构设计原则前言一、开闭原则1.开闭原则的定义2. 使用开闭原则解决实际问题二、依赖倒置原则1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:软件设计的七大架构设计,指导着软件设计的。提示:以下是本篇文章正文内容,下面案例可供参考一、开闭原则1.开闭原则的定义开闭原则(Open-Closed Principle, OCP)指一个软件实体如类,模块和函数应对扩展开放,对修改封
2021-05-13 09:40:35 118 2
原创 40001.C++socket网络编程
40001.C++socket网络编程前言一、介绍1.1 内容介绍二、使用步骤1.引入库2.读入数据总结前言socket编程提示:记录了socket编程的笔记一、介绍1.1 内容介绍跨平台编程WindowsVc++Dll动态库LinuxMakefileSo动态库C++11多线程库C++11正则表达式TCP/IP介绍TCP/IP 协议讲解网络包抓包分析在windows和linux系统之间配置共享Socket系统socket库介绍w.
2021-05-07 22:45:15 261 8
原创 000001.VS2019如何生成windows动态链接库
000001.VS2019如何生成windows动态链接库前言一、制作dll库:1. 新建项目——动态链接库(DLL)2. 指定名称和位置,创建3. 添加好自己写好的test.cpp和test.h文件4. test.cpp文件最前面包含:5. test.h文件中声明的函数或类前加:6. 生成解决方案6.1 更改输出目录7. 最后点击生成——生成解决方案(注意不要运行,运行会报错的)。总结前言提示:在window10操作系统中,通过VS2019生成windows下.dll动态链接库。一、制作dl.
2021-05-06 14:29:23 167 1
原创 crt1.o:在函数‘_start’中: (.text+0x20):对‘main’未定义的引用 collect2: 错误:ld 返回 1
crt1.o:在函数‘_start’中: (.text+0x20):对‘main’未定义的引用 collect2: 错误:ld 返回 1错误原因:如果你写了main函数的话,还是报错,原因是由于再IDE工具中没有将你写的代码保存。
2020-07-14 14:15:22 1733
原创 20005.LeetCode 876. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。
提示: 使用快慢指针。代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution...
2020-05-05 14:30:16 182
原创 20001.数据结构 C++ 双向链表
/* 实现双向链表。*/#include<iostream>typedef int ElemType;typedef struct DuLnode { ElemType data; struct DuLnode* prior, * next;}DuLnode, *DuLinklist;bool InitList_L(DuLinklist& L) { ...
2019-10-21 23:11:50 76
原创 20002.数据结构C++ 单向链表
# include<iostream>typedef int ElemType;typedef struct Lnode { ElemType data; struct Lnode* next;}Lnode, *Linklist;bool InitList_L(Linklist& L) { /* 初始化单向链表。 */ L = new Lnode;...
2019-10-19 19:05:43 121
原创 20003.数据结构C++ 顺序表
#include<iostream>#define MaxSize 20typedef int ElemType;typedef struct { ElemType *elem; int length;}SqList;bool InitList(SqList& L) { /* 初始化顺序表,分配空间。 */ L.elem = new int [...
2019-10-19 18:01:26 143
原创 关于《深度卷积》网络中,使用im2rec.py将图像打包为MXNet的RecordIO格式出错
1. 在第一步中出现如下问题:这是由于老版本的写法,而新版本是--list,--recursive默认都是False,如果想打开就是--list=True,--recursive=True。这里默认什么都不写 ,所以命令格式如下:python im2rec.py --list, --recursive ./train ./train就可以了。2. 第二步生成.idx,.rec文...
2019-09-24 23:57:11 176
原创 在windows下使用MxNet用GPU跑代码时候出现MXNET_CUDNN_AUTOTUNE_DEFAULT to 0 to disable问题
在windows下使用MxNet用GPU跑代码时候出现MXNET_CUDNN_AUTOTUNE_DEFAULT to 0 to disable问题[14:58:40] c:\ci\libmxnet_1533399150922\work\src\operator\nn\cudnn\./cudnn_algoreg-inl.h:107: Running performance tests to fi...
2019-09-13 15:06:49 2339 3
原创 深度学习之线性回归,使用maxnet工具
1 算法介绍2 代码实现2.1 比较复杂的代码,函数自己写。# -*- coding:utf-8 -*-from matplotlib import pyplot as pltfrom mxnet import autograd, ndimport matplotlib as mplimport randommpl.rcParams["font.sans-serif...
2019-09-06 15:28:04 829
原创 Matlab 一些常用的功能
1. 关于矩阵的欧式距离1.1 求矩阵每一行与其他行的欧式距离已知矩阵: 求矩阵每一行与其他行的欧式距离:pdist(A);输出结果为:ans = 5.1962 10.3923 5.1962这表示的第一行与第二行的距离,第一行与第三行的距离,第二行与第三行的距离。而如何想输出矩阵形式可以使用如下代码:squareform(pdi...
2019-09-06 15:21:59 1065 1
原创 2018b Matlab注释问题
Matlab注释快捷键Ctrl+R 注释Ctrl+T 取消注释Ctrl+J注释换行在软件的编译器选项卡中就有注释,把光标移动到此就可以看到快捷键。
2019-09-02 10:09:20 582
原创 IEEE 参考文献格式书写总结(超级全,一共16种格式)
IEEE 参考文献格式书写总结 (一)引用书本的基本格式格式: J. K. Author, “Title of chapter in the bo...
2019-08-08 10:44:38 19328 1
原创 Pycharm 三维图形拖动旋转
恢pycharm的figure窗口就ok1、“文件—>设置”,打开设置窗口。2、找到最后一个工具3、找到“Python Scientific”,去除右边Show plots in toolwindow候选框中的勾号...
2019-05-18 13:55:50 5475 14
原创 使用latex做IEEE ACCESS排版时候,解决模板作者信息之间的距离问题。
第一步:打开IEEEtran.cls(建议使用notepad打开,比较规整)第二步:找到\def\@IEEEBIOskipN{4\baselineskip}% nominal value of the vskip above the biography然后将4改为1,即可。...
2019-04-12 16:06:06 5098 2
原创 梯度下降法
梯度下降法(一)算法介绍(二)python代码实现class GD(): def __init__(self, objFunction, GDFunction, accurate): self.objFunction = objFunction self.GDFuction = GDFunction self.accurate = a...
2019-03-28 14:47:25 112
原创 CSDN-markdown语言介绍
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-03-28 14:17:20 98
A star.rar
2020-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人