I'm currently using gcc 4.4.6 to compile my C++ program. I noticed that function declarations are visible in the compiled code (with O2 flag) by running the code in Valgrind. That means the program can potentially be easily reverse engineered by running in a debugger.
Is there an easy way to hide them? I understand that it's not going to stop someone who's determined, I just don't want people to reverse engineer it in 5 minutes.