如何在OpenVMS Fortran中获取命令行参数



我需要在fortran 90标准中实现c代码,并在下一个问题上停止。如何获取和使用命令行参数。我找到

GET_COMMAND_ARGUMENT

getarg

但它在带有fortran 90编译器的openvms系统中不起作用。在Fortran中还有另一种获取命令行参数的方法?

C 中的示例

int main(int argc, char **argv)
{
if (argc > 1)
....
}

示例(其不起作用">

ILINK-W-NUDFSYMS,2个未定义符号:
%ILINK-I-UDFSYM,GETARG
%ILINK-I-UDSYM,IARGC
%ILINK-W-USEUNDEF,未定义符号IARGC参考)

PROGRAM bulk1
INTEGER :: i
CHARACTER(len=32) :: arg
DO i = 1, iargc()
CALL getarg(i, arg)
WRITE (*,*) arg
END DO
END PROGRAM

"如何访问程序命令行"在任何与Fortran相关的常见问题解答中都可能占据重要位置。不幸的是,同样常见的答案是";这取决于"。在Fortran 95之前(包括Fortran 95(,还没有标准的命令行访问方法。虽然F2003标准最终解决了这一要求,但可以合理地假设F2003编译器在一段时间内不会被普遍使用。与此同时,这使得Fortran社区在未来几年内面临着各种不一致的解决方案。

您可以使用此库http://www.winteracter.com/f2kcli/index.htm

如果您拥有这两个编译器的许可证,您可能需要考虑创建一个C主程序,调用Fortran服务函数。

获取命令行的一个相对简单的方法是调用OpenVMS特定的函数LIB$get_FOREIGN,尽管不需要进一步解析为"单词">

退房时间:http://computer-programming-forum.com/49-fortran/e047637fc421ace6.htm

祝你好运。海因。

最新更新