如何快速确定程序的入口

前言

在阅读代码时,知道程序的入口十分重要,这有助于快速理清程序的逻辑框架。我们找到程序入口后,顺着代码的执行顺序来阅读代码,可以比较容易的理解代码。这里说的代码是编译后成为可执行程序的代码,在linux中就是elf格式。被编译成可执行程序的代码才有程序入口的概念,如果代码被编译成动态库和静态库,那就没有什么入口可言,这种代码可以根据函数被调用的顺序来理解代码。

应用程序(C语言)

这个比较简单,在C语言中程序都是从main函数开始执行,所以程序的入口就是main()函数。int main(int argc, char argv[ ]);

汇编+C语言的程序

有些程序即包含C语言又包含汇编代码,比如uboot、kernel。这样的代码程序入口通过链接脚本指定,链接脚本中会有"ENTRY(xxxxx)",其中xxxxx代表的是程序中的标号,整个程序就算从标号处开始执行。

你可能感兴趣的:(Linux编程,c语言,gnu,开发语言)