keil 中用函数指针调用函数的参数限制

NSIC中,通过函数指针调用的函数的参数的个数没有限制,但是KeilC对此有限制,至多3个参数。因为,KeilC编译时,无法通过函数指针找到该函数的局部数据段,也就无法通过局部数据段传递参数,只能通过寄存器传递参数,所以参数个数是有限制的。碰到这个问题时解决办法是:① 将该函数改为reentarnt类型。② 修改源程序,将多个参数放在一个结构体中传递。

 
 交叉汇编
移植的时候可能还需要编写少量的51汇编程序。汇编和C互相调用应该遵守KeilC的参数传递和返回值传递规则。为了使汇编程序也能够进行overlay分析,汇编的书写要有一定的格式。另外需要强调的一点是:被C程序调用的汇编函数可以使用所有的寄存器,而不用担心会修改C程序中使用的寄存器。
上一篇:阿里巴巴高新能数据源com.alibaba.druid.pool.DruidDataSource的jar包配置


下一篇:Tera Term——访问linux的ssh工具