前一段时间在看TCP/IP,在图书馆里面找了不少的书,其中有几本书还是不错的。比如:

《Windows网络与通信程序设计(第二版)》 王艳平著

《WinSock网络编程经络》 张会勇著

在看第一本书的时候,因为后几章涉及到驱动编写的问题,所以我就先去找了本驱动的书看了看,顺手翻到一本潘爱民先生编写的《Windows内核原理与实现》。看了觉得还是很不错的。

我学Windows的时间应该有一年了吧,在这其间,我总是觉得自己在Windows上,能进行一些程序的编写,但是总是觉得,有点难以触及核心。像单片机那种非常简单的平台,程序基本可以说是想怎么写就怎么写,无拘无束。而在Windows平台上,总是觉得自己的技术水平总是在门口盘旋,难以进一步深入。我看过侯俊杰的著作《深入浅出MFC》,也看过了Windows经典之一的《Windows程序设计(第五版)》,还有WindowsAPI的书籍,写过一些Windows下的程序,比如一些小游戏和最简单的Winsock程序。但是,始终觉得自己的水平没有再次的进步。

我为什么学习Windows?

我接触过的第一个操作系统,好像是Windows95,那个时候还是在小学,也就是2000年初的时候。那个时候小,知道的很有限,去上机的时候,也就知道打游戏。1分钟能用标准拼音输入法敲出来10个字就已经算是很了不起了。那个时候计算机给我的感觉很神秘,而且Windows操作系统是我第一个接触到的系统,也是当时唯一接触到的操作系统,因此我当时很天真的认为,所有的电脑开机都会出现一个Windows的四色旗帜图标,也就只有Windows这一种系统。当然,准确来讲,我当时只知道电脑,并不知道什么是操作系统。

后来上了初中,初一的时候一次和同学聊的时候,知道了XP这个系统。当时稍微有了点概念。那个时候也就只知道写题做作业,准备中考等,其余的时间并没有什么机会接触到电脑。至于学校的上机课程,就是上4399小游戏上玩一玩,那个时候我还喜欢上一款名为新合金弹头的游戏。不过这就是全部了,初中的时候,我不去网吧,就算是去了也就是打游戏。

高中的时候,我接触电脑的机会就比较多了。原因很简单,老爹老妈对我去网吧不再管了。那个时候我迷上了一款单机游戏,《暗黑破坏神2》。当时还玩的风生水起,不亦乐乎。每次都是复制存档,让后再拷回手机里面。而且也就是我在高中的时候,首次注册了百度账号,在百度知道里面混,开始成为了一条小网虫。至于程序设计,高一的时候好像学过VB,不过,完全没有后续。毕竟在高中,高考最大。

所以大学之前,我只知道Windows,知道一般组装机买了还需要装系统。有一次去买显卡还因为自己有限的计算机知识被人鄙视了。呵呵。

上了大学之后,我才开始知道Linux,Unix等操作系统。也是刚上大学的时候,才知道windows之前还有个dos。后来买了笔记本,用的操作系统自然就是Windows。在图书馆啃书的时候,才渐渐的了解到计算机的基本架构,也是那个时候我知道了冯诺依曼这个名字。在学数字电路的时候,真正的理解了计算机的工作原理,自学微机原理的时候,知晓了计算机里程序的执行方式,知道了什么是机器码,什么是汇编代码。大一学C语言的时候,真是一头雾水,什么都不懂,用着VC6.0天天写控制台程序。老师也不多介绍几个好用点的开发工具,最开始看书用的编译器居然还有89年的TurboC。我大学之前和大一所在的计算机文化环境实在是不怎么样。大学之前是几乎没有。上了大学,又有点落后。后来自己一点点学习,借助网络和书籍,以及学长的帮助,才一点点的积累,能有今天这点三脚猫级的水平。

所以到目前为止,我用的最多的平台,都是Windows。Linux也装过,不过是在虚拟机上装过的,没怎么好好玩。Windows是我最熟悉的系统,所以在选在PC程序设计的时候,我首选Windows并不偶然。

另外,貌似大多数的黑客玩的系统平台也都是Windows。大一大二的时候也梦想过成为黑客,去书店里里面翻过书。奈何水平太菜,连基础的计算机知识都没有,再扯上点API,服务,DLL等概念后,完全看不懂,就自然放弃了。现在还好一些,至少不是完全看不懂了。

虽然对于黑客技术不是很了解,但是我比较清楚对计算机非常熟悉后的能量。虽然Windows并不开源,但是有些地方做的并不封闭,比如DLL线程注入,添加自己的服务,注册表修改API,Hook等。都提供了很多的监控功能。所以在Windows平台上才会有那么多的病毒,这么多的攻击。Android的情况貌似也差不多。所以如果Windows下的系统编程学好了,能做的事情肯定是非常多的。而且我每天都在使用Windows系统和Windows下的各种软件,因此我觉得我很有必要好好学习一下这个与我日常生活密不可分的操作系统。

