前言
(一).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