符号表被优化的情况下dl_info的dli_saddr返回的值还是正确的吗
时间: 2024-04-18 09:27:35 浏览: 172
cad快捷键命令表-最实用的-1.pdf
如果符号表被优化或被剥离,Dl_info函数的dli_saddr返回的值可能不是期望的函数地址。在这种情况下,dli_saddr返回的地址可能是一个经过优化或重定位处理的地址,而不是源代码中函数的实际地址。
编译器在进行优化时,可能会对代码进行各种优化操作,例如内联函数、函数指针替代等,这可能会导致符号表中记录的地址与实际代码的地址不一致。同样,如果符号表被剥离,那么符号表中就不会包含函数的信息,因此dli_saddr将无法提供正确的地址。
因此,如果符号表被优化或被剥离,我们不能依赖dli_saddr返回的值来获取准确的函数地址。在这种情况下,我们可能需要使用其他方法来获取函数的地址,例如通过调试信息或其他反汇编工具进行分析。
阅读全文