1、当独立编译模块经bin2c转换为数组以后(如sysinit.bin转换为sysinit_data[]后这里的sysinit_data[]符号会在别的模块中引用,那在链接的时候,它是作为code来分配空间还是作为data来分配空间的呢?
2、在Bios.ld中 : .data=0x03fe0000 而在sysinit.ld中: .text=0x03fe0000那么在将sysinit代码和数据拷贝到0x03fe0000是不是会覆盖掉最终bios.c中的全局变量?
1. 作为DATA来分配空间的.相当于定义了一个全局的数组;2. 不会覆盖掉的;
在c运行环境初始化的时候,不是要初始化全局变量吗?而全局变量是在0x03fe0000的地方
也就是说从0x03fe0000开始有,sysinit_data[],boisapi_data[],tftp_data[]等
后来又把sysinit_data[] copy到0x03fe000处不是把原来的全局变量区改动了吗?