请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:TM4C129CNCZAD 工具/软件:TI C/C++编译器
查看TI编译器对strtok (v 15.12 .3)的定义,其中有一条注释:
/*------------------ */* 我们为每个线程提供其自身的'Last_end'副本,以在 来自不同线程的strtok()调用重叠时保护线程不被*/*互相攻击。 *//* 然而,strtok()仍然不能重新进入。 在单个线程中,*/* 'last_end'指针保持一种状态,该状态传递 来自同一线程的连续*/*调用到strtok()。 */*------------------ */
在ARM处理器的情况下,TI编译器是否为每个任务/线程创建了'last_end'? 当我尝试在主程序中使用'__thread'创建线程局部变量时,编译器通常无法识别该关键字。 TI也不包括像'trtok_r'这样的线程安全实施。