自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (38)
  • 收藏
  • 关注

原创 操作系统之线程与进程回顾

1. 为什么需要进程2.什么是进程3.进程在主存中的进程状态在主存中进程是一段连续存储的空间,这个空间称之为进程控制块,它包含内容如下:标识符状态程序计数器内存指针上下文信息IO状态信息:记账信息把左边的归结后分为右边的四个种类3.进程控制块(PCB):进程与线程线程:下面第一句话你细细品(注意进程是系统调度的基本单位)进程:...

2021-03-27 18:07:55 112

原创 操作系统内存管理之伙伴系统

伙伴系统是连续存储分配的一种办法。它比较好地折中了分配和回收过程中分配块的位置碎片和合并的问题。伙伴系统地概念如下图:整个可分配分区大小为2的幂次方,当需要的内存空间大于当前块的一半的时候就将整个分区分配给进程,如果小于当前分区的一半,就将当前分区对半分开,将其中一半继续与需要的内存大小进行比较,递归进行下去,直到满足所需内存大小大于分区一半。可以看到这种分配方式内部碎片最大为分区大小的一半减一。...

2021-03-27 16:02:42 1694

原创 操作系统内存管理之换页与缺页异常

    换页机制思想:该机制的基本思想是当物理内存容量不够的时候,操作系统应该把若干物理页的内容写到类似于磁盘这种容量更大更加便宜的存储设备中,然后就可以回收这些物理页供其他程序使用了。    举个例子,有一个程序A,其中A的一个物理页为P(对应于程序A虚拟内存中的虚拟页V)时,当操作系统希望从程序A那里回收P时,操作系统就需要将物理页P中的内容写到磁盘的一个位置,并且在程序A的页表中,去除虚拟页V的映射,同时记录该物理页被换

2021-03-27 12:22:14 3296

原创 操作系统内存管理之段式管理、页式管理、段业式管理回顾

操作系统是如何管理进程的空间呢?1.基础字是内存中的最小单位,这些是计算机组成原理的知识,不知道的可以自行百度。CPU中的重要部件内存管理单元(MMU),负责虚拟地址到物理地址的转换。MMU将虚拟地址翻译为物理地址的主要机制有两种:分段机制和分页机制。2. 段式存储管理段式管理时,虚拟地址由两部分组成,第一个部分表示段号,标识着该虚拟地址属于整个虚拟地址空间中的哪一段。第二部分表示段内地址,也称为段内偏移,及相对于该段起始地址的偏移量。因为段不仅有段号,还有长度,所以是二维的。总结:在

2021-03-25 23:32:45 384 1

原创 操作系统内存管理之内存的分配和回收

分配与回收的目的内存分配的过程单一连续分配(已经过时)固定分区分配动态分区分配动态分区空闲表数据结构:0-没有使用,1-使用了动态分区空闲链数据结构:连续的合并在一起,这样可以减少空闲链表的节点数。动态分区分配算法1. 首次适应算法第一个空闲区不满足则下一个,2,3为一个,满足需求。缺点:大材小用2. 最佳适应算法避免了大材小用的浪费3. 快速适应算法内存回收的过程回收区有四种情况第一种(回收区在空闲区的后面):这里的增大是空闲区1增大后包含回收区。

2021-03-25 17:13:24 3681

原创 网络协议-两个不同的局域网中的机器如何通讯

服务器 A 要访问服务器 B    首先,服务器 A 会思考,192.168.4.101 和我不是一个网段的,因而需要先发给网关。那网关是谁呢?已经静态配置好了,网关是 192.168.1.1。网关的 MAC 地址是多少呢?发送 ARP 获取网关的 MAC 地址,然后发送包。包的内容是这样的:源 MAC:服务器 A 的 MAC目标 MAC:192.168.1.1 这个网口的MAC源 IP:192.168.1.101目标 IP:192.168.4.101&

2021-03-24 17:40:55 1584

原创 MFC之CPtrList的使用

CPtrList类支持void指针列表。CPtrList类的成员函数类似于CObList类的成员函数。由于这种类似性,可以使用CObList参考文档作为成员函数的说明。接下来我就在MFC中把使用步骤列出来,然后关于源码可以自己下载结果:...

2021-03-24 15:34:09 1097

原创 MFC中的线程同步之关键代码段

多个线程访问临界区时,可以使用临界区对象。临界区对象是一个独占性共享资源,任一时刻只有一个线程可以拥有临界区。拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止。CCriticalSection类的用法:(1)定义CCriticalSection类的一个全局对象(以使各个线程均能访问):CCriticalSectioncritical_section;(2)在访问临界区之前,调用CCriticalSection类的成员函数L

2021-03-24 13:59:38 188

原创 操作系统之内存管理

    操作系统究竟是如何让不同的应用程序能够高效又安全的共同使用物理内存的?现代操作系统的一个普遍的做法是在应用程序与物理内存之间加入一个虚拟内存。    应用程序是面向虚拟内存编写的,而不是面向物理内存编写的;应用程序在运行时只能使用虚拟地址。    CPU负责将虚拟地址翻译为物理地址,操作系统负责设置虚拟地址与物理地址之间的映射。    

