const int hello= 0x1111;
int main(){
}
我构建了一个非常简单的代码,并使用
编译它gcc t.c -g -o t.out
我可以使用objdump或nm或任何工具来确保const变量值吗?我总是找到变量"hello"的地址,但找不到值
任何人都可以帮助我,非常感谢
示例代码
const int hello = 0xdeadbeef;
int main()
{
return 0;
}
与 编译
gcc-4.9 -W -Wall -Wextra -pedantic -std=c11 fortests.c -o fortests
转储
内容objdump -xDSs fortests | less
(倾销的有点多,但没有成本,所以……)),搜索hello
0000000000400594 g O .rodata 0000000000000004 hello
这意味着它在.rodata
部分。我们明确地要求objdump
列出所有章节的内容,因此我们得到了0xdeadbeef
的值。
Contents of section .rodata:
400590 01000200 efbeadde ........
^^^^^^^^
here ||||||||
现在应该很清楚了,为什么你这么难找到它