Windows程序员进阶应该看的那些书

业内有一个普遍的现象,一般Windows程序员在写了3-5年的代码的时候会有一段迷茫期,因为这个时期的程序员已经掌握了常用的一些编程技巧,对某种编程语言已经比较熟悉,可以完成常规的任务,但是这个时候的程序员也很容易迷茫。主要的表现有以下几种:

第一种,开始不停尝试不同的编程语言,但是慢慢的发现,其实语言大同小异,疲于学习,收获不大。
第二种,开始转向linux平台,总认为别人干的活比自己好,比自己牛,结果是常常没有足够的时间,疲惫于学习自己工作中根本用不到的知识,花了很大的精力却收获很少。
第三种,认为自己很牛了,沉迷于自己的一种技术甜区,不思进取。
有句话说的好,没有量的积累就没有质的飞跃,不经历过一定的项目和代码的熏陶,以及几米厚的书籍的积累,质变确实困难。
首先声明的是,本文所写的都是个人见解,只是希望后来人少走些弯路,欢迎讨论,但是言语之争就算了。
下面开始介绍indows程序员进阶应该看的那些书,
第一本:windows internals
推荐理由:
这本书的作者是,Mark E. Russinovich,windows历史上的传奇人物,SysinternalsSuite的作者之一,著名的processexp, process monnitor, Dbgview 都出自这个团队,本书讲述了windows的底层关键机制、windows的核心组件(包括进程/ 线程/ 作业、安全性、i/o系统、存储管理、内存管理、缓存管理、文件系统和网络),并分析了启动进程、关机进程以及缓存转储,伴随着widnows NT 这本书已经出了几个版本,最新的版本是6.0。

第二本:Windows内核原理与实现
推荐理由:
这本书是国内著名的技术翻译作者写的windows技术相关的书籍中比较不错的,全书解析了Windows如何实现操作系统的各个关键部件,包括进程、线程、物理内存和虚拟内存的管理,Windows中的同步和并发性支持,以及Windows的I/O模型。值得一提的是书中讲解了部分的Windows Research Kernel代码,从代码学习确实可以达到更好的效果。
但是提到这本书有一点让人不吐不快:说实话,我读完这本书并没有收获太多windows internals里面没有的知识,但是看了一些代码确实让人受益匪浅,还有更重要的一点,本书的意图是帮助大家从源代码的角度剖析windows NT, 而且微软已经提供了源代码WRK,但是本书为了讲解一些技术细节而实现的几个小工具竟让没有开源,只提供了可执行文件,而且这几个小工具只能在有限的几个版本的系统上运行,对学习本书造成了很大的不便。另外运行这几个工具的时候很可能让你的系统蓝屏,死机,请务必小心,个人对这种行为很是费解,所谓写书就是为了剖析本质,而用于剖析本质的具体的小工具却不随书附带源码,这种行为使这本书的价值大打折扣。

第三本:Advanced Windows Debugging: Developing and Administering Reliable, Robust, and Secure Software
推荐理由:
这本书是windows 调试领域的神作,里面介绍的东西面很全,如果还没有开始,建议从这本书开始,而且这本书有中文版,全书有聂雪军翻译,读起来比较顺畅。

第四本:软件调试:Software Debugging
张银奎老师写的书,可能很多人没有听过这个名字,但是一般业内的人都知道他,张老师的钻研精神和坚持精神是值得我们尊敬的,他写的这本书倾注了很多的心血,第一遍都这本书的时候我还很年轻,没有完全理解。直到听了一次张老师的课,在第二遍读的时候,我才明白其中的乐趣,强烈推荐本书,张老师几万一天的的课,精华都在这本书里面。

总结
本文列出了Windows程序员进阶应该看的那些书,当然,还有一些书也不错,由于篇幅的原因,本文暂时写这些,更多精彩内容待续..
C++学习路线与推荐书籍 很多人也许像我一样都想找一份学习的辟邪剑谱,转一个别人的帖子,希望对能够给用的。欲练此功,不必挥刀自宫的,呵呵。         这句说的好:“最后,编程语言并非计算机科学技术的全部,尤其对于在校的学生来说,打好基础、开阔视野都是非常重要的。” 一)语言入门: 《C++ Primer》 最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中) 适合有丰富C经验,缺乏C++ 阅读详情

