C ++ VS2010 compiles my code into almost readable code

I tried to β€œhack” my application using a decompiler. I could clearly see function names and many argument names.

Therefore, I think that I am somehow compiling debugging information with my code, although it is set to Release.

In addition, the compiler tells me things like

mylib.lib (vq.obj): warning LNK4099: PDB "vc100.pdb" was not found with "mylib.lib (vq.obj)" or in "M: \ myapp \ Release \ vc100.pdb"; The object will be linked as if debugging information was not available.

Is this a hint that VC is trying to include some debugging information?

In addition, my solution consists of 3 projects, as a result of which 3 dlls are created in compiled form.

When I β€œcrack” one of the 3 DLLs, I can see the function names of the other two DLLs in it. I do not know why.

Can someone tell me how I can make the dll less debugged and how to β€œuse” only the DLL function in the dll instead of all the functions in the 1 dll. I hope I explain it well.

+4
source share
1 answer

Is this a hint that VC is trying to include some debugging information?

Yes, this means that you are linking your DLL with debugging information. You can disable it by setting Linker -> Debugging -> Generate Debug Info to No. Note. However, this option will not (approximately) affect your DLL file, but will switch the generation of the pdb file.

There are two types of objects whose names will be explicitly stored in a DLL file:

  • Interface Functions
  • Names of polymorphic classes

You cannot get rid of the first. Anyone who uses the dll should know what the interface function is called.

You can, however, disable the second. Polymorphic class names are only required if RTTI is enabled. This is how you do dynamic_cast and typeid . If you do not need these functions, you can disable RTTI by going to C / C ++ β†’ Language β†’ Turn on runtime information and set it to No. See Remove C ++ class names from dinary dll file .

All names of other objects will be deleted by the compiler.

+5
source

All Articles