2021-03-23 22:11:07 136

原创 网络协议-什么是网关,什么又是路由器

    一旦配置了 IP 地址和网关,往往就能够指定目标地址进行访问了。由于在跨网关访问的时候,牵扯到 MAC 地址和 IP 地址的变化。下面看看MAC的细节.    在 MAC 头里面,先是目标 MAC 地址,然后是源 MAC 地址,然后有一个协议类型,用来说明里面是 IP 协议。关于IP协议的部分内容可以参考我的另一篇文章IP协议.    在任何一台机器上,当要访问另一个 IP

2021-03-23 17:46:13 464

原创 网络协议-MAC地址是唯一的,为啥还需要IP地址?

    MAC 地址是一个很容易让人“误解”的地址。因为 MAC 地址号称全局唯一,不会有两个网卡有相同的 MAC 地址,而且网卡自生产出来,就带着这个地址。很多人看到这里就会想,既然这样,整个互联网的通信,全部用 MAC 地址好了,只要知道了对方的 MAC 地址,就可以把信息传过去。这样当然是不行的。 一个网络包要从一个地方传到另一个地方,除了要有确定的地址,还需要有定位功能。    MAC地址就好比一个人的身份证,有了身份

2021-03-23 14:46:49 1164

原创 网络协议-网络为什么要分层

    理解计算机网络中的概念,一个很好的角度是,想象网络包就是一段 Buffer,或者一块内存,是有格式的。同时,想象自己是一个处理网络包的程序,而且这个程序可以跑在电脑上,可以跑在服务器上,可以跑在交换机上,也可以跑在路由器上。你想象自己有很多的网口,从某个口拿进一个网络包来,用自己的程序处理一下,再从另一个网口发送出去。    当然网络包的格式很复杂,这个程序也很复杂。复杂的程序都要分层,这是程序设计的要求。比如,复杂的

2021-03-23 13:33:37 553

原创 c++线程同步之‘互斥锁’回顾

互斥锁    在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。    在线程里也有这么一把锁——互斥锁(mutex),互斥锁是一种简单的加锁的方法来控制对共享资源的访问,互斥锁只有两种状态,即上锁( lock )和解锁( unlock )。【互

2021-03-21 17:39:17 392

原创 c++线程同步之‘临界区’回顾

    临界区(Critical Section)是一段独占对某些共享资源访问的代码,在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。临界区包含两个操作原语:EnterCriticalSection() 进入临界区LeaveCriticalSection()

2021-03-21 13:42:37 375 4

原创 c++多线程同步之‘事件’回顾

1.事件    事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false)。根据状态变迁方式的不同,事件可分为两类:(1)手动设置:这种对象只可能用程序手动设置,在需要该事件或者事件发生时,采用SetEvent及ResetEvent来进行设置。(2)自动恢复:一旦事件发生并被处理后,自动恢复到没有事件状态,不需要再次设置。使用”事件”机制应注意以下事项:

2021-03-20 22:24:21 761

原创 关于WaitForSingleObject的理解

