《后台开发核心技术与应用实践》第四章 读书笔记 编译

《后台开发核心技术与应用实践》第四章 读书笔记 编译

1.编译与链接

在这里插入图片描述

预处理

预处理使.cpp文件预处理成.i文件

g++ -E helloworld.cpp -o helloworld.i

预处理是处理以"#"开头的预编译指令

比如展开宏定义,处理所有的条件预编译指令#if #elif

处理#include指令,过滤注释内容,添加行号和文件名标识

编译

编译就是进行词法分析、语法分析、语义分析、中间代码生成、目标代码生成优化

g++ -S helloworld.i -o helloworld.s

在这里插入图片描述

链接

组装源代码的各个模块,包含了地址空间分配,符号决议和重定位等步骤
在这里插入图片描述

静态链接:编译时绑定,以lib开头,接着是静态库名,以.a为后缀名

动态链接:运行时绑定,以lib开头,以.so为文件扩展名

动态库与静态库的特点:

  • 动态链接库有利于进程间的资源共享。
  • 用静态库,如果库发生变化,使用库的程序要重新编译,用动态库,只要动态库提供给程序的接口没变,只要重新用新生成的动态库替换原来的就可以。
  • 由于静态库在编译的时候,就将库函数装载到程序中去了,动态库函数必须在运行时才被装载,程序在执行的时候,用静态库速度更快。

2.makefile编写

makefile中会定义一系规定,指定哪些文件需要先编译,哪些文件需要后编译。

在这里插入图片描述

第一行是目标文件,第二行依赖,第三行也是依赖,当用户键入make clean时,会删除*.o和helloworld文件

在这里插入图片描述

在这里插入图片描述

3.目标文件

ELF是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储的标准文件格式。

ELF文件类型:

  • 可重定位的目标文件
  • 可执行的目标文件
  • 可被共享的目标文件
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
后台开发核心技术应用实践 作者:徐晓鑫 著 出版日期:2016年08月06日 封面宣传语:腾讯云平台技术总监黄世飞、Facebook对外支付项目主程张子兴、微软软件工程师彭可竞、阿里巴巴资深算法工程师周乐、百度大数据高级测试工程师畅晋联袂推荐;围绕后台开发需要掌握的核心技术,从多个方面、多个角度进行了阐述,覆盖了该领域的几乎所有内容;充分抓住本质并结合实践,文字通俗易懂,可操作性强 出版书名:后台开发核心技术应用实践 作者:徐晓鑫 著 封底文字 专家评价 后台开发是一个“历史悠久”的领域,同时也是一个沉淀深厚,高技术价值的领域。本书清晰、严谨、务实的风格显示出晓鑫对该领域知识的深刻理解。 ——张子兴 Facebook对外支付项目主程,美国加州MenloPark 每一位从事后台开发的专业人士都需要一本后台开发指南。对每一位想要认真从事该领域工作的人来说,本书是一本绝对必读的书籍。 ——彭可竞 微软软件工程师,美国华盛顿州Redmond 本书是作者多年后台开发、架构和研究的精华。书中用通俗的文字、详尽的示例代码,结合实际工作中的案例,讲述了后台开发方方面面的知识,内容丰富。对于从事后台开发的人员,这是一本很好的由浅入深的学习书籍。 ——周乐 阿里巴巴资深算法工程师,北京望京 使用C++语言进行后台开发有一定的门槛,本书可以很好地帮助你跨过这个“门槛”。 ——畅晋 百度大数据高级测试工程师,北京上地 前勒口 互联网网民日益剧增,各种应用层出不穷,各项技术更新不断。单是游戏行业,近几年就经历了从端游、页游到手游的巨大变迁,客户端更新迭代之快,始料未及。而后台开发中使用到的技术,却变化不是很大。让服务性能更高、处理能力更强、安全性更好,是后台开发工程师永恒的主题。 后台开发中用到的技术,深而广,需要读的“大部头”很多,光是Richard Stevens的APUE,UNP,TCP/IP详解就够读个半年以上。读者通过阅读本书,可以从实践出发,快速由浅入深地进入后台开发领域。在读完本书,有了实践的经验之后,再去阅读大师们的著作,会更有体会,更懂得如何欣赏。 读书的最高境界莫过于“把书读薄,把书读厚”。本书文字通俗易懂,让你更快地“读薄”,同时又涉及较多的核心知识点,顺着这些知识点,读着读着也发觉“读厚”了。 后勒口 徐晓鑫,腾讯资深软件研发工程师,先后在腾讯游戏之洛克王国、QQ会员、QQ秀等项目工作,精通后台开发各种技术,实战经验丰富。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值