---
title: -std=legacy语法标准
description: "编译报错："
url: https://www.hikunpeng.com/document/detail/zh/kunpenggrf/codeprtr/kunpengtaishanporting_12_0109.html
sourcePath: /source/zh/kunpenggrf/codeprtr/kunpengtaishanporting_12_0109.html
indexId: 43ed09e4169d78315d2e2d1ba8bcac46e4352ea9af8bf9994938ec751c74b5c965
---
# -std=legacy语法标准

#### 问题描述

编译报错：

```
Error: Actual argument contains too few elements for dummy argument ‘wgrd’ (1/4) at (1)
/home/wubingcheng/wrf/comGSIv3.7_EnKFv1.3/src/setuplight.f90:822:47:
822 |         call get_ij(mm1,dlat-one,dlon,light_ij,my_head%wij(1))
subroutine get_ij(mm1,obs_lat,obs_lon,jgrd,wgrd,jjlat,jjlon)
```


#### 问题原因

GFortran支持的标准为F95、F2003、F2008、F2018、GNU或Legacy，默认-std选项为GNU，遵循最新标准，由于最新的标准对于Fortran规范要求较严格，传入参数数量和接口定义的不一致，在新规范下出现报错。


#### 处理步骤

参数补充对齐，修改工作量较大，可以尝试使用-std=legacy编译选项，表示遵循旧版本F77的语法规范，可解决报错。