相关推荐

运维必备知识

总结一些运维人员及面试的时候常被问到的知识点,包括网络方面的还有操作系统,应用服务等,相当的全面。

Web安全和渗透测试有什么关系?

做渗透测试的一个环节就是测试web安全,需要明白漏洞产生原理,通过信息收集互联网暴露面,进行漏洞扫描,漏洞利用,必要时进行脚本自编写和手工测试,力求挖出目标存在的漏洞并提出整改建议,当然如果技术再精一些,还要学习内网渗透(工作组和域环境),白盒审计,app,小程序渗透那些了......可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。总之,web安全包含于渗透测试,但不是渗透测试的全部。

Python_0011的博客 4864

SWIPT技术(无线通信携能技术)的简介与架构——(后续补充无人机SWIPT方向)

SWIPT一、SWIPT(无线通信携能)技术简介1.1、组成:1.2、与传统无线通信的区别:1.3、SWIPT 的集成接收器架构设计1、单独的接收器2、TS架构——时间开关(Time switching,TS)3、PS架构——功率分流(Power splitting,PS)4、天线开关接收器主要两种架构的区别参考文献SWIPT的发展 一、SWIPT(无线通信携能)技术简介 SWIPT(Simultaneous Wireless Information and Power Transfer )是各种WPT技术

Blue 1万+

学好Windows编程要看的书籍

本文是接着前面的学好C++要阅读的书籍而写的,如果想了解C++的学习的话请先看学好C++要阅读的书籍:http://blog.youkuaiyun.com/a809146548/article/details/42972535,毕竟本文介绍的书籍都要有一定的C/C++基础,下面来看本文介绍的书籍吧! 1、《Windows程序设计(第5版 珍藏版)》:这是很经典的一本介绍Win32 API编程的书了,基本介绍到了大多数关于Windows程序设计的基本内容。 2、《Windows程序设计-王艳平版》:这本和上一本的区别在于

m0_67403272的博客 2448

DSPACE仿真平台的使用

DSPACE仿真平台的使用 文章目录DSPACE仿真平台的使用1.ModelDesk新建项目2.MotionDesk引入项目3.ControlDesk引入项目4.项目整合运行 我们使用DSPACE仿真平台软件来模拟小汽车的自动驾驶。 总共需要用到DSPACE大类下的三个软件:ModelDesk、ControlDesk、MotionDesk。 1.ModelDesk新建项目 在桌面上点击ModelDesk图标,打开DSPACE—ModelDesk 选择 File 标签,侧边栏选择 New,点击 New A

qq_42582489的博客 7529

深入解析postcss-px-to-viewport-8-plugin:如何精准控制响应式转换范围

本文深入解析了postcss-px-to-viewport-8-plugin插件在响应式开发中的核心痛点——如何精准控制单位转换范围。针对插件默认全局转换的问题,文章提供了两种实战解决方案:通过编写巧妙的exclude正则表达式实现“曲线救国”,或直接修改插件源码补全include功能。同时,文章还分享了在Next.js、Vite等现代框架中的集成要点及常见问题排查方法,帮助开发者实现“外科手术式”的精准样式转换。

yoga7的博客 910

Windows编程之核心书籍推荐

一、Windows程序设计(第5版·珍藏版) 《Windows程序设计(第5版·珍藏版)》这是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题

ctrigger的专栏 2211

【DenseFusion系列目录】代码全讲解+可视化+计算评估指标

DenseFusion是2019年李飞飞等提出的用于6D姿态估计的网络。它是一种端到端的结构,输入为RGB-D数据,输出为某个物体的6D姿态。主要贡献就是针对颜色特征和几何特征提出了一种像素级稠密融合的方式。在LineMOD数据集和YCB-Video数据集上进行了实验。本文对该网络进行完整的复现,详细解析了源代码中的重要内容。由于本人刚接触姿态估计方面的内容,因此有些解析部分包含很基础的知识,放在【DenseFusion详解】专栏。除此之外,本文在源代码的基础上进行了后续评价指标的计算以及结果的可视化,这些

