2014-05-20 09:48
⁄ 工业·编程
⁄ 共 322字
创建了一个结构体,其中有一个字段是线程句柄HANDLE,当新创建的线程执行时,需要去获取结构体中关于该句柄的其他内容;
因此,以HANDLE作为查找条件进行获取。于是想起GetCurrentThread()方法来获取当前线程的句柄。
函数原型:
HANDLE GetCurrentThread(void);
返回值:
A pseudohandle for the current thread indicates success
注意:这里是pseudohandle,即伪句柄,而不是真实的句柄。
相关阅读
----获取当前进程 / 线程...
多线程编程阅读全文
2014-05-20 09:46
⁄ 工业·编程
⁄ 共 374字
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字
今天温习很久前写的代码,发现自己写的这么一句代码,
m_hTheard = CreateThread(NULL,0,RegNotifyProc,LPVOID(this),0,NULL);
CloseHandle(m_hTheard);
突然给糊涂了,刚创建的线程,为什么有close了,还是当初入门不踏实,没有细想,现在反过来都记不得了,通过查资料,解决了我的疑惑。
1、线程和线程句柄(Handle)不同,线程是一个程序的工作流程,线程句柄是一个内核对象。线程的生命周期就是线程函数从开始执行到线程结...
你知道吗, 多线程编程阅读全文
2014-05-20 08:07
⁄ 工业·编程
⁄ 共 99字
在用户态( RING3 )和内核态( RING0 )下,获取这些值的函数是不同的,而且这些函数的实现原理也是不同的,下面做个小结:
1. 用户态( RING3 )下
2. 内核态( RING0 )下
做个总结,仅此而已。
多线程编程阅读全文
2014-05-19 23:09
⁄ 工业·编程
⁄ 共 4681字
谈到游戏、显卡,DirectX已经是一个不得不提的词汇了,但到底什么是DirectX呢?
DirectX,(Direct eXtension,简称DX)是由微软公司推出的多媒体应用程序接口。由C++语言编写,遵循COM。其API(应用程序接口)包含DirectGraphic、DirectPlay、DirectSound、DirectInput、DirectSetup等部份(Direct3D与DirectDraw已整合成DirectGraphic)、DirectMusic、DirectPlay,被广泛应用于Microsoft Windows、Microsoft Xbox和Microsoft...
Direct3D阅读全文
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...
Direct3D阅读全文
2014-05-17 23:03
⁄ 工业·编程
⁄ 共 3771字
本节都是些概念性的知识,希望在正式学习DirectX之前,对将要学习的内容有一个整体的认知,以便更好的掌握将要学习的知识。
一、引言
在上个世纪,DirectX还没横空出世之前,游戏厂商都在努力克服着硬件不兼容造成的各种问题。但不幸的是,市面上已经存在的各种繁杂而不统一的硬件配置,让想做出一款供大多数人们都可以畅玩的游戏的想法成为了泡影。在这样的背景下,游戏行业急切需求一项统一的标准化的指标。于是微软公司推出...
Direct3D阅读全文
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:...
c++, 程序库阅读全文