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

标签 fortran openvms system-information

是否可以获取Fortran 90(OpenVMS操作系统)的系统环境信息?我使用编译器VSI Fortran V8.3-104957-50Q83。 我不会意识到 Fortran 上的下一个 C 代码

char *bind_addr= getenv("MYSQL_TEST_BINDADDR");

最佳答案

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

也就是说,我们大多数人都知道的环境变量在 OpenVMS 上并不存在。 OpenVMS DCL 符号和用户/组/系统逻辑名称可以并且将被支持库(例如通过 C-RTL、Perl 和 Python 提供的库)视为环境变量。

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

如果您有权访问 C 编译器,编写您自己的“my_getenv”包装器来调用 C-RTL 提供的 getenv 可能是一个很好的解决方案。

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

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

祝你好运, 海因。

关于fortran在openvms中获取系统环境信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64237214/

相关文章:

python-3.x - 尽管编译成功,f2py 仍未正确导入

fortran - 错误 : Old-style type declaration REAL*16 not supported

AWK - 带有计数变量的脚本中的错误或 AWK 实现/版本中的错误?

c - 在C中生成一个随机数组

java - 如何使用 Java 在 Windows 上获取卷 ID?

ruby - 如何使用 Ruby 获取系统信息?

arrays - 正确使用 Fortran 流写入和读取整数数组

fortran - 在 Fortran 中获取直到 10000 的质数?

c++ - 在 C++ 中获取 JPEG 的尺寸

ruby - 如何在 Ruby 中获取 linux 系统信息