Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran IIFIX未知符号_Fortran_Gfortran - Fatal编程技术网

Fortran IIFIX未知符号

Fortran IIFIX未知符号,fortran,gfortran,Fortran,Gfortran,我有一个使用GFORTRAN编译的旧fortran代码 但当我尝试调用一个函数时,会出现以下错误: 未定义符号:iifix 我在代码中发现了此函数的3个实例,它们都在相同的上下文中: (some blah blah blah) INTEGER*2 IWAH(24) real*4 AH(9000) (more blah blah blah) iwah (3) = iifix (ah (3)) (and the blah blah blah continues...) 在搜索“IIF

我有一个使用GFORTRAN编译的旧fortran代码

但当我尝试调用一个函数时,会出现以下错误:

未定义符号:iifix

我在代码中发现了此函数的3个实例,它们都在相同的上下文中:

(some blah blah blah)
INTEGER*2  IWAH(24)
real*4     AH(9000)

(more blah blah blah)
iwah (3) = iifix (ah (3))

(and the blah blah blah continues...)
在搜索“IIFIX”时,我只找到了将实数转换为整数的“IFIX()。这对我来说是有意义的,因为变量格式适合函数的用途,但是。。。。我不知道。我不知道我在做什么

如何安全地替换此功能? 或如何修复此错误


我使用的是gfortran,代码以“.f90”开头,
integer*2
real*4
不可移植。我将忽略这个问题。您可能希望将
iifix(ah(3))
更改为
int(ah(3),2)

谢谢。我试试这个。关于
integer*2
real*4
可移植性。。。你让我担心。严重吗?不,通常不严重(除非您使用不同解释的编译器)
integer*2
通常(总是?)解释为2字节有符号整数,
real*4
是4字节浮点实体。有一些可移植的方法可以通过
所选的整数类
所选的实类
内在函数来获取适当的类型。@您是否有iifix的引用?固定类2也不可移植,所以整数*2没有多大关系,一个至少总是两个字节或完全失败。人们可以使用
kind(IWAH)
来代替。
iifix
似乎来自DEC Fortran。文档显示了一个
integer*2 ifix(real*4)
的接口。您可以通过搜索“iifix”fortran来查找文档。谷歌需要双引号来强制匹配
iifix