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