C语言 关键字“entry”发生了什么?

nlejzf6q  于 2023-06-28  发布在  其他
关注(0)|答案(4)|浏览(519)

前几天浏览我白色时,我注意到C关键字列表中。entry是该列表中的关键字之一。
它被保留以供将来使用。回想我在Fortran的日子,有一个函数使用了一个entry语句来创建第二个参数签名,或函数的入口点。
这就是entry最初的用途吗?还是完全不同的东西

entry关键字的故事是什么?

osh3o9ms

osh3o9ms1#

我不知道,所以我在谷歌上搜索了一下。这是我发现的。
首先,它被作为保留关键字包含在内。

Q:K&R1中提到的词条关键字是什么?
A:它被保留以允许具有多个不同名称入口点的函数,但它已被撤回。

(From http://archives.devshed.com/forums/c-c-134/c-programming-faqs-371017.html .)
它从未被标准化;一些编译器使用它,in a very personal way
后来被宣布为过时了,我猜。

a11xaf1n

a11xaf1n2#

在FORTRAN中,“ENTRY”可以声明子例程的第二个入口点。这是一个结构化编程的噩梦,幸运的是C决定不采用它。

tp5buhyn

tp5buhyn3#

entry关键字来自PL/I,允许在一个函数中有多个入口点。该关键字由一些编译器实现,但从未标准化。

vyu0f0g1

vyu0f0g14#

为了补充已接受的答案,K&R1中提到了“条目”:

2.3关键词

以下标识符保留用作关键字,不得以其他方式使用
int extern else
char注册
float typedef do
双静时
后藤开关
联管节回油箱
长期违约
短间隔分录
无符号继续
自动如果
这里:
entry关键字当前未被任何编译器实现,而是保留供将来使用。一些实现还保留了单词“fortran”和“asm”。
然后在ANSI C语言(C89)的基本原理中提到:

3.1.1关键字

[...]
关键字entryfortranasm没有被包括在内,因为它们要么从未使用过,要么不可移植。使用fortranasm作为关键字被标记为 * 常见扩展名 *。

相关问题