extern unsigned long far __SP_INIT[];这句语句是什么意思?为什么在KEIL里会报错?应该怎么修改
时间: 2024-04-07 09:30:43 浏览: 137
keil经常出现错误
这句语句定义了一个名为`__SP_INIT`的unsigned long类型的全局变量,类型前的`far`关键字表示该变量是位于远程内存地址空间中的,即其地址需要使用扩展指针(segment:offset)来访问。
在KEIL中报错可能是由于使用了不支持far关键字的编译器或者编译器设置不正确导致的。如果要在KEIL中使用far关键字,需要确保使用的编译器支持far关键字,并且在编译器设置中启用了对far关键字的支持。
如果编译器不支持far关键字,可以将其替换为其他的关键字或者使用指针来实现类似的功能。例如,可以使用`__far`关键字来定义远程指针类型,并使用指针来访问远程内存空间中的变量。具体实现方式可以参考编译器的文档或者使用编译器提供的支持远程内存访问的API函数。
阅读全文