E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【Windows核心编程】
高速缓冲行带来的数据对齐问题
windows核心编程
写道:1、我们应该根据高速缓冲行的大小来将应用程序的数据组织在一起,并将数据与缓冲行的边界对齐。2、我们应该把只读数据(或不经常使用的数据)与可读写数据分别存放。
hemeinvyiqiluoben
·
2013-10-10 18:00
Windows核心编程
-----线程池二
以异步方式调用函数为了用线程池来以异步的方式执行一个函数,我们需要定义一个具有以下原型的函数:VOIDCALLBACKSimpleCallback([in,out]PTP_CALLBACK_INSTANCEInstance,[in,out,optional]PVOIDContext);然后为了让线程池中的一个线程来执行该函数,我们需要向线程池提交一个请求:BOOLWINAPITrySubmitTh
windows_nt
·
2013-09-29 18:00
Windows核心编程
-----线程池
线程池(threadpool),允许有多个线程同时存在,并发执行,并且这些线程受到统一管理。在WindowsVista中,提供了全新的线程池机制,一般这些线程池中的线程的创建的销毁是由操作系统自动完成的。WindowsVista中重新设计了线程池,提供了一组新的线程池API。因此,本篇讨论的仅仅在WindowsVista系统,或其以上的Windows版本中有效。当一个进程创建之后,它并不与线程池关
windows_nt
·
2013-09-29 18:00
Windows进程间各种通信方式浅谈
转自:http://blog.csdn.net/microzone/article/details/7044266
windows核心编程
中提到:windows中进程间通信的方式有:DDE,OLE,管道
hemeinvyiqiluoben
·
2013-09-25 18:00
FormatMessage函数的用法
FormatMessage函数 原文:http://www.cppblog.com/koople/archive/2009/12/03/102367.aspx在《
windows核心编程
》中第一个示例便是它的使用
hemeinvyiqiluoben
·
2013-09-23 09:00
FormatMessage示例
Windows核心编程
chapterone#include"stdafx.h" #include #include #include"Resource.h" #include"MainDlg.h
cyper
·
2013-09-19 12:00
WideCharToMultiByte和MultiByteToWideChar函数的用法
这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《
Windows核心编程
》,总结出正确的用法。
xdx2ct1314
·
2013-09-12 10:00
windows核心编程
第1章对程序错误的处理 当调用一个Windows函数时,它首先要检验传递给它的的各个参数的有效性,然后再设法执行任务。如果传递了一个无效参数,或者由于某种原因无法执行这项操作,那么操作系统就会返回一个值,指明该函数在某种程度上运行失败了。表1-1Windows函数常用的返回值类型数据类型表示失败的值VOID该函数的运行不可能失败。Windows函数的返回值类型很少是VOIDBOOL如果函
lengyuyan007
·
2013-09-06 19:00
windows
核心编程
《
windows核心编程
》第三讲 内核对象(1)内核对象简介
1.什么是内核对象 关于内核对象的含义,著名的《
Windows核心编程
》如是说:系统要创建和操作若干类型的内核对象,比如存取符号对象、事件对象、文件对象、文件
angelazy
·
2013-08-31 23:00
windows程序设计
《
Windows核心编程
》第二讲 Unicode(2)成为符合ANSI和Unicode的应用程序
1.需要注意的缓存大小问题 因为Unicode是双字节表示一个字符,而ANSI为单字符字符串,因此在以往的程序中得到字符串的缓存大小只需要使用sizeof(szBuffer)函数即可。但对于TChar类型我们需要使用(sizeof(szBuffer)/sizeof(TCHAR),得到缓存的大小。另外,如果需要为字符串分配一个内存块,并且拥有该字符串中的字符数目,那么请记住要按字节来分配内存,
angelazy
·
2013-08-30 23:00
《
Windows核心编程
》第二讲 Unicode(1)Unicode介绍
在正式学习Windows编程之前,我也曾编写过一些MFC的小程序,当时对那些满屏幕的LPTSTR之类的数据类型非常的不理解,只知道C语言中的Char类型和C++的string两个表示字符串的类型,那为什么我们会看到类似LPTSTR之类的类型呢,本节就来解答这个疑问。1.为什么要使用Unicode1.1双字节字符集(DBCS) 我们知道在电脑中英语和某些西欧语言使用的是使用ASCII码进
angelazy
·
2013-08-30 19:00
windows程序设计
《
Windows核心编程
》第一讲 对程序错误的处理
一个Windows函数通常都有一个有意义的返回值类型,它标志着这个函数的运行状态,即函数运行成功与否。windows常用的函数类型如下图:从系统内部来讲,当一个Windows函数检测到一个错误时,它会使用一个成为线程本地存储器(thread-localstorage)的机制,将相应的错误代码号码与调用的线程关联起来。因此线程之间能够相互独立地运行,而不会影响各自的错误代码。若要确定函数返回值指明的
angelazy
·
2013-08-29 20:00
windows程序设计
【时间规划】C/C++发展之路--读书
0:图书馆的N本C,C++书1:《C语言深度解剖》2:《高质量C++c编程指南》3:《C++ primer第四版》4:《Windows程序设计》5:《VC++深入详解》6:《
Windows核心编程
》7:
lizizhe1880
·
2013-08-23 13:00
《
windows核心编程
》 18章 堆
堆的优缺点: 优点:让我们专心解决手头问题,不必理会分配粒度和页边界这类事情。 缺点:分配和释放内存块的速度比其他方式慢,而且也无法对物理存储器的调拨和撤销进行直接控制。 什么是堆: 堆就是一块预订的地址空间区域。刚开始,区域大部分页面都没以调拨物理存储器。随前我们不断的从堆中分配内存,堆管理器会给堆调拨越来越多的物理存储器。这些物理存储器都是从页交换文件中分配的。释放
·
2013-08-20 11:00
windows
Windows核心编程
之 用户模式下的线程同步 读写锁和条件变量
读写锁#include #include #include #include #include //读写锁 SRWLOCKsrwLock; unsignedWINAPIReadThread1(LPVOID) { while(1) { AcquireSRWLockShared(&srwLock); printf("read1111\n"); ReleaseSRWLockShared(&srwL
woleiwei
·
2013-08-15 17:00
windows
读写锁
条件变量
核心编程
Windows核心编程
之5 作业
先上代码吧有不懂得可以提问啊!#include #include #include #include #include #include #include voidCreateProcessInJob(PTSTRsCommangline,HANDLEhJob) { STARTUPINFOstInfo={sizeof(stInfo)}; PROCESS_INFORMATIONprocess_i
woleiwei
·
2013-08-13 11:00
多线程
C++
windows
核心编程
读书笔记——
Windows核心编程
(15)在应用程序中使用虚拟内存
微软的Windows提供了三种机制对内存进行操控1虚拟内存(最适合管理大型对象数组或大型结构数组)2内存映射文件(大型数据流/文件,共享数据)3 堆(大量的小型对象)预订地址空间区域VirtualAllocPVOIDVirtualAlloc(PVOIDpvAddress,//内存地址,传NULL则由系统指定位置,必须始终位于进程的用户分区中,如果不是分配粒度的整数倍,则下去整到64K的整数倍。
wlsgzl
·
2013-08-11 20:00
内存
核心编程
读书笔记——
Windows核心编程
(13)Windows内存体系结构
对于32位进程(0x00000000~0xFFFFFFFF),有4GB的地址空间。每个进程都有自己专有的地址空间,当进程的各个线程运行时,它们只能访问属于该进程的内存。这4GB其实是虚拟地址空间,不是物理存储器。为了能够正常读写数据,需要把物理存储器分配或者映射到相应的地址空间,否则将发生访问违规错误(AccessViolation)。x8632位Windows虚拟地址空间的分区空指针赋值分区 0
wlsgzl
·
2013-08-11 16:00
内存
核心编程
Windows核心编程
之3 内核对象
3内核对象3.1哪些是Windows的内核对象比如:令牌对象,事件对象,文件对象,目录对象,文件映射对象,IO完成端口,互斥量,线程对象,进程对象,作业,管道,等等。内核对象有操作系统管理,返回HANDLE 它是指针,指向一个由操作系统管理的内核对象表.3.1.1使用计数操作系统知道内核对象的使用计数,当计数为0,由操作系统负责销毁内核对象.3.1.2内核对象的安全性SECURITY_ATTRIB
woleiwei
·
2013-08-09 15:00
windows
核心编程
POCO库 Foundation::Thread模块 多线程与线程池支持
ThreadPool线程池支持的简单了解 Thread类使用方法 在C++语言中,我们通过_beginThreadex或CreateThread来创建线程(最好使用前者,关于两者区别和线程基础知识可参见《
Windows
WUDAIJUN
·
2013-08-09 15:00
Windows核心编程
之 2 字符和字符串
1包含新的安全是字符串处理头文件StrSafe.h__counof宏可以计算缓冲区的元素个数StringCchCatStringCchCopyStringCchPrintf"Cch"表示字符数StringCbCatStringCbCopyStringCbPrintf"cb"表示大小比较字符串使用如路径名,注册表值CompareStringOrdinalCompareString(LCID,DWOR
woleiwei
·
2013-08-09 12:00
windows
核心编程
Windows核心编程
之 1 错误处理
HLOCALhlocal=NULL; //Bufferthatgetstheerrormessagestring DWORDsystemLocale=MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL); //Gettheerrorcode'stextualdescription BOOLfOk=FormatMessage( FORMAT_MESSAGE
woleiwei
·
2013-08-09 11:00
windows
windows
核心编程
windows核心编程
之API拦截
这个是替换自己进程的APIstaticvoidWINAPIMySleep(inti) { //((MyTest)g_sleep)(i); MessageBoxA(NULL,"1","1",MB_OK); } voidMyHook() { PSTRpszKernel="kernel32.dll"; PSTRpszSleepName="Sleep"; PSTRpszMessageBoxA="Mess
woleiwei
·
2013-08-06 23:00
windows
api
核心编程
windows核心编程
-信号量(semaphore)
前边讲过了互斥器线程同步-----
windows核心编程
-互斥器(Mutexes),这章我来介绍一下信号量(semaphore)线程同步。理论上说,mutex是semaphore的一种退化。
windows_nt
·
2013-07-24 22:00
windows核心编程
-互斥器(Mutexes)
前边讲过了临界区线程同步-----
windows核心编程
-关键段(临界区)线程同步,这章我来介绍一下互斥器(Mutexes)在线程同步中的使用。
·
2013-07-24 19:00
windows
windows核心编程
-互斥器(Mutexes)
前边讲过了临界区线程同步-----
windows核心编程
-关键段(临界区)线程同步,这章我来介绍一下互斥器(Mutexes)在线程同步中的使用。
windows_nt
·
2013-07-24 00:00
《
Windows核心编程
系列》十一谈谈Windows线程池
转自:http://blog.csdn.net/ithzhang/article/details/8373243 Windows线程池 上一篇博文我们介绍了IO完成端口。得知IO完成端口可以非常智能的分派线程。但是IO完成端口仅对等待它的线程进行分派,创建和销毁线程的工作仍然需要我们自己来做。 我们自己也可以创建线程,但是涉及到线程的编码操作比较复杂,容易出现差错。为了简化程
humanbeng
·
2013-07-18 17:00
Windows系统线程池+利用windows自带的线程池
这两天一直在看《
Windows核心编程
》,学到了不少东西,但是同别的英文经典一样,中文版经常让我感觉不知所云,我很不喜欢书中的例子都是用C++来写,并且都有图形界面,这阻碍了
humanbeng
·
2013-07-18 09:00
QQ盗号核心编程
对于
Windows核心编程
,本人还是一只菜鸟,前一段时间把《Windows系统编程》粗略的看一边(当然重点地方仔细的看),由于对于C++有点基础,感觉学起来比较容易上手。
usingnamespace_std
·
2013-07-13 13:00
QQ盗号核心编程
对于
Windows核心编程
,本人还是一只菜鸟,前一段时间把《Windows系统编程》粗略的看一边(当然重点地方仔细的看),由于对于C++有 点基础,感觉学起来比较容易上手。
宗生-万
·
2013-07-13 10:00
编程
文件动态增长
在看《
windows核心编程
》时,看到内存映射文件一章节,书中提到录音文件动态增长,作者也留下了连接关于他实现的“可增长的内存映射文件”的方法,我没找到,于是自己就试着写了一个,源代码贴出来,以供日后参考
·
2013-07-12 17:00
文件
windows核心编程
-内存映射文件(二)
/************************************************************************/ /*用内存映射来实现进程间数据通信*/ /*转载请注明文章来自:http://blog.csdn.net/windows_nt*/ /**********************************************************
windows_nt
·
2013-07-12 09:00
windows核心编程
-内存映射文件(一)
序MicrosoftWindows提供了三种机制来对内存进行操作。1、堆-----------最适合用来管理大量的小型对象。2、虚拟内存-----最适合用来管理大型对象数组或大型结构数组。3、内存映射文件-最适合用来管理大型数据流(通常是文件),以及在同一机器上运行的多个进程之间共享数据。接下来我给大家介绍一下内存映射文件的相关知识。内存映射文件相关知识介绍与虚拟内存相似,内存映射文件允许开发人员
windows_nt
·
2013-07-12 00:00
Windows核心编程
-多个应用程序实例间共享数据
多个应用程序实例间共享数据Windows在一个Win32程序的地址空间周围筑了一道墙。通常,一个程序的地址空间中的数据是私有的,对别的程序而言是不可见的。但是在一个应用程序的多个实例间共享数据还是有简单的方法的。当您在一个应用程序实例中修改数据,这种改变将立即反映在其他的应用程序实例中。正常的应用程序其数据和代码段都是在独立的段中,启动多个程序时,静态变量等数据都是独立的,不能用来在多个实例间共享
windows_nt
·
2013-07-11 19:00
Windows核心编程
学习九:利用内核对象进行线程同步
注:源码为学习《
Windows核心编程
》的一些尝试,非原创。若能有助于一二访客,幸甚。
·
2013-07-11 18:00
windows
windows核心编程
-虚拟内存
MicrosoftWindows提供了三种机制来对内存进行操作。1、堆-----------最适合用来管理大量的小型对象。2、虚拟内存-----最适合用来管理大型对象数组或大型结构数组。3、内存映射文件-最适合用来管理大型数据流(通常是文件),以及在同一机器上运行的多个进程之间共享数据。接下来我来介绍一下虚拟内存中用到的几个函数。LPVOIDVirtualAlloc(LPVOIDlpAddress
windows_nt
·
2013-07-09 23:00
android mutex and condition
在《
Windows核心编程
》①一书中,对于这种互斥访问有一个很形象的比喻:想象
brucexu1978
·
2013-07-09 18:00
读
Windows核心编程
-5-作业
作业(Job) 有时候需要把一些进程集中管理,如终止一个进程以及它产生的子进程,但由于Windows并没有维护进程间父子关系,所以除非进程本身以某种方式记录这些信息,否则很难做到管理这种父子进程树。而作业(job)恰好能解决这一问题。 Job就像是一个"沙箱"或者进程容器,不仅能将多个进程放在一起管理,还能对其包含的进程施加额外的限制,例如:作业中的进程能使用的C
·
2013-06-30 00:00
windows
【Windows】
windows核心编程
整理(下)
windows核心编程
整理(上)
windows核心编程
整理(下)线程的堆栈 每当创建一个线程时,系统就会为线程的堆栈(每个线程有他自己的堆栈)保留一个堆栈空间区域,并将一些物理存储器提交给这个以保留的区域
·
2013-06-27 17:00
windows
【Windows】
windows核心编程
整理(上)
小续 这是我11年看《
windows核心编程
》时所作的一些笔记,现整理出来共享给大家
windows核心编程
整理(上)
windows核心编程
整理(下)线程的基础知识 进程是不活泼的,进程从来不执行任何东西
·
2013-06-27 17:00
windows
《
windows核心编程
》 在应用程序中使用虚拟内存
Microsoft Windows 提供了以下三种机制来对内存进行操控: 虚拟内存 最适合用来管理大型对象数组或大型结构数组 内存映射文件 最适合用来管理大型数据流(通常是文件),以及在同一台机器上运行多个进程之间共享数据 堆 最适合管理大量小型对象 本篇只讨论第一种方式 虚拟内存。 15.1 预订地址空间区域 可以使
·
2013-06-25 15:00
windows
Mutex::AutoLock介绍
在《
Windows核心编程
》①一书中,对于这种互斥访问有一个很形象的比喻:想象你在飞机上如厕,这时卫生间的信息牌上显示“有人”,你必须等里面的人出来后才可进去。这就是互斥的含义。
southcamel
·
2013-06-23 15:00
windows核心编程
(笔记二)
第4章进程进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:1.一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。2.另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。4.3终止进程的运行若要终止进程的运行,可以使用下面四种方法:1.主线程的进入点函数返回(最好使用这个方法)。 2.进
fengqinqdca
·
2013-06-21 16:00
Windows核心编程
windows核心编程
(笔记一)
第1章对程序错误的处理当一个Windows函数检测到一个错误时,它会使用一个称为线程本地存储器(thread-localstorage)的机制,将相应的错误代码号码与调用的线程关联起来.这将使线程能够互相独立地运行,而不会影响各自的错误代码。当函数返回时,它的返回值就能指明一个错误已经发生。若要确定这是个什么错误,请调用GetLastError函数.当Windows函数运行失败时,应该立即调用Ge
fengqinqdca
·
2013-06-21 15:00
Windows核心编程
Windows核心编程
-新旧API速查表
下面是一些线程池的API,分别是适用于vista和以前的OS版本。FeatureOriginalAPI(XP)CurrentAPISynchRegisterWaitForSingleObjectUnregisterWaitExCloseThreadpoolWaitCreateThreadpoolWaitSetThreadpoolWaitWaitForThreadpoolWaitCallbacksW
windows_nt
·
2013-06-18 23:00
windows每个线程一个消息队列吗?
windows核心编程
上这么说: 消息队列的开销是很大的,通常一个thread创建的时候, 系统不给它消息队列。
hemeinvyiqiluoben
·
2013-06-13 10:00
WideCharToMultiByte和MultiByteToWideChar函数的用法(ascii转unicode unicode转ascii)
这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《
Windows核心编程
》,总结出正确的用法。
whatday
·
2013-06-07 09:00
WideCharToMultiByte和MultiByteToWideChar函数的用法
这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《
Windows核心编程
》,总结出正确的用法。
飘雪超人
·
2013-06-07 09:00
《
windows核心编程
》读后编码--关键段
线程同步:指多个线程访问一个进程中的资源时保证在任何时刻只有一个线程独占访问权,这样就保证了数据的安全性windows对线程同步有很好的支持,在用户模式下,可以利用锁机制,在内核模式下,可以利用关键段,信号量,事件,互斥对象等,本文关注于关键段的简单使用 //windows多线程--关键段.cpp:定义控制台应用程序的入口点。//VS2010上编译通过#include"stdafx.h"#inc
dai_jing
·
2013-06-02 18:00
关键段
《
windows核心编程
》读后编码--原子操作
//多线程--原子操作(用户模式下的同步操作).cpp:定义控制台应用程序的入口点。//vs2010上编译通过#include"stdafx.h"#include#include#includeusingnamespacestd;volatilelongg_nTatolCount;//声明为volatile,在多线程中防止编译器优化数据,将数据放到寄存器中,而是直接到内存中去读写,防止出现错误结果
dai_jing
·
2013-06-01 18:00
多线程
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他