
技术:单片机
z642010820
这个作者很懒,什么都没留下…
展开
-
sdcc 中的函数指针
单片机中普通函数是通过全局可覆盖数据区传递参数的, 而可重入函数是通过堆栈传参的。 函数指针指向的函数必须定义为可重入函数, 因为调用函数指针的时候编译器是通过堆栈传参的。原创 2010-01-25 09:50:00 · 1092 阅读 · 0 评论 -
51可重入函数的陷阱
函数一旦定义为可重入, 参数就会通过堆栈传递。 不要忘记的是, 局部变量也会在堆栈上分配。 更不能忽略的是, 51的堆栈空间大小是在2^8以内的, 所以坚决不能在可重入函数的局部变量中分配过大的缓冲区。 有一次我 犯了这个错误造成了堆栈溢出, 单片机的反应是reboot.原创 2010-01-25 10:00:00 · 1530 阅读 · 0 评论