- 博客(51)
- 收藏
- 关注
原创 一个简单的 C++ 线程池实现示例,你可以在此基础上根据自己的需要进行修改和扩展
这个线程池使用了 C++11 的特性,包括 std::thread、std::mutex、std::condition_variable 等,实现了一个可变大小的线程池。直接上代码,懂得都懂。
2023-03-18 12:53:21
483
原创 C++ std::list 执行 erase()还需要手动去delete 节点指向的内存吗
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@[TOC](C++ std::list 执行 erase()还需要手动去delete 节点指向的内存吗)前言提示:这里可以添加本文要记录的大概内容:最近在项目中使用C++ STL 库中的 list 容器,所以能好奇 std::list 执行 erase()还需不需要手动去delete 节点指向的内存提示:以下是本篇文章正文内容,下面案例可供参考一、C++ STL 库?示例:C++ STL(标准模板库)是一套功能强大的 C.
2022-04-29 18:26:03
1182
原创 如何实现Windows 和 Linux 共享文件夹
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档如何实现Windows 和 Linux 共享文件夹前言一、Samba服务器是什么?二、安装配置步骤1.打开配置文件2.修改smb.conf配置文件1. 创建Linux下的共享文件夹2. 在文件的最下面添加添加4句4. Windows 下文件路径总结前言提示:这里可以添加本文要记录的大概内容:最近在Linux 环境下编程有点多,但是自己的Linux的系统是跑在VMWare虚拟机,隔着一层虚拟机总是感觉运行不舒畅,于是想用Samba服.
2022-04-23 23:04:30
2006
原创 什么是VMWare虚拟机
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档什么是VMWare虚拟机前言一、VMWare虚拟机是什么?二、主要功能前言提示:这里可以添加本文要记录的大概内容:下载链接在文章最后。提示:以下是本篇文章正文内容,下面案例可供参考一、VMWare虚拟机是什么?VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概念。多启动系统在一个时刻只能运行一个系.
2022-04-23 22:43:01
9484
原创 Windows VirtualLock()的正确使用方法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Windows VirtualLock函数的正确使用方法前言一、Windows虚拟内存是什么?二、Windows 工作集1.SetProcessWorkingSetSize三、测试申请大块进程虚拟内存空间并且锁定到物理内存中的正确做法如下前言当我们需要对Windows的内存进行锁定防止物理内存上的数据被交换到页文件时就可以使用Windows提供的这个函数 VirtualLock()但是这个函数正确的方法应该如下这样使用一、Win.
2022-04-21 17:43:02
1436
原创 什么是Linux CNC
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档什么是Linux CNC前言一、引言二、RTLinux1.介绍2.系统介绍总结前言提示:这里可以添加本文要记录的大概内容:Linux CNC是基于Linux/RTLinux 平台的数控系统提示:以下是本篇文章正文内容,下面案例可供参考一、引言数控系统的理想软件平台应该是具备多任务调度能力又有很好的实时性的操作系统,即实时多任务操作系统。二、RTLinux1.介绍RTLinux(AReal-Time Linux,亦称作.
2022-04-21 11:45:46
2450
原创 如何测试 Linux CNC 硬件运行环境
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Linux CNC 硬件平台运行环境测试软件 latency test前言一、latency test 是什么?二、测试方法1.PC自带软件2.第3方测试软件总结前言并不是所有的硬件环境下都适合运行Linux CNC,运行的前提是已经装好了 RT-Linux 或者 RTAI这样的Linux 内核实时补丁,关于什么是 RT-Linux 可以参考此篇文章-- 《什么是Linux实时操作系统》一、latency test 是什么?l.
2022-04-21 11:36:05
1296
原创 如何测试Linux是否可以顺利运行2D、3D软件
如何测试Linux是否可以顺利运行2D、3D软件使用 glxgears测试你的Linux是否可以顺利运行2D、3D的测试软件glxgears命令查询OpenGL使用 glxgears测试你的Linux是否可以顺利运行2D、3D的测试软件在测试Linux CNC 运行环境的时候会用到 Latency Test 这个Linux CNC自带的测试软件,再配合glxgears这个软件来增加测试环境压力是非常方便的组合;glxgears命令这个程序弹出一个窗口,里面有三个转动的齿轮,屏幕将显示出每五秒钟转动
2022-04-21 11:11:23
1771
原创 如何获取当前Windows CPU 内存页面分配大小
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档如何获取当前Windows CPU 内存页面分配大小前言一、内存分配力度 是什么?二、如何获取当前CPU内存页面分配大小1.使用 GetSystemInfo函数用于获取当前系统的信息。2. 函数说明3. 函数原型3. 参数表例子前言例如:今天在使用VirualAlloc()去申请进程内存空间的时候思考 如果 x86的PC, Windows目前大部分的机器内存分配力度为 64KB的话,那么如何确认 CPU的内存页分配大小?提示:以.
2022-04-12 21:04:12
1675
原创 Windows VirualAlloc能无限调拨物理内存吗?
Windows VirualAlloc能无限调拨物理内存吗?句法参数返回值结论不能无限申请调拨物理内存测试代码段句法LPVOID VirtualAlloc( [in, optional] LPVOID lpAddress, [in] SIZE_T dwSize, [in] DWORD flAllocationType, [in] DWORD flProtect);参数[in, optional] lpAddress
2022-03-17 17:13:43
290
原创 Windows内存管理总结笔记
vtralock系统函数用来向内存预订一块对齐的64的倍数的物理内存。通常x86 内存分配粒度为 64kb通常页面的大小为4kb磁盘中存在页面交换文件,通过页面交换文件来实现虚拟内存。待续…
2022-02-15 18:56:28
240
原创 纯虚函数接口类为什么要声明虚析构函数
通过测试得到:如果不声明 virtual ~Shape(){ } 在delete子类时后,如果在delete 子类编译器会再次执行子类 析构函数后报错;但是如果:声明 virtual ~Shape(){ } ,第二次delete子类的时候编译器直接报错并不执行析构函数的指令;...
2021-11-20 13:37:55
686
原创 QT读取ini和xml的时间测试对比
测试条件:Windows7 PC;编译器MSVC2010;QT5.5.1;计数接口API:QueryPerformanceCounter();节点量 100个;用来做测试的数据xml 和 ini文本测试实验目标分别一次性读出ini 和 xml 中的 键值对数据;读XML方法QString filepath = “d:\usefile.xml”;QFileInfo fileinfo(filepath);if (!fileinfo.exists())return;QFile
2021-11-04 15:48:04
435
原创 无线电通信天线增益的计算
海因里希·赫兹(德语:Heinrich Hertz,1857年2月22日-1894年1月1日),德国物理学家,于1887年首先用实验证实了电磁波的存在,并于1888年发表了论文。他对电磁学有很大的贡献,故频率的国际单位制单位赫兹以他的名字命名。增益是指:在输入功率相等的条件下,实际天线与理想的辐射单元在空间同一点处所产生的信号的功率密度之比。它定量地描述一个天线把输入功率集中辐射的程度。增益显然与天线方向图有密切的关系,方向图主瓣越窄,副瓣越小,增益越高。 可以这样来理解增益的物理含义 ------.
2021-03-12 22:47:31
3928
原创 STM32 LCD初始化失败TFTLCD_Init()
tftlcd 屏幕无法显示请先查看 是否屏蔽了对应的头文件 define ,打开对于的define即可正常初始化屏幕
2021-03-02 15:22:58
2640
原创 NRF24L01_Init 初始化错误
while(NRF24L01_Check()) //检测NRF24L01是否存在 { LCD_ShowString(140,50,tftlcd_data.width,tftlcd_data.height,16,"Error "); }进入硬件检测的时候TFTLCD出现了 Error 字样;后面一直在代码里面操作原因,最后发现原来是模块没有插上去;...
2021-03-02 15:13:59
837
原创 各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TCK:测试时钟输入;TDI:测试数据输入,数据通过TDI
2021-03-02 12:22:48
1608
1
原创 keil5无法输入中文
进入Keil5主界面,点击菜单栏的“Edit”。在弹出的列表中选择最后面的那个“Configuration”,进入配置。在弹出的“Configuration”对话框中找到Edit页,并切换,找到Encoding。点击“Encoding”右侧文本框的箭头,找到Chinese GB2312(Simplified),也就是简体中文编码。配置完毕有点“Ok”,回到程序编辑界面,可以看到之前显示为问号的汉字总算出来了。...
2021-03-02 08:48:31
8056
1
原创 STM32中驱动程序 extern “C”的作用详解
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般只包括函数名。 这个功能十分有用处,因为在C++出现以前,很多代码都是C语言写的,而且很底层的库也是C语言写的,为了更好的支持原来的C代码和已经写好的C
2021-03-01 22:13:12
1030
转载 Linux下安装mysql-5.7.24
Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了要选择哪种方式进行安装的难题,而且很多时候按照教程也没有能够安装成功,安装过程出现各种各样的错误。下面记录了我在Linux(Centos 7)环境下安装Mysql的完整过程,实操记录,绝非水文,如有错误或遗漏,欢迎指正。本文档讲解安装版本为mysql-5.7.24,对于5.7.24之后的版本,不适用此说明文档,主要原因在于之后版本
2021-02-05 18:22:53
199
1
转载 Centos7安装MySQL数据库
Centos7安装MySQL数据库 一 、RPM包下载进入mysql官网https://dev.mysql.com/downloads/mysql/本示例选择安装当前比较流行的5.7版,然后下载。二、 上传linux服务器, 解压1. 解压tar包tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar解压之后,有一堆的rpm包2. 安装rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.r
2021-02-05 15:14:03
136
转载 centos7中安装python3
centos7中安装python31.安装相应的编译工具在root用户下(不要用普通用户,麻烦),全部复制粘贴过去,一次性安装即可.yum -y groupinstall “Development tools”yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2021-02-05 14:16:29
136
原创 c语言中怎么将十六进制中的高位和低位分别存到数组中
c语言中怎么将十六进制中的高位和低位分别存到数组中就是3ff 转换成数组中的数据0xff 0x03可以在线等 我来答 分享 举报6个回答#热议# 你觉得这辈子有希望看到996消失吗?吉祥二进制推荐于2018-04-30 · 机械工程师关注可以使用整数2113的位与运算来5261提取高位和低位。以32位的4102整数0x12345678为例,将1653高位0x1234和0x5678分别存回储于数组。示例如下(答vc6.0编译通过)。#include <stdio.h>int
2021-02-02 17:28:30
3295
原创 单例设计模式
懒汉式(使用时创建,线程安全)class Singleton{private Singleton() {}pribate static class Holder{ static Singletion s = new Singleton();}public static Singleton Instance(){ return Holder.s;}}
2020-10-18 16:15:00
108
原创 Windows 的虚拟内存技术是什么
Windows核心编程学到这里,我明白的微软的Excel表格软件用到了虚拟内存的技术,和Windows的结构化异常处理的机智,我想金山软件的WPS表格也是用这个技术吧。
2020-05-16 12:12:04
373
原创 做vc++ Windows桌面应用开发者入职一个月的感受
Windows vc++ 桌面应用技术的天花板高吗1. 因为Windows不是源代码开源的所有你无法深入的去探寻里面更深层的代码。Microsoft Windows 提供的很多API(应用程序接口) 只是给你参数说明, 没有提供源代码是怎么实现的。拿去直接用就是了,我认为这样很难学习到很高一层的设计和架构。2. 如果真的想要理解Microsoft Windows操作系统更深一层, 我推荐Win...
2020-04-25 09:47:12
764
原创 手画数据结构_图
再次复习数据结构_图在画图的结构时,联想到了图、哈希表、二叉树结合起来。联想到了神经网络的结构。神经元、节点、卷积神经网络。。。。。。机器学习、人工智能。这也是我后期努力的方向!...
2020-02-23 08:35:12
822
原创 一个C语言简单的面试题,引发了我对加密算法的兴趣
题目:在C语言下如何交换2个变量条件不添加第3个临时变量说实话面试的时候被问到这样操蛋的题目真的很蛋疼, (本人从来不刷面试题)如图总结后我思考出这不就是可以运用到对称加密 和 非对称加密(公钥、私钥)的问题嘛。后期继续跟进学习加密算法,哈希算法、sha256...
2020-02-13 14:14:08
250
原创 如何从github下载soui库在VS2019搭建环境 并且运行demo
如何从github下载soui库在VS2019搭建环境 并且运行demo下载github ZIP压缩文件到本地后解压, 得到soui-master文件夹附上github链接: https://github.com/SOUI2/soui运行Build.bat打开 .bat 后配置环境, 选择2019. 后面配置如下图 ,最后q 退出4 .复制 soui-master文件夹里面的 so...
2020-02-05 11:12:20
1206
原创 Windows平台一个进程可以CreateThread开多少个线程
Windows平台一个进程可以CreateThread开多少个线程微软官方手册MSDN给出的是进程可以创建的线程数受可用虚拟内存的限制。默认情况下,每个线程都有一兆的堆栈空间。因此,最多可以创建2,048个线程。如果减小默认堆栈大小,则可以创建更多线程。但是,如果为每个处理器创建一个线程并构建应用程序为其维护上下文信息的请求队列,则您的应用程序将具有更好的性能。在处理下一个队列中的请...
2020-02-05 05:47:01
1006
原创 C++ 泛型编程常见问题类模板实现友元函数报错
泛型编程友元函数编译器报错在实现模板类的时候, 在类的内部声明一个友元friend 函数时,请一定加上类模板声明template template <typename T> friend ostream& operator<<(ostream& os, const Vector<T> object);这样可以避免C++编译器报错,同样在...
2020-01-26 09:34:43
594
原创 http层协议是哪层通信协议
OSI 和 TCP/IP通信协议对比如图HTTP协议处于TCP/IP协议体系的应用层。HPPT协议属于应用层的协议,因此工作在最高层,即应用层。图中未标记出HTTP协议,它与FTP、DNS等协议工作 在同一层。应用层(Application Layer)包含所有的高层协议,包括:虚拟终端协议(TELNET,TELecommunications NETwork);文件传输协议(FTP,Fi...
2020-01-19 10:54:47
34427
1
原创 进程里面while循环对CPU的压力有多大
简单的while循环要是没有用好看看对CPU的压力用procexp查看cpu和进程的情况 每个平均24左右太恐怖了开4个这样的进程就能干翻CPU
2020-01-09 03:01:51
405
原创 IOCP三部曲二重叠IO模型
用到非阻塞的WSASocket() 套接字WSASend、WSARecv , 基于事件对象WSASend、WSARecv , 基于Completion Routine
2020-01-05 18:56:18
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人