我用的是VC++6.0英文版,加Visual Assist X。以前用VC++6.0中文版的时候,警告信息没发现有什么异常之处。可是自从换了英文版以后,发现不对劲。比如说:一个变量如果未被使用,在以前的中文版中是会有警告提示的。现在英文版没有。我故意打了一个从来没有用过的变量,编译显示“0个错误,0个警告”。把警告级别调成“1”“3”“4”均没有用。我又怀疑是没有生效,保存文件后关闭VC6.0,再打开再编译,还是这样。还有一个更奇怪的问题,如果函数体在程序的后面定义,而程序前面就用到的话,必须在程序头部先对这个函数原型。如果不申明,以前的中文版会当作错误来处理。现在的英文版则很奇怪。前面不申明它也不报错。我试着把后面的函数体全部注释掉,这回它报错了,看来它还是用了最后的函数体的。但是,我记得在C语言的规范中,函数的的使用如果在函数的定义前面,要在最前面加个函数的原型吧?如果没有就会报错的吧?请问这是怎么回事?

解决方案 »

  1.   

    刚发完问我就知道答案了,我原先就怀疑是文件根本没有编译,因为编译器从文件时间上判断要不要重新编译。我加了一个变量,大概文件时间并没有更新,所以它根本就没有编译,所以当然没有警告信息。现在搜索到一篇文章,说只要“build all"就会强制重新编译,我试了一下,结果警告信息全有了。但是,某变量没有被涉及到的警告是有了。可是在函数头部没有原型,这个本来是错误,现在也当作警告来处理,这个正常吗?另外:如果我想每次按F7都强制编译,应该如何设置?
      

  2.   

    VC++6.0英文版+SP6 + Visual Assist X 10.6