第1 5章 在应用程序中使用虚拟内存 Wi n d o w s提供了3种进行内存管理的方法,它们是: • 虚拟内存,最适合用来管理大型对象或结构数组. • 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据. • 内存堆栈,最适合用来管理大量的小对象. 本章将要介绍第一种方法,即虚拟内存.内存映射文件和堆栈分别在第 1 7章和第1 8章介绍.用于管理虚拟内存的函数可以用来直接保留一个地址空间区域,将物理存储器(来自页文件)提交给该区域,并且可以设置…
在应用程序中使用虚拟内存 Windows提供了以下三种机制对内存进行操控: 一:虚拟内存.最适合来管理大型对象数据或大型结构数组. 二:内存映射文件.最适合用来管理大型数据流,以及在同一机 器上运行的多个进程之间共享数据. 三:堆.最适合用来管理大量的小型对象. 很多人都对VirtualAlloc和malloc 或new的区别不是很清楚,我也一样.今天搜索下了,发现这句话说的很清楚了: VirtualAlloc要进入内核模式,算法特复杂,比较慢,而且分配粒度是4k,用来分配小块内存很浪费 mal…
第1 2章 纤 程 M i c r o s o f t公司给Wi n d o w s添加了一种纤程,以便能够非常容易地将现有的 U N I X服务器应用程序移植到Wi n d o w s中.U N I X服务器应用程序属于单线程应用程序(由 Wi n d o w s定义) ,但是它能够为多个客户程序提供服务.换句话说, U N I X应用程序的开发人员已经创建了他们自己的线程结构库,他们能够使用这种线程结构库来仿真纯线程.该线程包能够创建多个堆栈, 保存某些C P U寄存器,并且在它们之间进行切…
第1 9章 D L L基础 这章是介绍基本dll,我就记录一些简单应用,dll的坑点以及扩展后面两章会说,到时候在总结. 自从M i c r o s o f t公司推出第一个版本的Wi n d o w s操作系统以来,动态链接库(D L L)一直是这个操作系统的基础. Windows API中的所有函数都包含在 D L L中.3个最重要的 D L L是K e r n e l 3 2 . d l l,它包含用于管理内存.进程和线程的各个函数: U s e r 3 2 . d l l,它包含用于执行…
#include <windows.h> #include<iostream> #include <tchar.h> using namespace std; typedef struct ThreadParam{ HANDLE hIOCP; DWORD dwNumBytesTransferred; ULONG CompletionKey; LPOVERLAPPED pOverlapped; DWORD dwTimeOut; }*pThreadParam; void M…
第1 4章 虚 拟 内 存 <这一章没啥,是说的几个内存相关的函数 > 14.1 系统信息 许多操作系统的值是根据主机而定的,比如页面的大小,分配粒度的大小等.这些值决不应该用硬编码的形式放入你的源代码.相反,你始终都应该在进程初始化的时候检索这些值,并在你的源代码中使用检索到的值.G e t S y s t e m I n f o函数将用于检索与主机相关的值:VOID WINAPI GetSystemInfo(_Out_ LPSYSTEM_INFO lpSystemInfo); 必须传递S …
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第八十五章:实现接口中的嵌套接口 下一章 "全栈2019"Java第八十六章:嵌套接口可以多继承吗? 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十五章:流程控制语句中循环语句while 下一章 "全栈2019"Java第二十六章:流程控制语句中循环语句do-while 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复…
Windows核心编程 第六章 线程基础 欢迎转载 转载请注明出处:http://www.cnblogs.com/cuish/p/3145214.html 1. 线程的组成 ①    一个是线程的内核对象,操作系统用它管理线程.系统还用内核对象来存储线程统计信息 ②    一个线程栈,用于维护线程执行时所需的所有函数参数和局部变量. 线程 == 内核对象 + 线程栈; 进程是有惰性的,CPU调度是线程,进程永远不会被调度,进程好比一个公司,线程就是每个干活的业务部门. 进程可以看作是线程的容器(…
Github https://github.com/gongluck/Windows-Core-Program.git //第4章 进程.cpp: 定义应用程序的入口点. // #include "stdafx.h" #include "第4章 进程.h" #include <shellapi.h> #pragma warning(disable:4996)//GetVersionEx int APIENTRY wWinMain(_In_ HINSTAN…