.data和.text段合并
生活随笔
收集整理的這篇文章主要介紹了
.data和.text段合并
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
a.c
#include <stdio.h>
extern int share;
int main(void)
{
int a=100;
swap(&a,&share);
}
b.c
int share=1;
void swap(int *a,int *b)
{
*a^=*b^=*a^=*b;
}
編譯
#gcc -c a.c b.c
?
鏈接
#ld a.o b.o -e main -o ab
?
查看
#objdump -h? 文件
VMA即虛擬地址
size即大小
file off即偏移量
?
.text段被分配到地址0x08048094 大小0x62字節
.data段被分配到地址0x080490f8 大小0x4字節
0x27+0x3A=0x61
0+4=4
?
size查看大小
?
參考《程序員的自我修養—鏈接、裝載與庫》--第四章 靜態鏈接
總結
以上是生活随笔為你收集整理的.data和.text段合并的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: objdump与readelf
- 下一篇: C语言数据类型所占空间大小