网站更新后 为什么不显示,现在流行什么做网站,网站开发毕业设计报告,400建筑网官网文章目录 **1. 符号表(Symbol Table)****例外保留的符号****2. 调试信息(Debug Info)****3. 其他可能移除的内容****4. 不同 `strip` 模式的区别****5. 如何验证 `strip` 的效果?****(1) 检查符号表****(2) 检查调试信息****(3) 动态库的特殊检查****6. 注意事项****总结*… 文章目录 **1. 符号表(Symbol Table)****例外保留的符号** **2. 调试信息(Debug Info)****3. 其他可能移除的内容****4. 不同 `strip` 模式的区别****5. 如何验证 `strip` 的效果?****(1) 检查符号表****(2) 检查调试信息****(3) 动态库的特殊检查** **6. 注意事项****总结** strip 命令主要用于移除二进制文件(如可执行文件、动态库
.so、静态库
.a)中的调试信息和符号表,以减少文件体积并提高安全性。以下是它移除的具体内容: 1. 符号表(Symbol Table)
strip 默认会移除以下符号表段:
.symtab 存储函数名、全局变量名等静态符号信息,供调试和静态分析使用(如 nm 命令读取的内容)。 影响:移除后无法通过 nm 查看函数名,但程序仍可运行。 .strtab 存储符号名称的字符串表(.symtab 的辅助段)。局部符号(非外部可见符号) 如编译时生成的临时变量名。关于什么是段可以参看前面elf介绍的文章。