链接之可重定位目标文件

本文介绍了如何使用gcc编译生成可重定位目标文件,并利用readelf工具查看其详细信息。通过示例,解析了ELF头、节头表和符号表,揭示了目标文件的结构和内容。
摘要由CSDN通过智能技术生成

前言
(一).gcc 简单理解就是编译器的组合装
man gcc 可以查出非常详细的用法,以下只简单总结几个常用的:
gcc -c 只编译,不链接 生成可重定位的目标文件(.o file)
gcc -o 生成可执行目标文件(a.out.file)
gcc -g 调试代码时使用
gcc -O 优化处理时使用

(二).readelf 用于查看ELF (Executable and Linkable Format)可执行可链接格式文件信息
man readelf 同理可查详细用法,以下仅列举用到的几个:
readelf -S [-S| --section-headers|–sections] 显示节头信息
readelf -s [-s|–syms|–symbols] 显示符号的项
readelf -h 读取文件头

*(三)*代码

/* main.c */
/* $begin main */
int sum(int *a, int n);
int array[2] = {
   1, 2};
int main() 
{
   
    int val = sum(array
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值