gpt4 book ai didi

c - 在 C 中支持和使用 `fortran` 关键字

转载 作者:太空狗 更新时间:2023-10-29 17:12:10 27 4
gpt4 key购买 nike

在C标准中定义了一个可选支持的关键字fortran

C99 语言标准,J.5.9 节:

The fortran function specifier may be used in a function declaration to indicate that calls suitable for FORTRAN should be generated, or that a different representation for the external name is to be generated.

此部分在 C11 标准中保持不变。

这两个标准中的任何其他地方都没有提到这个关键字。本节引用第 6.7.4 节,函数说明符,它看起来就是这样,但唯一的是 inline,所涉及的语言对此进行了调整,以及如何使用 fortran 不明显。

关键字包含在“通用扩展”部分(!),因此不希望得到普遍支持,事实上,它不存在:我的 GCC 7.2.0 副本不存在认识它。

因为我好像不会用,
a) 如何在 C 代码中使用 fortran 关键字?
b) 哪些编译器支持/支持这个关键字?

最佳答案

DOS/Win16 的 BC4.5 编译器支持该关键字。它将函数的调用约定更改为 FORTRAN 的调用约定。使用看起来像这样:

extern fortran int FUNCTION(int *a, int *b, int *c);

(变量在 FORTRAN 中通过引用传递)。

您还可以像这样导出要从 FORTRAN 调用的函数:

fortran int FUNCTION2(int *a, int *b, int *c)
{
/* your code here */
}

我实际上用它来调用 QBX (BASIC),它使用几乎完全相同的调用约定。 pascal 关键字更适合这个目的;否则参数会倒过来。

关于c - 在 C 中支持和使用 `fortran` 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58089644/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com