http://blog.youkuaiyun.com/yaochunnian/article/details/7258446
下表是 UNIX环境高级编程列出 POSIX.1规范中的非线程安全的函数:
| asctime | ecvt | gethostent | getutxline | putc_unlocked |
|---|---|---|---|---|
| basename | encrypt | getlogin | gmtime | putchar_unlocked |
| catgets | endgrent | getnetbyaddr | hcreate | putenv |
| crypt | endpwent | getnetbyname | hdestroy | pututxline |
| ctime | endutxent | getopt | hsearch | rand |
| dbm_clearerr | fcvt | getprotobyname | inet_ntoa | readdir |
| dbm_close | ftw | getprotobynumber | L64a | setenv |
| dbm_delete | getcvt | getprotobynumber | lgamma | setgrent |
| dbm_error | getc_unlocked | getprotoent | lgammaf | setkey |
| dbm_fetch | getchar_unlocked | getpwent | lgammal | setpwent |
| dbm_firstkey | getdate | getpwnam | localeconv | setutxent |
| dbm_nextkey | getenv | getpwuid | lrand48 | strerror |
| dbm_open | getgrent | getservbyname | mrand48 | strtok |
| dbm_store | getgrgid | getservbyport | nftw | ttyname |
| dirname | getgrnam | getservent | nl_langinfo | unsetenv |
| dlerror | gethostbyaddr | getutxent | ptsname | wcstombs |
| drand48 | gethostbyname | getutxid | ptsname | ectomb |
除此之外:
inet_ntoa ----> inet_ntop
asctime(), ctime(), gmtime() and localtime()返回指针指向静态数据,因此不是线程安全的。
线程安全版本为time_r(), ctime_r(), gmtime_r() and localtime_r()are specified by SUSv2, and available since libc 5.2.5. 最好使用使用gettimeofday。
gethostbyname, gethostbyaddr是不可重入函数;已经被getaddrinfo, getnameinfo替代。
打印时间,使用strftime。
4862

被折叠的 条评论
为什么被折叠?



