会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
_No.47
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
7
8
···
18
下一页
2019年9月3日
DisableThreadLibraryCalls与DLLMain死锁
摘要: 1、首先写个简单的DLL,用来验证 BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCE
阅读全文
posted @ 2019-09-03 11:48 _No.47
阅读(2908)
评论(0)
推荐(0)
2018年5月28日
《Windows核心编程》第十一章——线程池
摘要: 隐式使用工作项 通过结果观察发现,利用了线程池,输出并非有序: 显式地控制工作项 如果改为下面这样,则会报错: 因为据书上说,只能取消或等待本线程中的工作项。
阅读全文
posted @ 2018-05-28 09:07 _No.47
阅读(338)
评论(0)
推荐(0)
2018年4月27日
《Windows核心编程》第九章——用内核对象进行线程同步
摘要: 先举一个有bug的例子: 起初,我想要设置一个事件——g_hStop来通知线程,使得ThreadServer线程能够被主线程停止,但是这里出现了一个问题,如果我刻意让主线程Sleep2秒再去SetEvent,那么等待g_hStop的wait函数就会超时,从而往下继续执行等待Input,而此时主线程已
阅读全文
posted @ 2018-04-27 06:01 _No.47
阅读(301)
评论(0)
推荐(0)
2018年4月22日
《Windows核心编程》第八章——用户模式下的线程同步
摘要: 下面起了两个线程,每个对一个全局变量加500次,不假思索进行回答,会认为最后这个全局变量的值会是1000,然而事实并不是这样: 然而运行多次、每次结果都不同,而且,几乎不会等于1000: 造成这种现象的原因很简单,就是g_nCount在进行自增的时候没有实现原子操作,g_nCount的本质其实是:
阅读全文
posted @ 2018-04-22 09:30 _No.47
阅读(239)
评论(0)
推荐(0)
2018年4月14日
《Windows核心编程》第七章——进程优先级实验
摘要: 其实就是做个实验,看看SetPriorityClass是否真的会生效。 设计思路:主线程一直在进行某种操作(这里是写文件操作),以保证有一定的CPU占用率;生成的子线程来接收你的命令,决定将进程改变为什么级别。 代码逻辑如下: 当启动这个线程和它的副本的时候,二者CPU占用率差不多: 现在调低188
阅读全文
posted @ 2018-04-14 09:06 _No.47
阅读(1065)
评论(0)
推荐(0)
2018年4月2日
《Windows核心编程》第五章——作业
摘要: 第一次执行GetQueuedCompletionStatus返回6(JOB_OBJECT_MSG_NEW_PROCESS),表示将一个进程添加进一个作业;第二次执行GetQueuedCompletionStatus返回1(JOB_OBJECT_MSG_END_OF_JOB_TIME),表示作业超时;
阅读全文
posted @ 2018-04-02 04:31 _No.47
阅读(411)
评论(0)
推荐(0)
2018年3月10日
《Windows核心编程》第3章——handle复制相关实验
摘要: 先写一个程序,用来查看进程的内核对象,这样我们就能比较子进程是否继承了父进程的某个句柄: 然后父进程就随便写一个,主要是为了创建三个命名内核对象,然后让子进程继承其中的两个: 验证结果 父进程创建的三个互斥量句柄: 然后再去查看子进程: 果然之继承了其中的1和3句柄。
阅读全文
posted @ 2018-03-10 08:44 _No.47
阅读(1172)
评论(0)
推荐(0)
2018年2月25日
《Windows核心编程》第3章——深入理解handle
摘要: 本文借助windbg来理解程序中的函数如何使用handle对句柄表进行查询的。所以先要开启Win7下Windbg的内和调试功能。 解决win7下内核调试的问题 win7下debug默认无法进行内核调试(!process等命令无法使用),除非是双机调试。或改用livekd进行调试。 尝试http://
阅读全文
posted @ 2018-02-25 08:39 _No.47
阅读(1822)
评论(0)
推荐(0)
2018年2月22日
《Windows核心编程》第2章——字符和字符处理
摘要: ANSI和UNICODE 计算char和wchar_t的长度都一样,都是5,但是二者在内存中的布局实际上是不同的:
阅读全文
posted @ 2018-02-22 06:18 _No.47
阅读(264)
评论(0)
推荐(0)
《Windows核心编程》第1章——错误处理
摘要: GetLastError: GetLastError返回错误编码,即便出错函数后边跟随一个正确执行了的函数,也不会覆盖原先的错误代码: 考虑多线程的情况。子线程中的错误代码不会被主线程捕获: 但是子函数中发生的错误代码会被主函数捕获:
阅读全文
posted @ 2018-02-22 05:08 _No.47
阅读(367)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
18
下一页
公告