main()函数由谁调用

(1)编译链接时的引导代码。 操作系统的应用程序其实在mian执行前也需要运行一段引导代码才可以执行main,我们写应用程序的时候不需要考虑引导代码。编译链接时(准确说是链接)由链接器中事先准备好的引导代码给链接进去和我们写的应用程序一起构成最终的可执行程序。

(2)运行时的加载器。加载器是操作系统中的程序,当我们去执行一个程序时(譬如./a.out,代码中就用exec族函数运行)加载器负责将这个程序加载到内存中去执行这个程序。

(3)程序在编译链接时使用链接器,运行时使用加载器,这两个东西对程序运行原理非常重要。

猜你喜欢

转载自blog.csdn.net/weixin_40405692/article/details/82821193
今日推荐