作为我正在修改的 Cobol 程序的一部分,需要调用 stat 函数来检索文件的详细信息。这是在 Linux 7.6 中。但是当我运行程序时,我得到了错误
加载错误:文件'stat'错误代码:173,pc = C6,call = 1,seg = 0 173在驱动器/目录中找不到调用的程序文件
如果我从命令行对文件使用 stat ,它可以工作并检索详细信息。我不明白为什么 cobol 调用 stat 失败。
我在 /usr/lib 中的 .so 文件中检查了 stat。可以在 libc_nonshared.a 中找到 stat
还尝试在更改 stat 结构后将调用从 stat 更改为 stat64。stat64 也会抛出同样的错误。
有没有其他人遇到过这个问题。任何前进的指示都会有很大的帮助。
R0001.
DISPLAY 'Program STARTED'
ACCEPT WS-FILENAME2 FROM COMMAND-LINE
MOVE 00025 TO FCD-NAME-LENGTH
MOVE x'00' TO WS-FILENAME2(FCD-NAME-LENGTH:1)
DISPLAY 'FILENAME : ' WS-FILENAME2
CALL 'stat' USING WS-FILENAME2
ST-BUF
RETURNING WS-RETURN-CODE.
DISPLAY 'STAT CALL COMPLETE'
DISPLAY 'RETURN CODE: ' WS-RETURN-CODE
IF WS-RETURN-CODE NOT = ZERO
SET GNIO-RC-ERR-DATEXT TO TRUE
GO TO R0099
END-IF.
DISPLAY 'DEVICE VALUE : ' ST-DEV-LINUX
DISPLAY 'INODE VALUE : ' ST-INO64-LINUX
DISPLAY 'ATIME : ' ST-ATIME-LINUX
DISPLAY 'CTIME : ' ST-CTIME-LINUX
DISPLAY 'MTIME : ' ST-MTIME-LINUX
DISPLAY 'SIZE64 : ' ST-SIZE64-LINUX
DISPLAY 'BLOCKS64 : ' ST-BLOCKS64-LINUX.
R0099.
EXIT.
STOP RUN.
加载错误:文件'stat'错误代码:173,pc = C6,call = 1,seg = 0 173在驱动器/目录中找不到调用的程序文件