MDK中$Super$$main和$Sub$$main的含义

MDK中Super main和Sub main的含义

在主程序执行前插入一段新程序
int $Sub$$main(void)
{
    rt_hw_interrupt_disable();
    rtthread_startup();
    return 0;
}
在主程序运行前插入一段已有的程序
#if defined (__CC_ARM)
    $Super$$main(); /* for ARMCC. */
#elif defined(__ICCARM__) || defined(__GNUC__)
    main();
#endif

rtthread_startup() 是进入主程序前的系统初始化,因此这两段程序作用就是为了完成主程序运行前的系统初始化工作,其中int Sub main(void) 是在主程序main前插入一段新代码,这段代码可以用来初始化系统,当然也可以做其他事情;而Super main() 是在主程序main前插入一段已有的代码,比如以前写好的一段系统初始化的程序段 。
####以下附上官方说明文档
MDK拓展 <-----click

你可能感兴趣的:(学习笔记)