[读书笔记]----游戏引擎架构(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39630587/article/details/86737977

第二章 专业工具

2.1 版本控制

书中以Subversion和TortoiseSVN介绍了版本控制工具的相关概念,博主主要使用Git,故略看。

2.2 微软Visual Studio

由C++编写的程序由源文件所组成,这些文件包含程序的大量源代码。因为编译器每次只编译一个C++源文件至机器码,故源文件又称为翻译单元
头文件是一种特殊的源文件。头文件通常用于在多个翻译单元之间分享信息。编译器并不知悉头文件,实际情况是,预处理器预先把每个#include语句替换成相对应的头文件内容,然后再翻译单元送交编译器。也正是因为这种区别,才保证了编译器收到的都是翻译单元。
编译翻译单元后,输出的机器码会存储在对象文件(.obj文件)中。链接器把对象文件和程序库链接成可执行文件(.exe文件)。
动态链接库(DLL)是一种特殊的库,其行为像正常的静态链接库和可执行文件的混合体。操作系统能独立地载入DLL,而且DLL可包含启动及终止代码。

2.3 剖析工具

帕累托法则,即八二法则。计算机科学一般使用90-10规则,指任何程序的挂钟时间消耗在运行仅10%的代码上。换句话说,优化那10%的代码,带来的总体运行速度提升可以达到完全优化的90%。如何得知需优化的10%代码在哪里,就需要用到剖析器。

2.4 内存泄漏与损坏检测

内存泄漏:内存分配后永不释放,就会产生内存泄漏。泄漏会浪费内存,最终造成致命性的内存不足。
内存损坏:程序不慎把数据写进内存的错误位置,覆盖了该位置原来的重要数据,也同时未能把数据写到应该写的位置。
这是困扰C/C++程序员的两个重要问题,这都归咎于同一个语言特征----指针。

2.5 其他工具

区别工具
三路合并工具
十六进制编辑器

猜你喜欢

转载自blog.csdn.net/qq_39630587/article/details/86737977