关于VMA和LMA
小弟初入linux
有一问题想请教一下:
(1) .data section对应的VMA地址是0x08050000, 该section内包含了3个32位全局变量, i、j和k, 分别为1,2,3.
(2) .text section内包含由"printf( "j=%d ", j );"程序片段产生的代码.
连接时指定.data section的VMA为0x08050000, 产生的printf指令是将地址为0x08050004处的4字节内容作为一个整数打印出来。
如果.data section的LMA为0x08050000,显然结果是j=2
如果.data section的LMA为0x08050004,显然结果是j=1
最后J的两个结果是不是写反了,如果没写反,why?