什么C/C++标准定义就不细说了,
在linux中,我们可以随便写一个.c文件,
gcc -o test test.c
readelf -a test
然后可以看到test下的entry point address 0x80482e0
这个地址是.text段的地址,是_start()的地址。
_start()调用__libc_start_main(), __libc_start_main()主要完成一些程序的初始化,其中调用
int result = main (argc, argv, __environ MAIN_AUXVEC_PARAM);//类unix系统下main函数的调用方式都是这种
exit(result);
glibc的源码有兴趣的童鞋可以读一下,里面有详细解释