作品简介
学习如何编写C和C++代码仅仅是个开始。如果你希望从事系统底层开发工作,或想深入理解操作系统、编译器及它们之间内在的关联,成为编程专家,那么就必须充分了解编译器生成的二进制文件(目标文件、静态库、动态库和可执行文件)的作用和结构。开源已经在许多方面从根本上改变了软件的原有面貌,越来越多的系统开始采用或集成开源代码,因此对每位开发人员来说,学习和理解这些底层技术也变得十分重要。
本书深入浅出地讲解了构建过程(编译、链接)中的细节,从多个角度展示了程序与库文件或代码的集成方法,提出了面向代码重用和系统集成的软件架构设计方法,同时展示了系统开发过程中疑难问题的解决方案。另外,本书也是一本C和C++二进制文件方面的软件工程指南,涵盖中级和专家级程序员所需的各方面内容和信息。
通过阅读本书,你将学到:
构建过程(编译和链接)与装载过程的内部原理。
静态库、动态库和可执行文件的内部工作机制。
面向代码重用和系统集成的软件架构设计方法。
编译、链接与运行时问题的排查技巧。
在Linux和Windows平台下利用二进制文件分析工具进行分析的方法。
米兰·斯特瓦诺维奇(Milan Stevanovic),资深软件顾问,在多个学科的工程领域有着丰富的经验。他主要从事Linux和Windows平台下的多媒体压缩格式及多媒体框架设计工作。他热衷于开源,是avxsynth开源项目的主要贡献者,对C和C++底层技术有着深入的研究。