如何快速确定程序的入口

前言

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

应用程序(C语言)

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

汇编+C语言的程序

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在起飞的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值