sprintfスレッドセーフですか?
//Global log buffer
char logBuffer[20];
logStatus (char * status, int length)
{
snprintf(logBuffer, 19, status);
printf ("%s\n", logBuffer);
}
snprintfこの関数のスレッドセーフは、 /のスレッドセーフに完全に依存しますsprintf。
更新:
urの回答に感謝します。実際の内容がめちゃくちゃになってもかまいません。しかし、複数のスレッドが書き込もうとしているときに、sprintfが20バイトを超えるメモリ破損/バッファオーバーフローを引き起こさないことを確認したいlogBufferですか?