views:

410

answers:

3

I've heard that strip is a program that makes an executable weight less. I've tried to turn it on from my compiler (for python) but when it comes to run strip I just see "Strip is not recognized as a command or as a program" error from the Command Promp. So where do I get the executable of strip?

+1  A: 

strip is part of GNU's binutils.

R Samuel Klatchko
Yes but that's for linux, isn't it?
Gabriele Cirulli
+1  A: 

Strip removes information such as debugging symbols from object files. If you have it, it would likely be distributed with your C compiler (such as GCC).

Executables don't weigh anything, of course - it makes the file smaller.

silentbicycle
The executables pyInstaller (the compiler I'm using) makes 6 MB executables even out of the smallest program.. that's why I'd like to make it weight less. I've already tried UPX but didn't make it so light.
Gabriele Cirulli
@terabytest see link in my answer to the StripReloc site - using exe compressors can have some very annoying side effects.
fvu
+1  A: 

Unix/Linux style strip will remove symbol info that is used for debugging purposes. AFAIK under Windows a strip utility is specific to the compiler that was used. See here on SO for more info.

A related utility that might be useful is StripReloc, a utility that removes relocation info from executables and as such makes them smaller. Read the instructions though, it's not recommended to run it blindly against every .exe on your system...

fvu