删除什么命令的构建信息

时间:2011-03-28 12:02:41

标签: c++ gcc solaris

bash-2.05$ what xxx
ndmpd:
     Product:      yyy
     Release:
     Build number: unknown user-2011-87
     Build date:   Mon Mar 28 20:51:25 2011
     Build arch.:  solaris
     Build info:   unknown host:/xx/yyy/zzz/vv/www,DBG=1,OPT=-O

当我在可执行文件(xxx)上运行what命令时。我们不希望打印以下行。

Build info: unknown host:/export/home/murugs2/SI/dev,DBG=1,OPT=-O

我不知道程序员这么做了多少。我想删除它。怎么做? src文件(c ++代码)使用gcc编译。

3 个答案:

答案 0 :(得分:2)

这些字符串对应于目标文件中的SCCS版本信息模式。

您可以通过修补二进制文件来删除不需要的文件,但最简单的方法是将其从源代码中删除。通过查找“@(#)”标记,可以轻松找到它。

例如:

char sccsid[] = "@(#) Build info:   unknown host:/xx/yyy/zzz/vv/www,DBG=1,OPT=-O";

答案 1 :(得分:1)

这通常存储在ELF评论部分,可以查看,删除,添加或替换为/usr/ccs/bin/mcs命令的各种选项。

答案 2 :(得分:0)

假设已编译的二进制文件不使用它,则没有理由不能自己编辑字符串(通过将所有字符更改为-或其他内容)。虽然strip 可能会帮助您,但我不知道有什么实用程序可以帮助您。