函数入口
一般指函数入口地址, 一般的函数函数名就是入口地址, 举一个比较明显的例子:
void (*f)(int a); test = 0x08000000;
此时0x08000000就是函数的入口地址,再比如:
((void (*)(int))0x08000000)(param)
其中0x08000000也是函数的入口地址.
main函数入口:
在glibc源码中, main函数的入口为:
/* Run the program. */
result = main (argc, argv, __environ MAIN_AUXVEC_PARAM);
main函数就这样返回了.
内核入口:
比如一般嵌入式中使用uboot进行内核运行环境初始化后, 会跳转到内核的入口:
kernel_entry(0, machid, r2);
其中kernel_entry就是内核的入口.
内核的C程序入口:
进入该函数前,先进行一些必要的初始化, 然后无返回的跳转执行:
b start_kernel
kernel中用户进程的入口:
在kernel目录init/main.c中, run_init_process(execute_command)
执行第一个用户进程.
在一次review中, 发现自己对于函数入口的概念模糊不清, 总结下以加深理解.