另外就是,学编程还能混口饭吃。

所以,我选择了Windows下的程序设计。今天看了Windows的内存管理这一部分,看了之后觉得很不错,虽然没能完全理解,但是至少这些东西之前我在百度上还真的没搜到如此详细的资料。网上有些东西感觉就是有点支离破碎。一步一步脚踏实地,到了某一天就不是菜鸟,而能独当一面了。

转载于:https://www.cnblogs.com/matrix-r/p/3463279.html

我为什么学习Windows编程相关推荐

  1. 一个物理学家学习Windows编程的感受

    最近学习用Visual C++ 作为平台的Windows 编程,感觉到学习这种编程技术的过程与学习物理的思维差异非常大.最明显的,比如对于物理课本,在学习的时候值得一个字一个词的认真去读,有时候需要读 ...

  2. 有一定基础的 C++ 学习者该如何学习 Windows 编程?

    这篇文章是回答一位知友的提问: 有一定基础是指对大学教材级别的C++知识有了解,然而只停留在黑框程序的编写和阅读上. 手头有一个使用VS2010开发的windows工程想要读懂(这是契机,不是原因), ...

  3. 如何学习Windows编程

    有很多初入门的小朋友跟我说,他们想学"底层"的技术,因为觉得技术含量高,所以想学Windows C++开发,看着调用一个个的参数超级多,调用起来超级麻烦的Windows API,觉 ...

  4. 【程序人生】如何学习Windows编程?

    觉得这篇文章写得很好,对于初学者有启发.因此,转载一下,给更多人看到. 转载至:https://zhuanlan.zhihu.com/p/24773204 有很多初入门的小朋友跟我说,他们想学&quo ...

  5. 学习Windows编程遇到的问题

    #define WIN32_LEAN_AND_MEAN #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINST ...

  6. 学习windows编程 day6 之模拟记事本

    //短的函数最好定义为宏 #define BUFFER(x,y) *(y*cxBuffer+x+pBuffer)//取出一个字符//字符消息 //WM_CHAR,WM_DEADCHAR,WM_SYSC ...

  7. windows编程学习——1 关闭窗口不退出

    开始学习windows编程了.书是<windows程序设计>.祝这次能坚持下来吧 研究第一个windows程序 改了好多图标,觉着没意思了 试着把处理WM_DESTRY的部分注释了,想看看 ...

  8. Windows编程课程学习笔记

    一. Windows程序内部运行机制--Windows编程课程学习笔记 二. MFC框架程序分析--Windows编程课程学习笔记 三. 简单绘图--Windows编程课程学习笔记 四. 文本编程-- ...

  9. Windows编程(2)

    文章目录 windows有关的重要概念 句柄 窗口 Windows的消息机制 消息结构体 宽字符与Unicode 宽字符串的长度 ASCII 和 Unicode 兼容性问题 Windows数据类型 w ...

最新文章

  1. 为什么这些死脑筋们在用 VI ?
  2. Micropython 红外防坠落小车实验教程
  3. 【Linux】16.mdc挂载群晖NAS
  4. 从零开始学习docker(零)简单介绍Dockerfile
  5. python 重置索引_Pandas的reset_index()重置索引列
  6. 使用nginx实现一个主机部署多域名指向不同docker项目
  7. SpringMVC整合MongoDB
  8. cayenne:用于随机模拟的Python包
  9. java中面向对象_java中的面向对象
  10. UkrGuru.SqlJson非常适合您的ASP.NET Core Web应用程序!
  11. 华为手机改定位怎么改变_华为推送HMS服务,依靠鸿蒙OS,或将改变手机行业格局...
  12. 报 刊 集 锦(转载)
  13. 单片机项目:音乐喷泉
  14. ATMC/ATMP是啥?
  15. colorbox弹出层插件使用方法及注意事项
  16. 常用二极管介绍和整流二极管1N4007参数解读
  17. THINKPHP框架的优秀开源系统推荐
  18. [附源码]计算机毕业设计springboot动物保护协会网站
  19. OSPF实验知识点总结
  20. Android手势下拉抽屉效果

热门文章

  1. ubuntu下chrome浏览器字体颜色修改
  2. 螺旋矩阵(c语言实现)
  3. 最新版pycharm的 manage repositories 设置在哪里?
  4. SheetJS集成的Export2Excel框架的导出并修改单元格格式为文本简单记录
  5. python实现超级全局变量(跨文件跨模块)
  6. 使用python生成文字图片,画圆圈 ,生成圆形图片
  7. RadioButton去掉小圆圈、设置图片、文字居于图片下方
  8. “小镇做题家”:难免挣扎,不必自卑!
  9. Python 函数解释:locals()
  10. 最新改良版彩虹代刷知识付费模板系统