windows核心编程
文章平均质量分 64
navyblue1982
这个作者很懒,什么都没留下…
展开
-
线程学习日记(1)
1)线程的创建创建函数--引用MSDN上的函数HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreati原创 2005-03-02 20:26:00 · 1101 阅读 · 0 评论 -
搞了一下午 WIN32的汇编环境终于整好了
不容易啊,设置环境变量把偶弄得有点晕 不果还是设置好了偶使用MASM32 8.0中的LIB INCKUDE BIN 这三个文件 采用NMAKE编译连接 编译器就是用EDITPLUS2 整好了 哈哈 爽下面进入正式CODING了原创 2005-06-19 20:21:00 · 2474 阅读 · 0 评论 -
新发现
上次说的那个"段描述符(segment descriptor)"凭借我的感觉就是windows核心编程上面的"内核对象",具体是不是还有待考证.有以下几点证据说明段描述符和内核对象是一个东西1:书上说80386在采用保护模式下使用的是32位通用寄存器来寻址的(4GB的范围),这就是说16位段寄存器在寻 址方面已近派不上用场了,但是这个16位段寄存器依然很活跃(书上说的)2:书上又说了:"在保护原创 2005-06-19 11:58:00 · 1653 阅读 · 4 评论 -
操作系统的分页机制
WIN32 汇编和以前教科书上的汇编的不同之处WIN32 当然要涉及到界面了,没界面还搞个鬼哦以前俺们学的都是DOS 16位汇编现在技术进步了,学32位啦 NND在DOS下,16位采用段寄存器寻址方式,也就是二级寻址方式具体的就是前N位为寄存器地址,存放在寄存器中,后N位为为偏移地址 ,用得真是痛苦啊,分段寻找,比追超级MM还难;追MM可以直接寻址,不管寻到的地址的内容是什么,但是能直接得到结果.原创 2005-06-18 22:56:00 · 8185 阅读 · 1 评论 -
Inside The C++ Object Model---构造函数语义学
看了Inside The C++ Object Model这本书后感觉真的很爽,不过看起来也很费力。关于构造函数的语义,上面讲的很深奥,不过看明白后会升华个人能力的 提出下面问题。1:一个类没有显示的构造函数,那么当该类的对象产生时,它的默认构造函数一定被调用吗?如果这个默认构造函数被调用,它会将类中的数据成员变量都初始化为0吗?还是不初始化类中的成员变量?class Foo{原创 2005-10-31 13:54:00 · 1878 阅读 · 0 评论 -
多线程的聊天室程序的服务器端完成
调试的时候范了点小错误void __cdecl ReceiveMessage(void* lpParameter){ SOCKET m_ClientSocket; sockaddr_in m_Client; int ClientLen=sizeof(sockaddr_in); //下面是开始的时候的错误,TNND 把握居然把accept放在循环外面了 大错了原创 2005-05-24 16:52:00 · 1748 阅读 · 0 评论 -
事件对象
今天来总结下事件对象的使用方法事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。 先看MSDN上对创建事件对象的说明CreateEventThe CreateEvent function creates or opens a named or unnamed event obje原创 2005-05-21 16:50:00 · 2062 阅读 · 0 评论 -
DLL基础
这篇文章是我在查资料的情况下写的,对自己在DLL方面有也有个很好的总结作用 写在前面的一些没用的废话自从微软推出第一个版本的Windows操作系统以来,动态链接库(DLL)一直是Windows操作系统的基础。动态链接库通常都不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数。只有在其它模块调用动态链接库中的函数时,它才发原创 2005-04-25 20:30:00 · 4869 阅读 · 0 评论 -
SDK中的消息机制
学了这么久的VC了,对WINDOWS的消息机制还是理解得不够到位,今天晚上来把SDK中得消息机制整理一下;先说明一下,这篇文章是我在边查资料的情况下写的,如果那里存在错误希望各位看客帮我指正一下,小弟感激不尽。首先是消息得结构:老办法先查MSDNThe MSG structure contains message information from a threads message queue.原创 2005-03-24 01:42:00 · 1906 阅读 · 1 评论 -
SDK代码的优化和消息机制的进一步学习
今天看了下 深入浅出MFC 的第一章,写的还真不错什么都不用说,以前还多东西看文字看得我晕晕的,还没搞明白今天看另一一下上面的图解,真柳暗花明啊!编译于连接的图解:消息发送与处理图解:函数与资源的连接调用:函数代码的优化:其实也没什么好说的,看代码比什么文字描述都强下面那段就是优化后的代码int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPr原创 2005-03-24 22:30:00 · 1151 阅读 · 0 评论 -
QQ群的一次聊天记录
上次写了 SDK中的消息机制 后有位网友给我留言说留言于下、、看了文章之后,写了一个CloseAll的程序: //------------------------ #include原创 2005-03-25 14:06:00 · 2470 阅读 · 0 评论 -
IME输入法的组成
这家伙很懒研究了一会IME的输入法:所有中文输入法的界面都是由3部分组成的如图:这三个窗口分别是:状态窗口 (Status windows) --显示当前输入法的状态编码输入窗口(composition windows)-- 显示当前的击键情况汉字选择窗口(candidates Windows)--列出供用户选择的汉字这些窗口由用户接口函数来管理的这些被用来调用的函数在winpy.ime靠电脑中原创 2005-07-20 14:30:00 · 2412 阅读 · 2 评论 -
Windows 输入法编辑器 (IME)
Windows 输入法编辑器 (IME)原著 :Microsoft一、关于 Windows 混合语言 IME在 Windows 中 ,IME 是一个动态链接库 (DLL),与 Windows 3.1 远东版本 IME 不同的是 ,每一个运行的 IME 相当于混合语言键盘布局中的一种。与 Windows 3.1 IME 相比较 ,Windows 混合语言 IME 提供下列增强功能 :●运行时相当于混原创 2005-07-20 12:01:00 · 2991 阅读 · 1 评论 -
进程上下文
LINUX完全注释中的一段话: 当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称为该进程的上下文。当内核需要切换到另一个进程时,它需要保存当前进程的所有状态,即保存当前进程的上下文,以便在再次执行该进程时,能够必得到切换时的状态执行下去。在LINUX中,当前进程上下文均保存在进程的任务数据结构中。在发生中断时,内核就在被中断进程的上下文中,在内核态下执行中断服务例原创 2005-07-23 16:35:00 · 2048 阅读 · 0 评论 -
DllMain
The DllMain function is an optional entry point into a dynamic-link library (DLL). If the function is used, it is called by the system when processes and threads are initialized and terminated, or upo原创 2005-07-20 22:12:00 · 1829 阅读 · 0 评论 -
windowAPI笔记(1)
走了一趟MFC,虽然MFC封装了的类很好用,但是总是感觉到对MFC的了解只能停留在表面上,很难进一步地理解MFC.关键原因还是自己对windowsAPI学习的不够,现在打算丢掉MFC一段时间,先还是把windowAPI回顾一便,加深点印象.特地在网上下了本大师侯捷的>,打算结合这本书在学好window的基础的同时把多线程和dll.但是光看书是不够的,必须在看书的时候自己动手设计点东西出来.所以我打原创 2005-03-11 18:55:00 · 1454 阅读 · 1 评论 -
大规模多人同时聊天室服务器的SDK构架
构思了很久,现在基本的结构基本上确定下来了采用UDP,消息队列的模式 采用多个类的方式来实现,但是还不时完全的面向对象设计,其中最关的多态性,类的继承都没有用到,因为感觉技术还没有到家,暂时利用几个类进行简单的包装,打算下次的类QQ中完全实现面向对象的设计的优点---多态性,也就是使用虚函数来实现!这个服务器的基本流程是这样的,采用双线程来处理服务器流程图如果下接受到消息然后然后广播给所有的用户定原创 2005-07-07 16:17:00 · 2916 阅读 · 0 评论 -
线程学习笔记(2)-互斥对象
1)互斥对象的概念:互斥对象是系统内核维护的一种数据结构,它定保证了对象对单个线程的访问权 互斥对象的结构:包含了一个使用数量,一个线程ID,一个计数器 使用数量是指有多少个线程在调用该对象,线程ID是指互斥对象维护的线程的ID原创 2005-03-03 14:54:00 · 1604 阅读 · 1 评论 -
建立窗体时所响应的消息
创建窗体 ...1. WM_GETMINMAXINFO 2. WM_NCCREATE 3. WM_NCCALCSIZE 4. WM_CREATE 创建完毕.显示窗体 ...1. WM_SHOWWINDOW 2. WM_WINDOWPOSCHANGING 3. WM_WIN原创 2005-12-14 16:42:00 · 2141 阅读 · 1 评论