Каковы основные различия между ANSI C и K & R C? - PullRequest
42 голосов
/ 22 августа 2008

В статье Википедии о ANSI C говорится:

Одной из целей процесса стандартизации ANSI C было создание надмножества K & R C (первого опубликованного стандарта), включающего многие неофициальные функции, которые впоследствии были представлены. Тем не менее, комитет по стандартам также включил несколько новых функций, таких как прототипы функций (заимствованные из языка программирования C ++) и более мощный препроцессор. Синтаксис для объявлений параметров также был изменен, чтобы отразить стиль C ++.

Это заставляет меня думать, что есть различия. Однако я не видел сравнения между K & R C и ANSI C. Есть ли такой документ? Если нет, в чем основные отличия?

РЕДАКТИРОВАТЬ: Я считаю, что в книге K & R написано "ANSI C" на обложке. По крайней мере, я верю версии, которую я имею дома. Так что, может быть, больше нет разницы?

Ответы [ 11 ]

0 голосов
/ 06 января 2017

Несмотря на все претензии к контрари, K & R была и вполне способна предоставить любой материал от низкого уровня до аппаратного обеспечения. Теперь проблема состоит в том, чтобы найти компилятор (предпочтительно бесплатный), который может дать чистую компиляцию на пару миллионов строк K & R C без необходимости возиться с ним. И работает на чем-то вроде многоядерного процессора AMD.

Насколько я вижу, посмотрев на источник серии GCC 4.xx, нет простого хака, который вернул бы функциональность -traditional и -cpp-Traditional lag к их предыдущему рабочему состоянию без больших усилий, чем я. Я предпочитаю вставлять. И проще построить компилятор pre-ansi K & R с нуля.

...