实在抱歉,因为图床的原因,可能文章中的某些图片看不到,如果需要查看相关图片,请联系我,或者到我的公众号里查看。
我的个人微信号是 BianChengNan
,公众号是 编程难
。
回顾整个 2023
,相比 2022
加班少了,工作没那么拼命了。
由于各种原因,年初立的 flag
好几个都没实现。
rust
,但远没有达到能实战的地步我对 2024
这个数字感到非常亲切,2024 = 1000 + 1024
,两个一千
今年的首要任务依旧是锻炼身体
本来计划 2024
年跑步作为日常锻炼的方式,结果 2023
年最后一次从公司跑回家后膝盖疼,2024
只能偶尔跑跑了
2023
花费了很大一部分时间在遛狗上,2024
继续努力。如果不是狗子的陪伴,估计我早抑郁了,感谢,感恩。坚持练习英语口语
希望这次不要因为任何原因中断
继续坚持分享技术文章
遇到值得总结的问题,及时总结分享
读一些非技术书籍
之前看的书以技术书籍为主,2024
年争取多看些非技术的书籍
做一些改变
尽量熟悉 AI
相关的人和事
前一阵子,我在编写文件变化监控程序的时候遇到了文件被占用的问题。很早之前写过一篇关于 CreateFile
函数的 dwDesiredAccess
和 dwShareMode
参数的笔记。我发现之前的理解不够全面、准确。为了更好的理解这两个参数的作用,我搜索了大量资料,编写了测试程序及测试脚本,参考了 xp
源码,终于搞清楚这两个参数的作用。简而言之,需要遵循以下两个规则:
规则 1:后续的访问权限与先前的共享模式不能冲突。
规则 2:后续的共享模式与先前的访问权限不能冲突。
如果你对下面的几个问题有明确的答案并且清楚的知道原因,那么可以跳过本文了。
很早之前,我遇到过几个与栈相关的问题,当时总结过几篇关于线程栈的文章,分别是 《栈大小可以怎么改?》、《栈局部变量优化探究,意外发现了 vs 的一个 bug ?》、《栈又溢出了》、《有趣的异常》。在这几篇总结中,简单的总结了栈溢出的原因,设置线程栈大小的方法。但是还有一点没弄清楚:操作系统是怎么知道一个线程的栈大小的?一定记录在某个位置了,否则就不能正确的在栈溢出的时候抛出异常了。不能根据 PE
头中的字段判断,因为在创建线程的时候可以指定线程栈大小。TEB
中的 StackLimit
是真正的栈底吗?带着这些疑问一起来刨根问底吧~
友情提示:结论在文章末尾。