1
#include <ctime>
#include <iostream>
#include <cstring>
int main()
{
struct tm tm ;
//memset(&tm, 0, sizeof(struct tm));
strptime("1 Jan 2000 13:00:00", "%d %b %Y %H:%M:%S", &tm);
time_t t =mktime(&tm);
std::cout << ctime(&t);
return 0;
}
g ++ -Wuninitialized -O2 test.cpp不會警告tm未被初始化。 Valgrind會一直執行,直到memset行被添加。在Linux上的strptime手冊頁說它應該被初始化,我看到一個更復雜的程序的隨機日期,直到我初始化它。在這些情況下是否有GCC標誌會產生警告?GCC -Wuninitialized不警告未初始化的結構
什麼版本的GCC? – 2010-11-14 19:57:18
gcc版本4.4.5(Debian 4.4.5-6) – Sard 2010-11-14 21:12:22