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



是否可以在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和用户/组/系统LOGICAL NAMES,它们可以并且将被支持库视为环境变量,例如通过C-RTL、Perl和Python提供的库。

要定义它们,需要一个shell(DCL(操作,选择符号或逻辑名称作为车辆。知道要移植的应用程序可能只想调用本机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

祝你好运,海因。

最新更新