如何在C ++中隐藏方法声明?

时间:2013-03-04 23:31:43

标签: c++

我目前正在使用gcc 4.4.6来编译我的C ++程序。我注意到通过在Valgrind中运行代码,在编译的代码(带有O2标志)中可以看到函数声明。这意味着可以通过在调试器中运行来轻松地对程序进行逆向工程。

有一种简单的方法可以隐藏它们吗?我知道这不会阻止一个坚定的人,我只是不希望人们在5分钟内对其进行逆向工程。

1 个答案:

答案 0 :(得分:4)

  1. man strip - GNU Binutils

  2. gcc有一个选项-fvisibility=hidden,除了导出的内容之外,它不会生成任何符号。

  3. 使用-O3,但要小心。