如何提升gcc的编译告警等级
小弟刚刚接触linux,还请大家多多帮助;
我在下面这段代码中gcc编译器会报一个告警而不是错误:
void test(){
char content[100];
CORBA::String_var cor_str=CORBA::String_dup("test");
sprintf(content,"%s",cor_str); <-----报告警的这一行
cout<<content<<endl;
}
警告:不能通过'...'传递有非简单旧数据类型'class OB::StrForStruct'的对象,调用会在运行时中止
警告:格式'%s'需要类型'char*',但实参3的类型为'int'
报告警的原因也很清楚,格式化函数sprintf的参数cor_str不是一个char*格式字符串而是一个corba字符串对象,该程序会在运行时候在sprintf该行core掉,我想既然编译器已经察觉出“调用会在运行时中止”这样的比较严重的问题,应该停止继续编译,不该继续生成可执行文件,所以我希望能通过什么方法(设置gcc等)对该类型告警(gcc编译参数为-Wformat)提升告警等级到错误等级,遇到就当成编译错误处理,但我查阅了gcc文档发现好像只提供一个-Werror 编译参数 是对所有的告警都提升到错误处理的,但是这个也不是我需要的,请问各位大侠,如何有针对性的提升一类编译告警的告警等级呢?