zoukankan      html  css  js  c++  java
  • Startup routine

    When a C program is executed by the kernelby one of the exec functions, which we describe inSection 8.10.a special start-up routine is called before the main function is called. The executable program file specifies this routine as the starting address for the program; this is set up by the link editor when it is invoked by the C compiler. This start-up routine takes values from the kernel, the command-line arguments and the environmentand sets things up so that the main function is called as shown earlier.

    Because C has no concept of "plug in". So if you want to use, say, malloc() someone has to initialize the necessary data structures. The C programmers were lazy and didn't want to have to write code like this all the time:

    main() {
        initialize_malloc
    ();
        initialize_stdio
    ();
        initialize_
    ...();
        initialize_
    ...();
        initialize_
    ...();
        initialize_
    ...();
        initialize_
    ...();

        
    ... oh wow, can we start already? ...
    }

    So the C compiler figures out what needs to be done, generates the necessary code and sets up everything so you can start with your code right away.

  • 相关阅读:
    complete完成量——实例分析
    worker线程的创建与使用
    SDIO接口
    Linux中V4L2分析
    Linux系统调用分析
    ppm图片显示
    应用层与内核层错误打印函数总结
    高通Sensor驱动学习笔记
    linux中新增一个shell命令的方法
    RTC测试程序
  • 原文地址:https://www.cnblogs.com/beanmoon/p/2735582.html
Copyright © 2011-2022 走看看