Что случилось с ключевым словом "entry"? - PullRequest
35 голосов
/ 31 октября 2008

Находясь в моей белой книге на днях, я заметил в списке ключевых слов C. запись является одним из ключевых слов в этом списке.

Зарезервировано для будущего использования. Вспоминая мои дни в Фортране, была какая-то функция, которая использовала оператор entry для создания подписи второго аргумента или точки входа в функцию.

Это то, для чего запись изначально предназначалась для использования? или что-то совсем другое?

Что за история в ключевом слове entry ?

Ответы [ 4 ]

29 голосов
/ 31 октября 2008

Я понятия не имел, поэтому я погуглил, чтобы найти что-то об этом. Это то, что я нашел.

Во-первых, оно было включено в качестве зарезервированного ключевого слова.

Q : Какое ключевое слово было упомянуто в K & R1?
A : зарезервировано для разрешения функций с несколькими точками входа с разными именами, но оно было отозвано.

http://archives.devshed.com/forums/c-c-134/c-programming-faqs-371017.html.)

Он никогда не был стандартизирован; некоторые компиляторы использовали это, очень личным образом .

Это было позже объявлено устаревшим, я думаю.

16 голосов
/ 31 октября 2008

В FORTRAN «ENTRY» может объявить вторую точку входа в подпрограмму. Это была структурированная ночная программа, и, к счастью, С решил не принимать ее.

9 голосов
/ 31 октября 2008

Ключевое слово ввода было взято из PL / I и допускало несколько точек входа в функцию. Ключевое слово было реализовано некоторыми компиляторами, но никогда не было стандартизировано.

0 голосов
/ 23 мая 2017

В дополнение к принятому ответу в K & R1 упоминается «запись»:

2,3 Ключевые слова

Следующие идентификаторы зарезервированы для использования в качестве ключевых слов и не могут использоваться иначе

int extern else

регистр символов для

float typedef do

двойное статическое время

struct goto switch

случай возврата союза

длинный размер по умолчанию

запись короткого перерыва

без знака, продолжение

авто, если

и здесь:

Ключевое слово entry в настоящее время не реализовано ни одним компилятором, но зарезервировано для будущего использования. Некоторые реализации также оставляют за собой слова «Фортран» и "асм".

Тогда в Обосновании языка ANSI C (C89) это упоминается здесь:

3.1.1 Ключевое слово

[...]

Ключевые слова 'entry', 'fortran' и 'asm' не были включены, поскольку они либо никогда не использовались, либо не являются переносимыми. Использование «fortran» и «asm» в качестве ключевых слов отличается от общих расширений .

...