Fortran Coder

查看: 1478|回复: 9

[求助] 现在的fortran语言标准是否支持获得操作系统名称

[复制链接]

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
发表于 2019-12-22 13:46:03 | 显示全部楼层 |阅读模式
似乎iso_fortran_env内建库已经要求支持获得编译器信息,但是不能获得操作系统的信息吗?
另外,文件夹的处理依然也是没有吗?只能依靠像ifort编译器添加的额外库才能实现?
很希望能有像python的os.walk和os.getcwd,os.chdir,os.path.abspath这一类的函数功能啊……
回复

使用道具 举报

578

帖子

1

主题

0

精华

大宗师

F 币
2878 元
贡献
1818 点
发表于 2019-12-22 20:12:03 | 显示全部楼层
只能靠预处理,ivf可以这么用
!DIR$ if defined (_WIN32)

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-23 01:48:51 | 显示全部楼层
li913 发表于 2019-12-22 20:12
只能靠预处理,ivf可以这么用
!DIR$ if defined (_WIN32)

非常感谢,能给的详细一点嘛,比如整段代码应该怎么写
另外如果同时测试是不是Linux的话,应该怎么写

578

帖子

1

主题

0

精华

大宗师

F 币
2878 元
贡献
1818 点
发表于 2019-12-23 11:13:05 | 显示全部楼层
!DIR$ if defined (_WIN32)
character(*),parameter::OS='win'
!DIR$ else
character(*),parameter:: os='linux'
!DIR$ end if

578

帖子

1

主题

0

精华

大宗师

F 币
2878 元
贡献
1818 点
发表于 2019-12-23 11:21:36 | 显示全部楼层

145

帖子

2

主题

0

精华

大师

F 币
1061 元
贡献
554 点

规矩勋章

发表于 2019-12-23 17:09:34 | 显示全部楼层
IVF中可以用system执行系统命令
USE IFPORT
I = SYSTEM("dir > file.lst")

1569

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1631 元
贡献
1054 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2019-12-23 21:33:11 | 显示全部楼层
Fortran是一个完全平台无关的语言。所以它可能跑在一个无操作系统的平台上,甚至这个平台没有文件夹的概念。
因此,Fortran的语法是很纯粹(Pure)的。就像C语言和C++语言一样。

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-24 01:21:18 | 显示全部楼层
fcode 发表于 2019-12-23 21:33
Fortran是一个完全平台无关的语言。所以它可能跑在一个无操作系统的平台上,甚至这个平台没有文件夹的概念 ...

谢谢回答
有点明白你的意思了,低级语言本从根本上说就不应该存在我提的那些要求
准确说,这些要求根本不可能写在语言规范上,这是不符合低级语言特性的
如果要实现,只能用别的,不通用的方式,比如用编译器附加的API等

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-24 01:28:40 | 显示全部楼层
li913 发表于 2019-12-23 11:21
http://fcode.cn/guide-109-1.html预处理

非常感谢

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-24 01:29:24 | 显示全部楼层
necrohan 发表于 2019-12-23 17:09
IVF中可以用system执行系统命令
USE IFPORT
I = SYSTEM("dir > file.lst")

谢谢,执行系统命令似乎语言标准里倒也有
不过ivf里确实有很多便利的os的api
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-1-27 11:48

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表