6

我经常阅读 Smalltalk 中的“图像生成”过程。该过程似乎是指从 Smalltalk 内部从头开始创建图像。

但是还有一个“Strip”过程,它似乎涉及删除对象以部署运行时。

两者有什么区别?有没有支持图像生成的 Smalltalk?

4

1 回答 1

1

术语图像生成通常是指从安装时附带的默认 vanilla 图像开始的过程,并将所有代码加载到其中,这是某些项目所必需的。这是在开发过程中定期完成的,以确保所有代码实际加载并在默认图像中正常工作。

剥离是(有时)在部署之前完成的过程,从包含项目所有必要代码的映像中,一些未使用的类和方法从映像中“剥离”出来。这样做是为了使部署的映像更小,或者更少依赖外部共享库,或者出于安全原因或许可原因。例如,剥离可能会删除与无头服务器的 UI 相关的许多类。或者它可能会删除编译器以防止用户更改代码。在任何情况下,剥离都不是精确的科学,因为很难确定什么可以去除,什么不能。

因此,通过图像生成,您最终得到的图像比您开始使用的图像大,而剥离您最终得到的图像更小。

于 2013-05-20T08:04:44.633 回答