weixin_44564705的博客 9419

有时间细读这些书

1、《Windows程序设计(第5版 珍藏版)》:这是很经典的一本介绍Win32 API编程的书了,基本介绍到了大多数关于Windows程序设计的基本内容。 2、《Windows程序设计-王艳平版》:这本和上一本的区别在于,他讲到了WIN32编程很重要的HOOK技术,与及如何动态在DLL中查找所需函数等,需要一定的数据结构基础和操作系统的基本知识。 3、《Windows网络编程》,

记录我的技术成长轨迹 959

基于RK3588边缘计算平台的人数统计系统设计与实现

针对人数统计场景优化的YOLOv5模型完整的模型转换和部署流程高效的嵌入式推理优化方案低成本、低功耗的部署方案实时性强,满足工业应用需求可扩展性好,适配多种应用场景引入注意力机制,提高小目标检测能力结合多模态信息,增强系统鲁棒性开发可视化管理平台,提升用户体验随着边缘计算和AIoT技术的快速发展,基于深度学习的智能视觉系统必将在更多领域发挥重要作用。本项目为相关应用的开发和部署提供了有价值的参考,为推动人工智能技术的产业化应用做出了积极贡献。

LXY_LOVE36的博客 148

C#客户端对接工厂MES的方法

本文介绍了使用C#实现WebApi客户端与工厂MES系统交互的方法。主要包括四个步骤:1)配置工控机IP地址;2)获取服务器URL;3)创建HttpHelper帮助类实现单例模式HttpClient,提供异步POST请求方法;4)通过实例化帮助类实现设备状态数据的JSON格式发送与接收。该方案采用异步通信方式,支持超时处理,能够满足大多数MES系统交互需求,帮助工程师快速完成设备与MES系统的数据对接。文中给出了核心代码片段和完整的数据交互流程示例。

weixin_39832501的博客 267

Windows程序员进阶应该看的那些书

Windows程序员进阶应该看的那些书   业内有一个普遍的现象,一般Windows程序员在写了3-5年的代码的时候会有一段迷茫期,因为这个时期的程序员已经掌握了常用的一些编程技巧,对某种编程语言已经比较熟悉,可以完成常规的任务,但是这个时候的程序员也很容易迷茫。主要的表现有以下几种:第一种,开始不停尝试不同的编程语言,但是慢慢的发现,其实语言大同小异,疲于学习,收获不大。第二种,开始转向linu

ithzhang 2607

YOLO11多个点组合创新:GC10-DET缺陷检测 | DCNv4结合SPPF+11Detect创新性结合

DCNv4结合SPPF+11Detect创新性结合,原始mAP50为0.633 提升至0.651

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1291

完了!Windows弱爆了!它才是程序员的首选!程序员:真的好用!

最近有很多程序员在优快云博客发帖讨论:用Windows还是Linux? 关于这个问题,其实答案很简单:做开发首选Linux。 如果一个程序员从来没有在Linux上开发过程序, 一直在Windows上面开发程序,同样是工作5年,在Linux上开发5年的程序员,会比在其他系统上开发的厉害很多! 而且如果你经常看招聘信息,不难发现,几乎超过90%的技术岗都需要会Linux,已经成了面试的必问题!...

优快云学习 3万+

语言大模型之Tokenization的深入理解

Tokenization(分词)是自然语言处理(NLP)中一个非常重要的步骤,它的目标是将文本转换为模型可以理解的格式。对于像GPT、BERT等大型预训练模型来说,tokenization决定了文本如何转化为数字表示,从而影响模型在不同任务中的表现。接下来我会深入介绍tokenization的过程、不同的tokenization方法,以及它与模型微调(fine-tuning)之间的关系。

JustinMars的博客 345

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Windows程序员的学习路线

