Android reboot命令 - 谁调用reboot_main()?

时间:2013-11-07 02:28:13

标签: android c linker embedded-linux static-linking

我正在查看android shell reboot 命令的来源。

int reboot_main(int argc, char *argv[])
  • 我不清楚的是,这是一个独立的二进制文件,谁调用reboot_main()?
  • 在标准的glibc链接二进制文件中,我希望找到一个“main()”作为程序的入口点。

我在这里缺少什么,有人可以帮我理解发生了什么吗?

谢谢, VJ

1 个答案:

答案 0 :(得分:1)

它们全部编译成一个整体可执行文件,https://android.googlesource.com/platform/system/core.git/+/android-4.2.2_r1/toolbox/toolbox.c

main

然后,根据调用的实际程序名称(通常为argv[0]),它调用适当的方法。

这些命令是通过

构建的一部分
#define TOOL(name) int name##_main(int, char**);
<{1}}中的

宏在toolbox.c文件中用于生成Android.mk