也许大家曾经注意过使用Keil C51来编译链接生成目标代码之后,在我们的主程序之前有些代码不是我们写的,它们从哪里来的? Keil C51的\C51\LIB目录下有STARTUP.A51和INIT.A51两个文件,前者保存的是启动代码,而后者保存的是初始化代码.这些代码都是在我们的C主程序之前运行的,在复位之后,立即运行的是STARTUP.之后STARTUP调用INIT来初始化程序的全局变量.最后INIT调用C程序的main函数. 这两个文件均为汇编写成,它们都包含在Keil C库中.若我们没…