假设您有以下代码:
INTEGER :: num_samples
num_samples = 10000
num_samples = 1
显然,第一个num_samples = 10000
什么都不做,它的存在可能表示程序员错误(例如,程序员意图注释掉以下行,反之亦然)。是否有任何Fortran编译器会警告这样的写后写错误,如果有的话,哪些选项会打开警告?
(我也很感兴趣,如果有C ++编译器有这样的警告,如果有Java IDE提供这样的警告,但现在我正专注于Fortran方面。)
答案 0 :(得分:0)
从我的观点来看,这是一个奇怪的问题。您提到的写入后写入情况是逻辑错误。编译器主要检测语法错误。在某些情况下,逻辑错误可能会将自身显示为语法错误,但并非总是如此。
逻辑错误意味着您在实现算法时出错。你只有在测试时才能注意到它。或者您也可以尝试静态程序分析(如提到的steabert)。
如果有C ++编译器有这样的警告,我也很感兴趣,如果有Java IDE提供这样的警告,但是现在我专注于Fortran方面。
看一下函数式编程语言。由于不变性,写后写的情况不可能发生。 ; - )