XL Fortran 在 Bluegene 上设置权限

XL Fortran set permissions on Bluegene

我在 IBM Bluegene/Q 系统上工作,我想使用 Fortran 创建一个文件夹。由于 Bluegene 不允许通常的 "call system" 我不得不求助于它们的内在功能:

CALL mkdir ("/home/luc/testfiles[=10=]", %val(755))

如下所示:https://wiki.scinet.utoronto.ca/wiki/images/2/23/Bgqfcompiler.pdf

这样就创建了文件夹,但是权限全错了。如何在 IBM Bluegene/Q 系统上创建具有适当权限的文件夹?他们所有的文档都很糟糕,我找不到一个有效的例子。

mkdir 是在 C 库中实现的 POSIX 函数。您可以在此处找到它的文档:http://pubs.opengroup.org/onlinepubs/9699919799/functions/mkdir.html. You can find the values for the mode / permissions argument of mkdir here: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html#tag_13_62。请注意,这些值是八进制的。

与此相关的是您为第二个参数提供的值是错误的。您传递的是十进制 755,即八进制 1363。手册中的示例传递了十进制 448,即八进制 0700。如果您想要八进制 0755,则应传递十进制 493。(或者您可以传递 %val(o'0755') )