我在Ubuntu 14.04上使用Clang 3.7.0的Memory Sanitizer進行遊戲。下面的代碼不會很好地工作:內存消毒劑
#include <cstdio>
int main() {
double ans;
printf("Hello World: %f\n", ans);
return 0;
}
時
clang++ -g -O1 -fsanitize=memory -fsanitize-memory-track-origins=2 -fomit-frame-pointer sanitize.cpp -o sanitize
我期待一個錯誤編譯。 Memory Sanitizer是否記住了ans未初始化的事實?
感謝您的幫助。
嘗試將ans改爲char *! – Matt
@Matt:WTF? –
由於明顯缺乏任何研究而降低。 –