在一个最简单的hello world程序中,printf是一个属于libc库的动态库函数。在编译时是不知道printf所在地址的,那么,在程序运行的时候是怎么找到printf所在地址并且跳到那个地址去执行的呢?本文将以printf为例,用GDB跟踪动态库函数的查找过程。汇编以MIPS为例, 以后有时间再分析ARM版本的。
在一个最简单的hello world程序中,printf是一个属于libc库的动态库函数。在编译时是不知道printf所在地址的,那么,在程序运行的时候是怎么找到printf所在地址并且跳到那个地址去执行的呢?本文将以printf为例,用GDB跟踪动态库函数的查找过程。汇编以MIPS为例, 以后有时间再分析ARM版本的。