我经常阅读 Smalltalk 中的“图像生成”过程。该过程似乎是指从 Smalltalk 内部从头开始创建图像。
但是还有一个“Strip”过程,它似乎涉及删除对象以部署运行时。
两者有什么区别?有没有支持图像生成的 Smalltalk?
我经常阅读 Smalltalk 中的“图像生成”过程。该过程似乎是指从 Smalltalk 内部从头开始创建图像。
但是还有一个“Strip”过程,它似乎涉及删除对象以部署运行时。
两者有什么区别?有没有支持图像生成的 Smalltalk?
术语图像生成通常是指从安装时附带的默认 vanilla 图像开始的过程,并将所有代码加载到其中,这是某些项目所必需的。这是在开发过程中定期完成的,以确保所有代码实际加载并在默认图像中正常工作。
剥离是(有时)在部署之前完成的过程,从包含项目所有必要代码的映像中,一些未使用的类和方法从映像中“剥离”出来。这样做是为了使部署的映像更小,或者更少依赖外部共享库,或者出于安全原因或许可原因。例如,剥离可能会删除与无头服务器的 UI 相关的许多类。或者它可能会删除编译器以防止用户更改代码。在任何情况下,剥离都不是精确的科学,因为很难确定什么可以去除,什么不能。
因此,通过图像生成,您最终得到的图像比您开始使用的图像大,而剥离您最终得到的图像更小。