C++ 如何以printf错误的数据格式启用警告消息

C++ 如何以printf错误的数据格式启用警告消息,c++,C++,当我的调试消息之一打印带有%s的bool变量时,我的程序崩溃。 比如说, bool b_test=false; printf("b_test=%s\n",b_test); 我想知道是否有任何警告信息来检查错误的数据格式。 在搜索web一段时间后,我发现-Wall和-Wformat可以打印一些警告消息,但对于带有%s的print bool没有任何警告消息 是否有gcc设置来打印错误数据格式的警告消息 非常感谢 更新 谢谢你的回复 我发现-Wformat和-Wall都可以启用警告消息。问题是我

当我的调试消息之一打印带有%s的bool变量时,我的程序崩溃。 比如说,

bool b_test=false;  
printf("b_test=%s\n",b_test);
我想知道是否有任何警告信息来检查错误的数据格式。 在搜索web一段时间后,我发现-Wall和-Wformat可以打印一些警告消息,但对于带有%s的print bool没有任何警告消息

是否有gcc设置来打印错误数据格式的警告消息

非常感谢

更新

谢谢你的回复

我发现-Wformat和-Wall都可以启用警告消息。问题是我的同事还在Makefile中添加了另一种-Wno格式

我使用的是gcc 4.3.3


再次感谢。

GCC和Clang都应该对此提出警告。警告选项是Wformat,它是由Wall启用的。我想WALL会打印警告,但AbSOBOL不是C,而是C++。你是在编写C,并用GCC编译,BooL是一些Type还是宏?还是C++与G++?因为我所有的本地g++版本都能理解它,但是如果你真的在C中工作,那么bool扩展到的任何东西都会有所不同。@n.m.bool是在包含bool.h的情况下定义的。我的观点是,现在说这不是有效的C代码还为时过早。这就像说大小不是C。