我正在查看 android shell reboot命令的源代码。
int reboot_main(int argc, char *argv[])
- 我不清楚的是,如果这是一个独立的二进制文件,谁会调用 reboot_main() ?
- 在标准的 glibc 链接二进制文件中,我期待找到一个“main()”作为程序的入口点。
我在这里错过了什么,有人可以帮助我了解发生了什么吗?
谢谢,vj
我正在查看 android shell reboot命令的源代码。
int reboot_main(int argc, char *argv[])
我在这里错过了什么,有人可以帮助我了解发生了什么吗?
谢谢,vj
它们都被编译成一个整体的可执行文件,main
在https://android.googlesource.com/platform/system/core.git/+/android-4.2.2_r1/toolbox/toolbox.c
然后,根据调用的实际程序名称(通常argv[0]
)调用适当的方法。
这些命令是构建的一部分,通过
#define TOOL(name) int name##_main(int, char**);
toolbox.c
文件中使用的宏Android.mk
来生成tools.h
.