私は、Ubuntu 14.04でClang 3.7.0のMemory Sanitizerを使って遊んでいます。次のコードは完璧に動作します:Memory Sanitizer
clang++ -g -O1 -fsanitize=memory -fsanitize-memory-track-origins=2 -fomit-frame-pointer sanitize.cpp -o sanitize
付きでコンパイルされたとき
#include <cstdio>
int main() {
double ans;
printf("Hello World: %f\n", ans);
return 0;
}
私はエラーを期待していました。メモリサニタイザはansが初期化されていないという事実をキャッチしませんか?
ありがとうございました。
ansをchar *に変更してみてください! – Matt
@Matt:WTF? –
明らかに研究の欠如のために下落しました。 –