-
式。对我而言,以往遗留的许多疑惑,在此都一一得到了解答。最重要的是,您曾经说过,
学习MFC 的过程中最重要的莫过于自我审视MFC 程序代码的能力。很高兴地,在我看完本书
之后,我确实比以前更有能力来看MFC 源代码了。总之,我为自己能够更深入了解MFC 而
要向您说声谢谢。谢谢您为我们写了深入浅出MFC 这本书。我受益匪浅。
加拿大. 温哥华. 陈宗泰
阁下之书,尚有人性,因此我参而再参,虽不悟,也是enjoyable。看阁下之书的附带效果 不应同时
存在。然而,没有深入如何浅出?不入虎穴焉得虎子?
唯有把MFC 骨干程序的每一个基础动作弄懂,甚至观察其源代码,才能实实在在掌握MFC
这一套application framework 的内涵,及其对象导向的精神。我向来服膺一句名言:源代码
说明一切,所以,我挖MFC 源代码给你看。
这是我所谓的深入。
9
唯有掌握住MFC 的内涵,对于各式各样的MFC 应用才能够如履平地,面对庞大的 的原理,再至物
件导向的精神,然后回到MFC 的运用。这会是一条迢迢远路吗?
似远实近!
许多朋友曾经与我讨论过,对于MFC 这类application framework,应该挖掘其内部机制到什
么程度?探究源代码,岂不有违「黑盒子」初衷?但是,没有办法,他们也同意,不把那些
奇奇怪怪的宏和指令搞清楚,只能生产出玩具来。对付MFC 内部机制,态度不必像对付
MFC 类别一样;你只需好好走过那么一回,有个印象,
0 码力 |
1009 页 |
11.08 MB
| 2 年前 3
-
## gofmt 的文化演变 The Cultural Evolution of gofmt
Robert Griesemer
Google, Inc.
## gofmt
• Go源代码格式化工具
• 定义了“标准”格式
• golang.org代码库中所有提交的Go代码都必须通过gofmt格式化过
- 除了gofmt之外,相同功能可以通过go/format库获得
- 不需要设置!
## 相反的,尊重用户:考虑原有代码中的断行
- 不要支持任何选项
• 使其使用傻瓜化
一个格化标准搞定所有!
## gofmt的基本结构
• 源代码的处理
- 基本的格式化
• 附加:注释的处理
- 完善:代码和注释的对齐
但是,没有牛X的通用布局算法
• 相反的:基于节点的精细优化
## 处理源代码
- 使用`go/scanner`, `go/parser`及其相关的库
给每一个go文件生成一个抽象语法树
-

## 魔鬼就在细节中
- 在源代码中估计当前的位置.
- 比较当前的位置和注释的位置去决定下一个是什么.
- 词汇也包含了空格词汇 - 注释必须被合理的分布!
- 维持一个未被打印的空格缓冲区,在下一个词汇之前输出,然后分布注释
0 码力 |
34 页 |
9.97 MB
| 2 年前 3
-
获取程序并试用
2.4 简单的编译系统
2.5 常见的可移植编译系统
2.6 软件包名称和版本
2.7 设置 dh_make
2.8 初始化外来 Debian 软件包
3 修改源代码
3.1 设置 quilt
3.2 修复上游 Bug
3.3 文件安装
3.4 不同的库名称
4 debian 目录中的必需内容
4.1 control
4.2 copyright 此软件包提供了创建和维护 chroot 环境的工具。在它的 chroot 环境中编译 Debian 软件包可以检查编译依赖是否合适,并避免 FTBFS (Fails To Build From Source,源代码编译失败) 的 Bug。(参看 pbuilder(8) 和 pbuild(1))
• perl - Perl 是现今类 Unix 系统中使用最普遍的解释型脚本语言,它常被称作 Unix 的瑞士军刀。(参看 e/pkgs.html#nmu-qa-upload)
如果你有能力 “领养” 那个软件包,那就先下载 (使用 apt-get source packagename 或其他类似的工具) 并分析它的源代码。这篇文档不会详细说明如何领养软件包,不过幸运的是,领养软件包时,打包的起始工作已经有人完成,接手的工作应比从头开始轻松得多。尽管如此也请您不要轻敌,请继续阅读,下面给出的建议会对你很有帮助。
如
0 码力 |
63 页 |
493.28 KB
| 2 年前 3
-
“$” 或 “_” 符号开头;
● ECMAScript 变量分为全局变量和局部变量,且二者的定义方式、作用域及使用用法有明显区别。
下面,来看一个声明 ECMAScript 变量的代码示例(详见源代码 ch02 目录中
ch02-js-variable.html 文件)。
【代码 2-1】