粗读《编程高手箴言》

源地址:我的技术博客http://linger.devhub.com/blog/category/book/

某次在图书馆无意中看到《编程高手箴言》这本书,作者是梁肇新,豪杰超级解霸的开发者。这本书吸引我的原因除了作者外,还有就是里面的内容很广泛,对底层的研究很多。于是我借回去看了。之前由于准备期末考试,所以木有时间,后来第三学期无聊并且借书的期限快到了,就准备随便翻翻。其实这书的内容对我来说太深奥了,涉及的内容不仅有深度还有广度。于是我只是挑内容看,挑那些感兴趣和容易的看。

书的内容涉及到汇编,当时我学汇编时,困扰最大的位和字节,字等等这些相关问题,不懂得什么时候该用哪个。还有就是windows api也经常遇到各种陌生的类型的问题,包括这些DWORD,LPDWORD,特别是这些关系到位数的问题,很困扰,不知何时用哪个。主要原因应该是没系统学过,这个问题应该可以解决,系统学一遍就可以了。

书中我最感兴趣的是涉及到windows api编程的内容,因为我最近在学这个。首先,我对windows的消息运行方式了解了。简单来说就是,向指定窗口发送消息,窗口由窗口消息处理函数根据消息的类型做相应的处理。这是对windows这个系统来说的。令我困惑的是,在学wpf时,接触到路由事件,关于路由事件和这个消息及事件的驱动两者有什么联系和或区别呢?这个有待以后探讨。

书中第4.4节还讲了挂钩技术。简单来说,挂钩就是windows根据不同类型的消息调用不同的处理函数,我们把原来调用的函数换成我们自己的函数。书中讲的内容很多不太懂,我只学会了windows系统提供的api来挂钩。

最爱的就是游戏内存修改工具了,我只看了核心代码部分,其他的比如接口,主干和分支等没看。其实这个工具就是一个简单的CE。对于代码,整体理解了,但部分细节不懂,比如按位与,还有一些数据类型及其转换。

有些困惑,就是梁肇新支持使用静态分配不支持动态分配,支持dll静态加载不支持动态加载。由于我本身对这些了解不深,所以就不知道为何如此如此这般这般。

书中出了讲了一些底层技术,还涉及了编程的代码规范,分析方法和调试方法。这些在实际的开发过程是极其重要的,所以以后有时间和能力之后一定要看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
梁肇新开发技术总结,值得借鉴 这是我在网上能够找到的最清晰的版本,分享给大家 目录: 第1章 程序点滴 1 1.1 程序≠软件 1 1.1.1 商业软件门槛的形成 2 1.1.2 认清自己的发展 4 1.2 高手是怎样练成的 5 1.2.1 高手成长的六个阶段 5 1.2.2 初级程序员和高级程序员的区别 7 1.2.3 程序员是吃青春饭的吗 9 1.3 正确的入门方法 11 1.3.1 规范的格式是入门的基础 13 1.3.2 调试的重要性 17 1.4 开放性思维 18 1.4.1 动态库的重要性 19 1.4.2 程序设计流程 20 1.4.3 保证程序可预测性 21 第2章 认识CPU 23 2.1 8位微处理器回顾 23 2.2 16位微处理器 24 2.2.1 组成结构 24 2.2.2 8086寄存器组成 25 2.2.3 内存的寻址 26 2.2.4 中断处理 27 2.3 32位微处理器 29 2.3.1 寄存器组成 29 2.3.2 保护模式 32 2.3.3 80386的寻址方式 32 2.4 【实例】:在DOS实模式下读取4GB内存代码分析 36 2.4.1 程序的意义 37 2.4.2 程序代码 37 2.4.3 程序原理 41 2.4.4 程序中的一些解释 42 第3章 Windows运行机理 44 3.1 内核分析 44 3.1.1 运行机理 44 3.1.2 LE文件的格式 53 3.1.3 VxD的设计实现 59 3.1.4 【实例】:CPU降温程序代码分析 65 3.2 消息的运行方式 82 3.2.1 认识消息 82 3.2.2 Windows系统中消息的运作方式 84 3.2.3 消息处理过程实例 87 3.3 GDI的结构和组成 89 3.3.1 GDI的组成 89 3.3.2 GDI和DirectDraw的关系 91 3.4 线程的机制 93 3.4.1 线程的工作方式 93 3.4.2 线程与GDI的冲突:死机的主要原因 94 3.4.3 线程的内存泄漏的主要原因 96 3.4.4 进程管理 98 3.4.5 同步机制 100 3.5 PE结构分析 103 3.5.1 PE头标 103 3.5.2 表节 113 3.5.3 PE文件引入 119 3.5.4 PE文件引出 125 3.5.5 PE文件资源 129 第4章 编程语言的运行机理 133 4.1 汇编的原理 133 4.1.1 指令系统 133 4.1.2 汇编与Win API的接口方法 141 4.1.3 【实例】:自定义程序的入口点 145 4.2 高级语言的原理 151 4.2.1 C/C++的原理 151 4.2.2 解释语言的原理 165 4.2.3 【实例】:用C实现简单的BASIC语言环境 165 4.3 C、C++的学习方式 187 4.3.1 从BASIC到C 187 4.3.2 C、汇编、API的关系 187 4.3.3 接口的建立方法 190 4.4 挂钩技术 201 4.4.1 Windows上C的挂钩 201 4.4.2 C++的挂钩技术 213 第5章 代码的规范和风格 220 5.1 环境的设置 220 5.1.1 集成环境的设置 220 5.1.2 TAB值的设置 221 5.1.3 编译环境的设置 222 5.1.4 设置herosoft.dsm宏 224 5.2 变量定义的规范 227 5.2.1 变量的命名规则 227 5.2.2 变量定义的地方规定 228 5.2.3 变量的对齐规定 229 5.3 代码对齐方式、分块、换行的规范 230 5.4 快速的代码整理方法 232 5.5 注释的规范 233 5.6 头文件的规范 236 5.7 建议采用的一些规则 236 5.8 可灵活运用的一些规则 238 5.9 标准化代码示例 239 5.10 成对编码规则 243 5.10.1 成对编码的实现方法 243 5.10.2 成对编码中的几点问题 248 5.11 正确的成对编码的工程编程方法 251 5.11.1 编码前的工作 252 5.11.2 成对编码的工程方法 255 5.11.3 两个问题的解释 260 第6章 分析方法 266 6.1 分析概要 266 6.1.1 分析案例一:软件硬盘阵列 268 6.1.2 分析案例之二:游戏内存修改工具 274 6.2 接口的提炼 286 6.2.1 分离接口 286 6.2.2 参数分析 287 6.3 主干和分支 290 6.3.1 主干和分支分析举例 291 6.3.2 程序检?? 300 6.4 是否对象化 301 6.5 是否DLL化 307 6.5.1 DLL的建立和调用 307 6.5.2 DLL动态与静态加载的比较
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值