一个憎学家 发表于 2024-4-1 15:39:08

stop语句结束后是否有返回值?

接手了一个项目,需要调用的部分代码是fortran的;代码中许多错误报告的地方采用的是stop语句+在窗口输出错误原因(如在cmd中显示某某文件格式错误)。这样导致调用该fortran代码的中心端程序收不到反馈,请问stop语句后会有类似反馈的值吗?

胡文刚 发表于 2024-4-2 09:09:25

本帖最后由 胡文刚 于 2024-4-2 09:12 编辑

stop 后面加数字的方式,是会返回给操作系统的。
你说的中心端程序(我的理解就是父进程)应该可以直接接收到。(比如linux shell的 $? ,windows批处理的 errorlevel )。
stop 后面加字符串的方式,不会返回给操作系统。是会输出到标准输出(stdout,或者stderr我不确定)端口。
你说的中心端程序只能通过管道的方式获取。

一个憎学家 发表于 2024-4-2 10:00:41

胡文刚 发表于 2024-4-2 09:09
stop 后面加数字的方式,是会返回给操作系统的。
你说的中心端程序(我的理解就是父进程)应该可以直接接收 ...

非常感谢,顺便请问有在cmd下将f90文件编译成dll和lib的命令吗,那个代码居然在vs下无法正常编译,但是通过命令行中用ifort命令可以成功编译生成exe并运行。

胡文刚 发表于 2024-4-2 10:03:31

http://v.fcode.cn/video-library_dll.html
视频教程

胡文刚 发表于 2024-4-2 10:16:06

此外,遇到错误要去找原因。自己找不到的话,给出错误提示,让别人帮你看。
而不是遇到错误就换一条路。
页: [1]
查看完整版本: stop语句结束后是否有返回值?