gpt4 book ai didi

linux - 如何从 Sprite 中提取枚举信息?

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:58 29 4
gpt4 key购买 nike

想从 elf 文件中获取枚举信息。无法从 .rodata 或 .data 或 .bss 部分获取信息。

1、 g++ -o t test.cc

2、objdump -s -j .rodata tobjdump -s -j .data t不显示枚举成员数据。

gcc版本:4.7.2和linux centos6

namespace test {
namespace error {
enum {
kUnkown = -1,
kSuccess = 0,
kInvalidParams = 1,
kDBInitFailed = 2,
kTimeout = 3,
kAttributeInitFailed = 4,
kPageCacheInitFailed = 5,
kUpdate = 9001,
};
} // namespace error
}

int main()
{
return 0;
}

最佳答案

want to get enum info from elf file. cannot get info from .rodata or .data or .bss section.

enum 是类型声明,而不是对象。它在内存中不存在。

(这同样适用于 structunion,或大多数 classes。)

如果您在启用调试符号 (-g) 的情况下编译程序,可能会有一些调试信息引用了 enum。但是,该数据不会在运行时使用。

关于linux - 如何从 Sprite 中提取枚举信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55448058/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com