我有一个C++/MFC应用程序在Windows上,动态链接时只有60kb,静态链接时超过3Mb。它通过电子邮件分发给客户,因此需要尽可能小。
它静态链接了MFC和MSCVRT库-因为这是一些问题的修复,我不想再接到更多关于丢失库的支持电话-特别是非常有帮助的“应用程序配置不正确”的电话!
有没有办法剥离Windows exe中所有额外的MFC内容,即dll但我不使用的内容?或者告诉它动态链接MSVCRT(必须存在),但静态链接MFC dll(可能不存在)?
编辑-谢谢,把它减少到1.6Mb就可以了!
它静态链接了MFC和MSCVRT库-因为这是一些问题的修复,我不想再接到更多关于丢失库的支持电话-特别是非常有帮助的“应用程序配置不正确”的电话!
有没有办法剥离Windows exe中所有额外的MFC内容,即dll但我不使用的内容?或者告诉它动态链接MSVCRT(必须存在),但静态链接MFC dll(可能不存在)?
编辑-谢谢,把它减少到1.6Mb就可以了!
dumpbin
命令需要传递"/exports"开关。例如:dumpbin /exports System32\msvcrt.dll >msvcrt.dll.dump
。 - Andrew Bainbridge