剥离二进制/精灵程序有什么意义?

我只是想知道,如果剥离一个程序文件有更多的好处,而不仅仅是节省磁盘空间。

    绝大多数情况下,主要的好处就是节省磁盘空间。 次要的,更可疑的好处是,它也使二进制更难以反汇编或反向工程。 它也可能会减less一些内存占用,尽pipe在很多情况下它可以忽略不计。

    最大的不利之处在于,如果遇到问题,debugging将变得更加困难。

    在CPU速度与内存/磁盘数量相同的现代系统上,剥离二进制文件对性能的影响很小。 这实际上是关于debugging,“清洁”和个人喜好。 有些人喜欢总是使用剥离的二进制文件进行生产或“运送”软件。 有些人喜欢总是把符号包括在内,“以防万一”。

    就个人而言,我更喜欢包含符号。 在这个一年中,我有一些真正令人沮丧的情况,商业应用程序出现了故障(或者崩溃),而且由于二进制文件被删除,我无法查明问题出在哪里。 至less在其中一些情况下,供应商最终发送了一个非剥离版本来运行,直到它再次崩溃,所以我们可以得到更多有用的debugging信息。 如果他们在开始时提供了非剥离版本,我们可以更快地解决问题,减less停机时间。

    因为所有的函数和符号名都不见了,所以你只剩下了function1或varB。

    您可以使用debugging符号编译软件进行testing,然后将其除去以进行部署。 如果你的debugging符号暴露你不愿意公开的东西,这可能对你有用