日期:2014-05-16  浏览次数:20511 次

gdb运行时结合汇编堆栈分析

一、从源代码文件到可执行文件

        从C文件到可执行文件,一般来说需要两步,先将每个C文件编译成.o文件,再把多个.o文件和链接库一起链接成可执行文件。但具体来说,其实是分为四步,下面以example.c为例进行说明。
复制代码
#define MYINT int

short addend1 = 1;
static int addend2 = 2;
const static long addend3 = 3;

static MYINT g(MYINT x)
{
    return x + addend1;
}

static const MYINT f(MYINT x)
{
    return g(x + addend2);
}

MYINT main(void)
{
    return f(8) + addend3;
}
复制代码