关于C51库函数strstr()的是否为可重入函数

2020-01-12 17:29发布

目前有个程序,使用的N76E003,在主循环和串口中断中都会调用到strstr函数,因为串口波特率较高,如果在主函数调用strstr的时候屏蔽中断的话,串口有可能丢数据。
因为库函数看不到源代码,所以想请教一下,有没人知道该函数是否为可重入函数?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
anjiyifan
1楼-- · 2020-01-14 00:21
icoyool 发表于 2019-5-31 16:32
51为什么要处理这么难的问题?有意义吗

和单片机没关系。
C语言基础而已,也不是什么难的东西。
gamethink
2楼-- · 2020-01-14 05:53
如果怕出问题,可以复制一个一样功能的函数体这样就可以避开重入
flash3g
3楼-- · 2020-01-14 07:34
 精彩回答 2  元偷偷看……
anjiyifan
4楼-- · 2020-01-14 12:38
flash3g 发表于 2019-5-31 18:10
那把中断调用strstr()的处理放到大循环里执行

白天查到是非可重入函数后已经修改了程序结构了。
flash3g
5楼-- · 2020-01-14 17:02
anjiyifan 发表于 2019-5-31 19:22
白天查到是非可重入函数后已经修改了程序结构了。

C标准库 这个也是坑啊
supertankhzt
6楼-- · 2020-01-14 18:30
自己写一个strstr函数,给中断调用,一般来说中断里如果一定要调用函数的话,给他一个专用函数比较好。

一周热门 更多>