Windows提供了许多内核对象来实现线程的同步。对于线程同步而言,这些内核对象有两个非常重要的状态:“已通知”状态,“未通知”状态(也有翻译为:受信状态,未受信状态)。你可以通知一个内核对象,使之处于“已通知状态”,然后让其他等待在该内核对象上的线程继续执行。可以使用WaitForSingleObject函数来等待一个内核对象变为已通知状态:  DWORD WaitForSingleObject(HANDLE hObject, //指明一个内核对象的句柄DWORD dwMilliseconds)

2021-03-20 17:20:29 2618

原创 C++配置文件读写工具封装

使用单例模式实现配置文件读写,且具有线程安全性。#include<iostream>#include <windows.h>#include<fstream>using namespace std;//Ty 使用单例模式实现配置文件的读写,具有线程安全的特性//2021.03.17class CIniFileTool{private: CIniFileTool() = default; ~CIniFileTool() = default;

2021-03-17 20:32:11 373 2

原创 c++之多线程如何初始化变量一次

在多线程的环境下,有时候我们不需要某函数被调用多次或者某些变量被初始化多次,它们仅仅只需要被调用一次或者初始化一次即可。很多时候我们为了初始化某些数据会写出如下代码,这些代码在单线程中是没有任何问题的,但是在多线程中就会出现不可预知的问题。bool initialized = false; // global flagif (!initialized) { // initialize if not initialized yet initialize (); initialize

2021-03-15 23:26:54 1023 1

套接字编程之聊天小工具

套接字编程,开发了一个小demo,里面有源码,然后有release版本与debug版本,都可以直接使用,希望对初学者有用。

2020-07-11

pdf转word工具

里面是一个安装包,安装之后可以用,自己用过几次,觉得还不错,大家可以试一试,最近下载东西比较多,比较费积分,故赚点积分,望理解。

2020-07-07

msxml安装包

开发当中经常提示少一些库,查了很多资料找到终于知道是什么原因,是msxml没有装,本人使用的是vs2013.

2020-07-07

局域网扫描工具.zip

搜索整个局域网中所有在线的IP,在工作中经常使用,所以推介一下,希望对给位同学有所帮助。真的挺好用的。

2020-07-07

MFC之自绘ClistCtrl列表控件

开发环境:VS2013 框架:MFC、vc++ 功能:点击列表头排序、隔行换色、高亮显示选中、多行选中

2020-04-20

图片处理工具(各种大小)

不管你是开发或者其他人员,其实这款工具真的特别好用,界面酷炫,功能强悍,可以说是一个小“ps”也不为过。生活中的证件照尺寸等也都有。

2020-04-19

C#对FreeImage的使用

支持GPG,jp2,bmp等二十多种图片的转换,很是方便,啦啦啦啦啦啦啦啦啦啦啦啦啦啦;;;;;啦啦啦啦啦

2020-04-11

FreeImage库,C++,C#测试通过

支持c++,C#,这两个已经经过测试, 库很小就5M,在格式转换非常方便,推介使用。

2020-04-11

图的遍历

包含图的存储、深度优先遍历、广度优先遍历、只需把文件加载到工程文件,编译即可运行,代码值得思考

2020-02-27

手动构造一个哈希表

哈希表的实现,里面包含二叉排序树,及其自己实现的哈希结构,纯代码,代码结构的排布值得思考。

2020-02-27

mysql+connetcot.txt

包含数据库和连接串,对于操作数据库及其连接,亲自测试没有任何问题,版本是5.7.17.msi,其中连接器有32位和64位两个版本,自己根据需要安装

2019-12-29

stl泛型编程--视频教程,讲的比较细

stl 泛型编程课程,值得学习,是百度网盘方式获取,,

2019-10-31

MySkinTy.zip

有三种皮肤,个人觉得像office2007的风格,挺好看的,里面带有使用说明,使用非常简单,亲测是vs2013,vc6,

2019-09-03

TyUSBCamera.zip

使用openCV 实现打开本地摄像头,和usb 摄像头,开发环境是visual studio ,

2019-08-13

执行数据库脚本工具

通过ADO连接方式,能够执行数据库的脚本,比如创建数据库,或者表,方式是通过读取.sql本地文件。

2019-04-29

vc++ MFC 将list控件导入excel

vc++ MFC 将list控件导入excel,已经封装好了,直接可以用,

2019-03-09

很好用的像素尺子

这是一个可以在Windows下运行的像素尺,方便开发人员进行像素宽度的测量

2019-03-09

C++MD5加密的使用

是一个做好的Demon,里面介绍了加密算法的基本使用,可为初学者提供一些帮助

2019-01-16

NTP校时(同步局域网内所有设备的时间)(Windows 如何安装NTP服务器)

好多设备指定一个需要同步时间的设备,使其所有设备时间都一样

2019-01-16

opencv3.0适合VS2013,VS2012

opencv官网下载比较慢,在这里下载会快些,适合vs2013,vs2012的同学使用

2018-12-04

excel操作库最新版libxl-4.2,包含key

excel操作库最新版libxl-4.2,包含key.自测通过!

2024-02-17

Doxygen、Graphviz

配套的工具都有

2023-07-23

崩溃调试库,64位,因为要大于11个字,我就随便写点

真的很好用,库都是编译好的

2023-05-14

windbg 64 位 因为要10个字,所以多打一点

windbg 64 位

2023-05-14

好用的cJSON库,测试通过-64位

该cJSON库,通过VS2019编译而成,属于64位静态库

2022-12-18

基于Modbus-RTU的温湿度采集demo

基于Modbus_RTU的温湿度采集demo

2022-10-20

libmodbus库与资料亲测通过

这是64位版本的库,分为debug和release,亲测没有问题,另外还有一些资料,希望能帮到你

2022-10-20

合并excel的方法(工具)

可以将多个excel文件合并到一个excel文件中,非常好用,欢迎学习

2022-05-29

gvim80-586.rar工具

vim文本编辑器

2022-01-01

debug.exe 调试工具

debug.exe工具

2022-01-01

DOSBOX windows7、win10

DOSBOX windows7、win10

2022-01-01

TestLib01.rar

静态库和动态库的建立及其使用

2021-10-30

TyProject0622.zip

MFC创建dll

2021-06-22

AccessPort111.zip

这是一个串口工具,非常好用

2021-05-26

Ini配置文件读写.zip

配置文件源码

2021-04-06

CTestPro.zip

CPtrList使用方法,是VS2015写的

2021-03-24

共享内存实现,MFC,C++,VS2015

里面有两个程序,启动之后都可以接收发送消息,但是需要先启动带创建共享内存提示的那个。

2021-03-19

谷歌日志库glog,编译通过

谷歌日志库glog,编译通过

2020-12-23

glog编译好的库(dll,lib,h)

glog编译好的.lib、.dll、 .h文件

2020-12-22

Project3内存检测.rar

仅仅一个例子,里面有使用的方法,编译环境是VS2013,测试通过,可以定位。最近下载东西比较多,赚点积分,设置了2分,不过分吧。

2020-07-25

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

TA关注的人

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