playerken

博客园 首页 新随笔 联系 订阅 管理

2011年8月28日 #

摘要: 线程是由两个部分组成的:一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量。进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。这意味着线程在它的进程地址空间中执行代码,并且在进程的地址空间中对数据进行操作。进程使用的系统资源比线程多得多,原因是它需要更多的地址空间。而线程使用的系统资源要少得多。实际上,线程只有一个内核对象和一个堆栈,保留的记录很少,因此需要很少的内存。线程用于描述进程中的运行路径。每当进程 阅读全文
posted @ 2011-08-28 18:05 playerken 阅读(283) 评论(0) 推荐(0) 编辑

摘要: 将进程组合在一起,并且创建一个“沙框”,以便限制进程能够进行的操作。最好将作业对象视为一个进程的容器。CreateJobObject可以创建一个作业内核对象。OpenJobObject可以根据名字访问一个已经创建好的作业内核对象。CloseHandle可以关闭作业内核对象。关闭作业对象并不会迫使作业中的所有进程终止运行。该作业对象实际上做上了删除标记,只有当作业中的所有进程全部终止运行之后,该作业对象才被自动撤消。关闭作业的句柄后,尽管该作业仍然存在,但是该作业将无法被所有进程访问。对作业进程的限制SetInformationJobObject可以给一个作业加上若干不同类型的限制:基本限制和扩 阅读全文
posted @ 2011-08-28 16:33 playerken 阅读(185) 评论(0) 推荐(0) 编辑

摘要: 进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。Windows支持两种类型的应用程序。一种是基于图形用户界面(GUI)的应用程序,另一种是基于控制台用户界面(CUI)的应用程序。启动函数的功能:检索指向新进程的完整命令行的指针。检索指向新进程的环境变量的指针。对C/C++运行期的全局变量进行初始化。如果包含了stdlib.h文件,代码就能访问这些变量。对C运行期内存单元分配函数(m 阅读全文
posted @ 2011-08-28 14:20 playerken 阅读(394) 评论(0) 推荐(0) 编辑

2011年8月24日 #

摘要: 条件:1. 在Debug模式下。2.#define _CRTDBG_MAP_ALLOC #include "stdlib.h" #include "crtdbg.h"_CrtDumpMemoryLeaks()可以打印出目前为止没有释放的已申请内存。// Necessary#define _CRTDB... 阅读全文
posted @ 2011-08-24 20:57 playerken 阅读(1452) 评论(0) 推荐(0) 编辑

2011年8月23日 #

摘要: 每个内核对象只是内核分配的一个内存块,并且只能由该内核访问。当调用一个用于创建内核对象的函数时,该函数就返回一个用于标识该对象的句柄。该句柄可以被视为一个不透明值,你的进程中的任何线程都可以使用这个值。为了使操作系统变得更加健壮,这些句柄值是与进程密切相关的。因此,如果将该句柄值传递给另一个进程中的一个线程(使用某种形式的进程间的通信)那么这另一个进程使用你的进程的句柄值所作的调用就会失败。内核对象的使用计数内核对象由内核所拥有,而不是由进程所拥有。每个对象包含一个使用计数。当一个对象刚刚创建时,它的使用计数被置为1。然后,当另一个进程访问一个现有的内核对象时,使用计数就递增1。当进程终止运行 阅读全文
posted @ 2011-08-23 22:22 playerken 阅读(298) 评论(0) 推荐(0) 编辑

2011年8月20日 #

摘要: 实现ISAXContentHandler(startElement,characters,endElement)。初始化ISAXXMLReader, 传入ISAXContentHandler。解析XML文件。 98052 #include #include class SAXContentHan... 阅读全文
posted @ 2011-08-20 18:22 playerken 阅读(734) 评论(0) 推荐(0) 编辑

摘要: Notepad++配置C++环境Notepad++ -> 运行 –>cmd /k g++ -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" & "$(CURRENT_DIRECTORY)\$(NAME_PART).ex... 阅读全文
posted @ 2011-08-20 15:44 playerken 阅读(127) 评论(0) 推荐(0) 编辑