我是C ++的新手,试图创建一个程序来读取Linux屏幕上的像素。
我目前不带任何优化标志的情况下编译项目,因为我不确定它会对程序产生什么影响,但这将是另一个问题,这是我的:
是否正在从C ++二进制保险箱中剥离某些信息?
我发现了一个可能有用的manual page of strip
程序。
由于我真的不知道在这种情况下的含义,因此我不确定是否像使用以下方法剥离所有内容一样简单:
-s --strip-all Remove all symbol and relocation information
但是,当然,我希望程序能够完美运行,所以它是否会干扰程序的执行?
关于剥离的动机:我想知道它是否安全,正如我已经说过的,我重复:
在这种情况下,我真的不知道剥离的含义。
我认为回答者也可以涵盖这一点。由我决定。
答案 0 :(得分:6)
符号用于调试。
如果您剥离它们,您的应用程序将继续解决问题;但是如果出现问题,您可能会发现很难调试。
重定位信息用于动态库加载和地址空间布局随机化(感谢@interjay);并从strip documentation
-remove-relocations = sectionpattern
...请注意,不当使用此选项可能会使输出文件不可用。 ...