是否从C ++二进制文件中删除某些信息?

问题描述 投票:1回答:1

我是C ++的新手,试图在Linux上创建一个读取屏幕像素的程序。

我目前在没有任何优化标志的情况下编译项目,因为我不确定它对程序的作用,但那将是另一个问题,这是我的:

是否从C ++二进制文件中删除某些信息?

我发现了一个可能有用的manual page of strip程序。

由于我不知道在这种情况下条带化的含义,我不确定它是否像使用以下条件一样简单地条带化:

-s --strip-all    Remove all symbol and relocation information

但是,当然,我希望程序能够完美地运行,所以它无论如何干扰程序的执行?


关于条带化的动机:我想知道它是否安全,正如我已经说过的那样,我再说一遍:

在这种情况下,我真的不知道条带化的含义。

我认为回答者也可以覆盖这个。我来决定。

c++ debug-symbols
1个回答
6
投票

符号用于调试。

如果剥离它们,您的应用程序将继续解决问题;但如果出现问题,您可能会发现更难调试。

重定位信息用于动态库加载和地址空间布局随机化(谢谢@interjay);并从strip documentation

--remove-重定位= sectionpattern

...请注意,不恰当地使用此选项可能会使输出文件无法使用。 ...

© www.soinside.com 2019 - 2024. All rights reserved.