首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用新的gfortran版本使用不同种类的参数

使用新的gfortran版本使用不同种类的参数
EN

Stack Overflow用户
提问于 2020-01-16 01:17:35
回答 1查看 568关注 0票数 7

我目前使用的是旧代码,它使用不同类型的整数作为参数来调用iand函数。下面是代码所包含内容的一个小示例:

代码语言:javascript
复制
program test
    integer*1 i
    integer j, k 

    i = 1
    j = 8 

    k = iand(i, j)
    print *, k
end program test

gfortran版本8和更早的版本具有使用不同类型的整数调用iand的扩展能力(例如,参见here),而在gfortran 9中删除了该选项(参见this site)。例如,使用gfortran 7.5.0:

代码语言:javascript
复制
gfortran-7 -o test test.f90 && ./test
       0

但是当使用gfortran 9.2.0编译时,我得到:

代码语言:javascript
复制
gfortran -o test test.f90
...
Error: Arguments of ‘iand’ have different kind type parameters at (1)

有没有新版本的gfortran可以让我按原样使用这段代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-16 15:21:22

不,没有。这个扩展被删除了,因为语义没有很好地指定,并且将代码固定为符合标准的代码很简单。

请参阅https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81509

在您的例子中,如下所示

代码语言:javascript
复制
k = iand(int(i, kind(j)), j)

希望这就是你想要的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59756525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档