fortran在openvms中获取系统环境信息

fortran get system environment info in openvms

是否可以获取Fortran 90(OpenVMS操作系统)的系统环境信息?我使用编译器 VSI Fortran V8.3-104957-50Q83。 我不会在 Fortran

上实现下一个 C 代码
char *bind_addr= getenv("MYSQL_TEST_BINDADDR");

这个主题是一系列问题中的一个,这些问题似乎是一个移植工作 “C”应用程序到 OpenVMS 上的 Fortran。为了提供最佳答案,了解更多背景知识可能会有所帮助 - 为什么要进行这项工作,源平台是什么?

就是说,我们大多数人都知道的环境变量在 OpenVMS 上并不存在。 OpenVMS DCL SYMBOLS 和 User/group/system LOGICAL NAMES 可以并且将被支持库视为环境变量,例如可通过 C-RTL、Perl 和 Python.

要定义它们,需要 shell (DCL) 操作选择符号或逻辑名称作为载体。知道要移植的应用程序的机制可能只想调用本机 OpenVMS 函数来获取或设置值 (SYS$TRNLNM, LIB$GET_SYMBOL, LIB$SET_SYMBOL).

编写自己的 'my_getenv' 包装器来调用 C-RTL 提供的 getenv 可能是一个很好的解决方案,如果您可以使用 C 编译器。

另一种解决方法是逆向工程并调用实际的 C 支持函数(可能称为 DECC$GETENV - 未验证!)这可能需要先调用一些初始化(同样,未验证)

肯定有更多关于此的文章。 Google? 对于符号和逻辑的一些背景,文档和常见问题解答应该有所帮助。 例如 - http://www.hoffmanlabs.org/vmsfaq/vmsfaq_012.html

祝你好运, 海因.