1

在 (g)libc 中,例如在localtime等时间和日期函数中,手册说:

返回值指向一个静态分配的字符串,随后调用任何日期和时间函数可能会覆盖该字符串。

据我所知,我的程序是单线程的。我使用asctimelocaltime等“MT-Unsafe”功能是否安全?

即使内存中只有 1 个 (g)libc 库实例?(即作为一个动态库。)

“静态”是指“我的程序静态”(为每个程序实例分配一个新的缓冲区实例......),“进程静态”(每个进程一个缓冲区实例 -这表明)还是静态的(libc )库(与库(-fragment)实例一样多的缓冲区实例)?

(我知道问题#8694365,但我的有点不同。)

4

1 回答 1

0

全局(在函数外部定义)和静态(在函数内部定义)为每个程序分配一次。否则,asctime将完全无法使用,因为您无法确定没有其他程序同时调用该确切函数。

于 2017-03-06T14:45:07.430 回答