首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

在C++中,如果你希望在编译时不创建调试符号,或者删除已经存在的调试符号,可以使用以下方法:

  1. 在编译时不创建调试符号

可以使用-g0选项来告诉编译器不生成调试符号。例如,在GCC或Clang中,可以使用以下命令:

代码语言:txt
复制
g++ -g0 -o my_program my_program.cpp

在Microsoft Visual Studio中,可以通过以下方式取消调试符号的生成:

在项目属性页面 -> C/C++ -> 常规 -> 调试信息格式,选择“无”。

  1. 删除已经存在的调试符号

如果你已经编译生成了调试符号,可以使用strip命令(在Linux和macOS中)或者PDBCopy工具(在Windows中)来删除调试符号。

在Linux和macOS中,可以使用以下命令:

代码语言:txt
复制
strip my_program

在Windows中,可以使用PDBCopy工具,具体步骤如下:

首先,打开Visual Studio的开发人员命令提示符。

然后,运行以下命令以创建一个新的PDB文件,其中不包含调试符号:

代码语言:txt
复制
pdbcopy my_program.pdb my_program_stripped.pdb -p

最后,使用以下命令将新的PDB文件与可执行文件关联:

代码语言:txt
复制
pdbcopy my_program_stripped.pdb my_program.pdb -w

这样,你就可以删除C++中的调试符号了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券