FORTRAN与C++代码的集成查询 我试图把一些C++代码集成到FORTRAN中。 我对类型之间的等价性有疑问 是FORTRAN整数*1等价于C++ BoOL吗?如果不是,正确的C++等价类型是什么?< < /P>

FORTRAN与C++代码的集成查询 我试图把一些C++代码集成到FORTRAN中。 我对类型之间的等价性有疑问 是FORTRAN整数*1等价于C++ BoOL吗?如果不是,正确的C++等价类型是什么?< < /P>,c++,integration,fortran,C++,Integration,Fortran,提前非常感谢 引用自: 当内存不足时,INTEGER1类型应用于大型数组 只包含正、负和负变量的变量的溢价 在-129到127范围内的零整数值 所以,我认为它的C/C++等价物是一个有符号字符。布尔的等价物是Fortran的逻辑类型 编辑:M.S.B.的答案比我的好得多;你最好照她的建议去做 引用自: 当内存不足时,INTEGER1类型应用于大型数组 只包含正、负和负变量的变量的溢价 在-129到127范围内的零整数值 所以,我认为它的C/C++等价物是一个有符号字符。布尔的等价物是Fortra

提前非常感谢

引用自:

当内存不足时,INTEGER1类型应用于大型数组 只包含正、负和负变量的变量的溢价 在-129到127范围内的零整数值

所以,我认为它的C/C++等价物是一个有符号字符。布尔的等价物是Fortran的逻辑类型

编辑:M.S.B.的答案比我的好得多;你最好照她的建议去做

引用自:

当内存不足时,INTEGER1类型应用于大型数组 只包含正、负和负变量的变量的溢价 在-129到127范围内的零整数值

所以,我认为它的C/C++等价物是一个有符号字符。布尔的等价物是Fortran的逻辑类型


编辑:M.S.B.的答案比我的好得多;你最好照她的建议去做

最好使用Fortran ISO_C_绑定,它提供与C类型匹配的类型。这种方法是独立于编译器和平台的。我对C++的类型不太确定,但是如果你确信C等价的话,你应该是好的。ISO_C_绑定提供Fortran类型C_BOOL以匹配C类型。绑定提供了一长串等效类型。该列表出现的一个地方是gfortran手册的“内部模块”一章。另请参见混合语言编程一章。虽然我引用了gfortran手册,但作为Fortran 2003语言标准的一部分,这些特性并不是该编译器特有的


另外,一条评论建议使用int8\t。Fortran端与ISO C绑定的匹配类型是C_INT8_T。

最好使用Fortran ISO_C_绑定,它提供与C类型匹配的类型。这种方法是独立于编译器和平台的。我对C++的类型不太确定,但是如果你确信C等价的话,你应该是好的。ISO_C_绑定提供Fortran类型C_BOOL以匹配C类型。绑定提供了一长串等效类型。该列表出现的一个地方是gfortran手册的“内部模块”一章。另请参见混合语言编程一章。虽然我引用了gfortran手册,但作为Fortran 2003语言标准的一部分,这些特性并不是该编译器特有的


另外,一条评论建议使用int8\t。匹配的类型,在Fortran端与ISO C绑定,是C_INT8_T。

我会说等价物是INT8_T,因为可能存在具有多字节字符-s的系统。Fortran logical通常是4字节,但与另一种语言的类型匹配可能会有风险。我会说等价物是INT8_T,因为可能存在具有多字节字符-s的系统。Fortran logical通常是4字节,但可以是一种-与另一种语言的类型匹配有风险。