ANSI C


ANSI C

ANSI C es un estándar publicado por el Instituto Nacional Estadounidense de Estándares (ANSI), para el lenguaje de programación C. Se recomienda a los desarrolladores de software en C que cumplan con los requisitos descritos en el documento para facilitar así la portabilidad del código.

Contenido

Historia de ANSI C e ISO C

El primer estándar que se publicó para C fue el de ANSI, si bien este estándar fue adoptado posteriormente por la International Organization for Standardization (ISO) y revisiones posteriores publicadas por ISO han sido adoptadas por ANSI. El término ANSI C es de uso más frecuente en la industria que ISO C. Un término más neutral es estándar C.

C89

En 1983, el American National Standards Institute creó un comité, el X3J11, para establecer una especificación estándar para C. Tras un largo y arduo proceso, el estándar se terminó en 1989 y se ratificó como ANSI X3.159-1989 "Programming Language C." A esta versión del estándar se le conoce como "ANSI C", o también "C89" (para distinguirla de la C99).

C90

En 1990, el estándar ANSI C (con algunas modificaciones menores) fue adoptado por la International Organization for Standardization bajo la denominación ISO/IEC 9899:1990. A esta versión se le conoce como C90, si bien "C89" y "C90" son, a efectos prácticos, el mismo lenguaje de programación.

C99

En marzo de 2000, ANSI adoptó el estándar ISO/IEC 9899:1999. A este estándar se le conoce como C99, y es el estándar actual para el lenguaje de programación C.

Compatibilidad con algunos compiladores importantes

ANSI C es compatible por casi todos los compiladores, dado que la gran parte del código escrito en C está basado en ANSI C. Se da por hecho que cualquier programa escrito sólo según el estándar C sin dependencia alguna del hardware se compila de forma correcta en cualquier plataforma con una implementación conforme con C. Si no se toman estas medidas, la mayoría de programas sólo podrán compilarse en una plataforma determinada o con un compilador en particular. Por ejemplo, para utilizar bibliotecas no estándar, tales como bibliotecas GUI, o para confiar en atributos específicos del compilador o de una plataforma, tales como el tamaño exacto de determinados tipos de datos y endianness de bytes.

Como detectar la compatibilidad

Para minimizar las diferencias entre C K&R y el estándar ANSI C, puede utilizarse __STDC__, el macro ("estándar c") para dividir el código entre secciones ANSI y K&R.

 #if __STDC__
 extern int getopt(int, char * const *, const char *);
 #else
 extern int getopt();
 #endif

Es preferible utilizar "#if __STDC__" como en el ejemplo superior en lugar de "#ifdef __STDC__" porque algunas implementaciones pueden otorgar a __STDC__ el valor cero para indicar que no son compatibles con ANSI. "#if" se encargará de sustituir por cero (0) todos aquellos identificadores que no pudieron ser sustituidos por un macro. De esta forma incluso si el macro __STDC__ no está definido "#if" funcionará.

En el ejemplo de arriba se ha utilizado un prototipo en la declaración de una función para implementaciones compatibles con ANSI, mientras que una declaración obsoleta -que no es ningún prototipo- se usa de forma diferente. Aunque son compatibles con C99 y C90, no se recomienda su uso.

Compiladores compatibles con ANSI C

Referencias

Enlaces externos

Referencias

  1. [1]

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • ANSI C — is the standard published by the American National Standards Institute (ANSI) for the C programming language. Software developers writing in C are encouraged to conform to the requirements in the document, as it encourages easily portable… …   Wikipedia

  • ANSI C — стандарт языка C, опубликованный Американским национальным институтом стандартов (ANSI). Следование этому стандарту помогает создавать легко портируемые программы. Содержание 1 История 1.1 C89 1.2 C90 …   Википедия

  • ANSI — 〈Abk. für engl.〉 American National Standards Institute (nationales amerikanisches Standardisierungsinstitut) * * * ANSI   [Abk. für American National Standards Institute, »amerikanisches Institut für nationale Normung«], das 1918 gegründete… …   Universal-Lexikon

  • ANSI — koduotė statusas T sritis informatika apibrėžtis Aštuonių bitų ↑koduotė, turinti JAV standarto statusą, sutampanti su Vakarų Europos šalyse vartojamo tarptautinio standarto ISO/IEC 8859 1 koduote. Pavadinta JAV nacionalinio standartų instituto… …   Enciklopedinis kompiuterijos žodynas

  • ANSI — [ˈænsi] noun ORGANIZATIONS MANUFACTURING American National Standards Institute; an organization that fixes rules on the design, quality, and safety of products: • The machines aren t meant for indoor use, and ANSI calls for a warning to be put in …   Financial and business terms

  • ANSI — ansí (del lat. «aeque sic» o «ad sic»; pop.) adv. Así. * * * ansí. (Del lat. aeque sic, o ad sic). adv. m. desus. así. U. c. rur. * * * El Instituto Nacional Estadounidense de Estándares (ANSI, por sus siglas en inglés: American National… …   Enciclopedia Universal

  • ANSI X.12 — ANSI ASC X12 steht für American National Standards Institute Accredited Standards Committee X12 und ist ein Datenübertragungsstandard im EDI Bereich, der hauptsächlich in USA verwendet wird. Die Gruppe wurde 1979 gegründet und verabschiedete 1982 …   Deutsch Wikipedia

  • ANSI — American National Standards Institute an organization in the US which sets the standards used for testing the quality and safety of electronic equipment, scientific equipment etc. It has also established a standard set of letters and numbers… …   Dictionary of contemporary English

  • ANSI — Abreviatura de la American National Standards Institute. Diccionario Mosby Medicina, Enfermería y Ciencias de la Salud, Ediciones Hancourt, S.A. 1999 …   Diccionario médico

  • ANSI C — ANSI Standard für C, besonderes Merkmal ist die Typangabe in der Parameterliste der Prozeduren und strengerer Typcheck …   Acronyms