Windows程序员的学习路线   1.当然要熟悉下C语言了 入门可以选用潭浩强的 《C程序设计》(当然最好能读C Programming Language)特别要对其中的指针,结构体等东西一定要搞清楚了(要学好的很好至少要花费一个月时间) 为什么要从C开始呢: C好学

aican_yu的专栏 1403

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

1024程序员节,有最能讨好程序员的书没?

每年的10月24日,是程序员节。程序员是通过键盘改变世界的一个群体,他们的大脑里充满了各种神奇的代码。小编来敲黑板,划重点,后天就是程序员节啦!我们来点什么惊喜呢?如果小编这里没有惊喜,推荐几本好书行不行。:) 什么是程序员节? 为什么将每年的10月24日定为程序员节?1024程序员节是什么梗?1024是2的十次方,二进制计数的基本计量单位之一,1024程序员节是中国程序员的共同节日。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。另外,1G=1024M,而1G与1级谐

人邮异步社区 1160

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

做10年Windows程序员与做10年Linux程序员的区别_linux 开发

linux下的内核API, 全部算下来也才335,但是这些内核的API只有编写驱动的时候才能用到, 开发应用程序基本用不到内核的API,开发应用程序的API基本都是C的API,而 Linux所有的C的API个数是279个, 也就是说你只需要掌握不到300个的API, 就可以顺利的在linux下面开发应用程序了,相比学习windows下面的那一堆API来说, 你是不是可以省下很多时间来学习其他知识呢?上面这些API是windows下面对文件操作的API, 总共是8个,看看CreateFile的参数吧,

2501_90433508的博客 670

程序员如何选择操作系统 Mac、Windows还是Linux

在他们的第一份正式工作中,被分配了一台Windows电脑,接触到了Java和Oracle等技术,同时为一家失败的财富500强公司做着无聊的网站开发工作。他们找到了自由,买了一台全新的MacBook Pro,开始在各地的星巴克间穿梭,开发Ruby on Rails应用。而打开那台崭新的MacBook,表面上看似美好,但实际上是无意识地加入了“苹果教派”,一个充满专有锁定和限制的世界。幸运的是,JetBrains提供了完美的工具集,他们的IDE帮助程序员加速了工作流程,AI工具更是锦上添花。

Niki2020_2017的博客 1573

做10年Windows程序员与做10年Linux程序员的区别

如果一个程序员从来没有在linux,unix下开发过程序,一直在windows下面开发程序, 同样是工作10年, 大部分情况下与在linux,unix下面开发10年的程序员水平会差别很大。我写这篇文章并不是想贬低windows下面开发的人,做windows开发的人看了可能会感觉不舒服,我并不是这个意思,我只是说说我自己的感受,我最早开始学习编程也是在windows下面的, 学的是VB,后来转到VC...

小白的逆袭 583

慎论程序员对windows和linux的争论!

其实在windows下写程序尤其是多线程的程序是一件很幸福的事情。多数程序只需要一个断点一个trace或者一个printf函数就可以找到程序的bug。你如果问我那两个函数有什么不同,我只能告诉你那只是程序员调试程序的风格和个人喜好的区别。在linux上写 程序的兄弟就没这么幸运了。他们要自己写调试信息函数。像什么出错行数信息打印Printf(%d, __FILE__);我就旁边就是几个linux程

Savage54321.Thought.ToString(); 2767

对《windows操作系统原理》一书的评论

对《windows操作系统原理》一书的评论       本人在上海看到一本名为《windows 操作系统原理》的书,是上海交大几个研究生写的,书前书后有微软科学院及信息产业部的吹捧序文,本书作者在开篇序言中自称本书是世界上仅有的一本研究windows内核的书,为完成此任务,需看到window的源程序,故向微软科学院求援,微软科学院竟然爽快答应,待他们到达北京后,才发现由于版权及法律限制,win

predrose的专栏 3947
上一篇: 详解ORACLE 11g select
下一篇: Windows程序员进阶应该看的那些书
devgis
博客等级 码龄16年 52粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值