现在位置: 首页 > 自动控制 > 工业·编程 > 文章
创建了一个结构体,其中有一个字段是线程句柄HANDLE,当新创建的线程执行时,需要去获取结构体中关于该句柄的其他内容; 因此,以HANDLE作为查找条件进行获取。于是想起GetCurrentThread()方法来获取当前线程的句柄。 函数原型: HANDLE GetCurrentThread(void); 返回值: A pseudohandle for the current thread indicates success 注意:这里是pseudohandle,即伪句柄,而不是真实的句柄。 相关阅读 ----获取当前进程 / 线程...
阅读全文
hThread = CreateThread( NULL, 0, ThreadFunc, NULL, 0, &dwThreadId); CloseHandle(hThread); 如上面这样的代码,原因为:创建线程后返回了线程句柄,新创建的线程内核对象的使用计数是2,一个是线程本身,一个是创建线程的线程,创建线程的线程closehandle后,新的线程的内核对象使用计数为1,当这个新线程结束运行后内核对象的使用计数还要减1,这时内核对象的使用计数是0,则系统会自动删除新线程的内核对象,这是正常...
阅读全文
2014-05-20 08:15 工业·编程 ⁄ 共 2225字 暂无评论
什么是句柄: 句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需...
阅读全文
2014-05-20 08:10 工业·编程 ⁄ 共 800字 评论 1 条
今天温习很久前写的代码,发现自己写的这么一句代码, m_hTheard = CreateThread(NULL,0,RegNotifyProc,LPVOID(this),0,NULL); CloseHandle(m_hTheard); 突然给糊涂了,刚创建的线程,为什么有close了,还是当初入门不踏实,没有细想,现在反过来都记不得了,通过查资料,解决了我的疑惑。 1、线程和线程句柄(Handle)不同,线程是一个程序的工作流程,线程句柄是一个内核对象。线程的生命周期就是线程函数从开始执行到线程结...
阅读全文
在用户态( RING3 )和内核态( RING0 )下,获取这些值的函数是不同的,而且这些函数的实现原理也是不同的,下面做个小结: 1. 用户态( RING3 )下   2. 内核态( RING0 )下  做个总结,仅此而已。
阅读全文
谈到游戏、显卡,DirectX已经是一个不得不提的词汇了,但到底什么是DirectX呢? DirectX,(Direct eXtension,简称DX)是由微软公司推出的多媒体应用程序接口。由C++语言编写,遵循COM。其API(应用程序接口)包含DirectGraphic、DirectPlay、DirectSound、DirectInput、DirectSetup等部份(Direct3D与DirectDraw已整合成DirectGraphic)、DirectMusic、DirectPlay,被广泛应用于Microsoft Windows、Microsoft Xbox和Microsoft...
阅读全文
2014-05-18 23:07 工业·编程 ⁄ 共 1052字 暂无评论
一.安装DirectX SDK 二.正确配置.h文件和.lib文件路径 1. 启动VS,依次选择tools-option-projects and solutions-VC++Directories,在show directories for下面有几个选项 (这一步里也许会出现“VC++ 目录编辑功能已被否决”的情况,我们可以不采用这个方案进入vc++Directories,转而采用如下方案: 执行菜单栏中的<视图>--<属性管理器>,在新出现的“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.C...
阅读全文
2014-05-17 23:03 工业·编程 ⁄ 共 3771字 暂无评论
本节都是些概念性的知识,希望在正式学习DirectX之前,对将要学习的内容有一个整体的认知,以便更好的掌握将要学习的知识。 一、引言 在上个世纪,DirectX还没横空出世之前,游戏厂商都在努力克服着硬件不兼容造成的各种问题。但不幸的是,市面上已经存在的各种繁杂而不统一的硬件配置,让想做出一款供大多数人们都可以畅玩的游戏的想法成为了泡影。在这样的背景下,游戏行业急切需求一项统一的标准化的指标。于是微软公司推出...
阅读全文
2014-05-16 22:47 工业·编程 ⁄ 共 207字 暂无评论
这次的程式调试中遇到了fatal error LNK1104: 无法打开***.exe的错误。 错误分析:LNK 1104是链接的错误,在链接一些lib或者exe文件时,如果链接路径错误或者无法打开其文件时,就会出现这类错误。 解决方法: 1、确保你所用的外部链接库文件路径是正确的:打开属性-》VC++目录-》库目录 的路径; 2、删除已经生成的Debug文件夹,点击重新生成; 3、运行。如果还不行请关闭你的杀毒软件,再进行调试。
阅读全文
2014-05-15 05:39 工业·编程 ⁄ 共 350字 暂无评论
1、C++ Str Library 参考网站:http://www.utilitycode.com/str/ 操作字符串和字符的库,支持Windows和支持gcc的多种平台。提供高度优化的代码,并且支持多线程环境和Unicode,同时还有正则表达式的支持。 2、Common Text Transformation Library 参考网站:http://cttl.sourceforge.net/ 这是一个解析和修改STL字符串的库。CTTL substring类可以用来比较,插入,替换以及用EBNF的语法进行解析。 3、GRETA 参考网站:http:...
阅读全文