May I ask what is the reason why you need to reduce the size of executable? Also, what kind of executable? There sure will be different approach for simple console utility and for full-blown GUI app...
You can take a look at places where your code came from using this tool. (You will need to enable map file generation in VS for that). May be this will give you new optimization ideas.
May I ask what is the reason why you need to reduce the size of executable? Also, what kind of executable? There sure will be different approach for simple console utility and for full-blown GUI app...
Best regards,
Honza
Yeah. I'm aware of UPX.
The reason is: I just like to deliver the best features in the smallest size possible. (btw... U++ is already great for that compared to other toolkits)
This tool removes the .reloc section that is absolutely useless in EXEs (useful only in DLLs).
If ASLR is enabled either directly by Windows or by a third party tool you can get into trouble.
It seems I'd need to link against ASLR for it to be an issue.
IMHO, ASLR is a part of a loader, which is a part of Windows (this is not the case in Unix). You do not link against ASLR. Loader just loads your app at random address. You need to do something to your app to tell loader that you want to load it at random address (most likely this is a flag), but there are third party tools, and nobody knows what will happen after another Windows update.