程序员的自我修养

其实是一组目标文件的包,就是一些最常用的代码编译成目标文件后打包存放。

目标文件是什么?

目标文件就是源代码编译后但未进行链接的那些中间文件(Windows 的 .obj, Linux下的 .o),它跟可执行文件的内容与结构很相似。 Windows下统称为 PE-COFF文件可是,Linux下统称为ELF文件,Unix a.out格式。

静态链接库

他是把很多目标文件捆绑在一起形成一个文件,再加上一些索引,可以理解为一个包含有很多目标文件的文件包。

目标文件是什么样的

程序源代码被编译后主要分为两种段,程序指令和程序数据。代码段属于程序指令,而数据段和.bss段属于程序数据。

2019/6/10 posted in  读书摘录

软技能-代码之外的生存指南

如何产品确定产品是否有意义,以及是否存在受众用户。

  • 整理出一批能够为自己将要创建的产品进行调研的目标受众。
  • 从这些受众中挑选出一位用户,看看他参加了哪些集会(无论是线上的还是线下的)。加入他们的社区,倾听他们的问题。看看你能不能从中挑选出一两个潜在领域去开发产品,解决他们的痛点。
  • 排查是否有人已经解决了这个问题,你并不想进入一个竞争已经白热化的市场。

[美] John Z. Sonmez. 软技能:代码之外的生存指南 (Kindle 位置 1588-1591).

Read more   2019/3/13 posted in  读书摘录

《iOS和MacOS性能优化》Objective-C

Objective-C是为了解决Smalltalk的性能问题应运而生的,而奇怪的是它可以比所有的语言更快或者更慢。

Objc中混编的力量:

  • 高效第实现组件,大部分是C语言实现的。
  • 使用消息动态派发将这些组件连接起来。

Objective-C中出现了性能问题,几乎总是因为忽略了这种混编模式,将它作为纯粹的面向对象语言来使用。

Objective-C是一种非常糟糕的面相对象语言: 它比其他的纯粹的面相对象语言要慢,尤其是在创建对象时,提供功能不足,抗奔溃能力不足。但是做为混编语言,Objective-C是一个不错的选择,能够快速连接对象并可以灵活的动态消息。

2018/9/25 posted in  读书摘录