我有一个相当简单的C++项目,它使用boost :: regex库.我得到的输出是3.5Mb.据我所知,我静态链接所有boost .CPP文件,包括所有函数/方法.也许有可能以某种方式指示我的链接器只使用boost中的必要元素,而不是所有元素?谢谢.
$ c++ —version
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)
Run Code Online (Sandbox Code Playgroud)
这size就是说:
$ size a.out
__TEXT __DATA __OBJC others dec hex
1556480 69632 0 4296504912 4298131024 100304650
Run Code Online (Sandbox Code Playgroud)
我试过了strip:
$ ls -al
... 3946688 May 21 13:20 a.out
$ strip a.out
$ ls -al
... 3847248 May 21 13:20 a.out
Run Code Online (Sandbox Code Playgroud)
PS.这就是我的代码组织方式(也许这是问题的主要原因):
// file MyClass.h
class MyClass {
void f();
};
#include "MyClassImpl.h"
// file MyClassImpl.h
void MyClass::f() {
// implementation...
}
// file main.cpp …Run Code Online (Sandbox Code Playgroud)