删除C++ - STL/Boost调试符号(...或不创建它们)

Wei*_*nde 5 c++ debugging stl

Linux/Gcc/LD - 工具链.

我想从库和可执行文件中删除STL/Boost调试符号,原因有两个:

  1. 对于大型程序,链接变得非常慢
  2. 调试跳转到stl/boost代码,这很烦人

对于1.增量链接将是一个很大的改进,但AFAIK ld不支持增量链接.在1999 dr.dobb的期刊中有一个解决方法"伪增量链接"(不再在网络中,但在archive.org(想法是将所有内容放在动态库中,并将所有更新的目标文件放在第二个中)首先加载)但这不是一般的解决方案.

对于2.有一个脚本在这里,但一)它并没有为我工作(它没有删除符号),B),它是非常缓慢的,因为它工作在管道的末端,而这将是更有效的去除先前的符号.

显然,其他调试符号应保持不变.

hat*_*cat -1

您使用哪个编译器?例如,如果我正确理解你的问题,那么这在 MS Visual Studio 中是一件小事。