【求助】不可重入函数的问题
我的程序需要调用一个dll的函数, 我程序的两个工作线程都需要在循环里调用这个函数。
今天运行程序的时候,发现这个函数老是错误。
检查了一下,才知道这个函数是不可重入函数。
这样有解决的办法吗?
[解决办法]
恕我无知 什么是不可重入
[解决办法]
线程函数里面就不能调用不可重入函数
[解决办法]
多线程不可以使用同一个不可重入函数, 道理太简单了, 可以以strtok的实现方式记忆, 其实很大一部分函数都是不可重入的, 但它们通常都提供_r的可重入版本, 或者允许用户传入独立的缓冲区返回函数结果, 不了解的话还是先看书再写多线程程序吧.