【发布时间】:2012-04-02 02:29:01
【问题描述】:
我正在用 C++ 编写一个安全应用程序。当我运行strings app.name 时,我发现结果上出现了很多方法名称。
有没有办法隐藏这些方法名? (我可以手动更改这些函数名称,但我只是想知道是否可以向编译器添加一些标志以轻松隐藏这些名称)。
【问题讨论】:
-
确保从最终的可执行文件中去除调试符号。在 Linux 上,使用
strip命令,或将-s传递给 GCC。 -
那个,并且在没有 RTTI 的情况下编译。当然,如果你使用异常处理,那是行不通的。
-
@SimonRichter:RTTI 会有什么问题?那只会提供类的名称,还是那里有更多信息?
-
作为字符串,只有类名。