fortran的COMMON数据初始化的一个问题
fortran与C++比起来调试难度更大,尤其是维护20年前的代码。
在给common公共区的数组A(n)赋值初始化的时候,出现类似如下错误:0x772d15ee 处有未经处理的异常:
0xC0000005: 写入位置 0x003f57a5
时发生访问冲突。经排查,发现是编译器设置的问题,Fortran->Data->Initialize Local Saved
Scalars to Zero
,yes或者no会影响common的初始化。原来代码A为integer*1,一个字节长度,估计是编译器初始化时越界了。