fbpx
Wikipedia

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.

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 "C

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.

C11

"C11" es el nuevo estándar 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, por utilizar bibliotecas no estándar, tales como bibliotecas GUI, o por 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

  1. [1]

Enlaces externos

  • ISO C working group
  • (May 13, 1988), Third Public Review
  • Draft ANSI C Rationale (ANSI X3J11/88-151) (Nov 18, 1988)
  • Schreiner, Axel-Tobias (Hanser). Object oriented programming with ANSI-C. Hanser. ISBN 3-446-17426-5. 
  • . American National Standards Institute. Archivado desde el original el 25 de julio de 2011. Consultado el 18 de junio de 2010. 
  •   Datos: Q1931402

ansi, estándar, publicado, instituto, nacional, estadounidense, estándares, ansi, para, lenguaje, programación, recomienda, desarrolladores, software, cumplan, requisitos, descritos, documento, para, facilitar, así, portabilidad, código, Índice, historia, comp. ANSI C es un estandar publicado por el Instituto Nacional Estadounidense de Estandares ANSI para el lenguaje de programacion C Se recomienda a los desarrolladores de software en C que cumplan con los requisitos descritos en el documento para facilitar asi la portabilidad del codigo Indice 1 Historia de ANSI C e ISO C 1 1 C89 1 2 C90 1 3 C99 1 4 C11 2 Compatibilidad con algunos compiladores importantes 2 1 Como detectar la compatibilidad 3 Compiladores compatibles con ANSI C 4 Referencias 5 Enlaces externosHistoria de ANSI C e ISO C EditarEl primer estandar que se publico para C fue el de ANSI si bien este estandar fue adoptado posteriormente por la International Organization for Standardization ISO y revisiones posteriores publicadas por ISO han sido adoptadas por ANSI El termino ANSI C es de uso mas frecuente en la industria que ISO C Un termino mas neutral es estandar C C89 Editar En 1983 el American National Standards Institute creo un comite el X3J11 para establecer una especificacion estandar para C Tras un largo y arduo proceso el estandar se termino en 1989 y se ratifico como ANSI X3 159 1989 Programming Language C A esta version del estandar se le conoce como ANSI C o tambien C C90 Editar En 1990 el estandar ANSI C con algunas modificaciones menores fue adoptado por laInternational Organization for Standardization bajo la denominacion ISO IEC 9899 1990 A esta version se le conoce como C90 si bien C89 y C90 son a efectos practicos el mismo lenguaje de programacion C99 Editar En marzo de 2000 ANSI adopto el estandar ISO IEC 9899 1999 A este estandar se le conoce como C99 C11 Editar C11 es el nuevo estandar para el lenguaje de programacion C Compatibilidad con algunos compiladores importantes EditarANSI C es compatible por casi todos los compiladores dado que la gran parte del codigo escrito en C esta basado en ANSI C Se da por hecho que cualquier programa escrito solo segun el estandar C sin dependencia alguna del hardware se compila de forma correcta en cualquier plataforma con una implementacion conforme con C Si no se toman estas medidas la mayoria de programas solo podran compilarse en una plataforma determinada o con un compilador en particular Por ejemplo por utilizar bibliotecas no estandar tales como bibliotecas GUI o por confiar en atributos especificos del compilador o de una plataforma tales como el tamano exacto de determinados tipos de datos y endianness de bytes Como detectar la compatibilidad Editar Para minimizar las diferencias entre C K amp R y el estandar ANSI C puede utilizarse STDC el macro estandar c para dividir el codigo entre secciones ANSI y K amp 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 encargara 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 esta definido if funcionara En el ejemplo de arriba se ha utilizado un prototipo en la declaracion de una funcion para implementaciones compatibles con ANSI mientras que una declaracion obsoleta que no es ningun prototipo se usa de forma diferente Aunque son compatibles con C99 y C90 no se recomienda su uso Compiladores compatibles con ANSI C EditarGCC Microsoft Visual C C90 Algunas caracteristicas de C99 MSVC no es compatible con C99 1 ARM RealViewReferencias Editar 1 Enlaces externos EditarISO C working group Draft ANSI C Standard ANSI X3J11 88 090 May 13 1988 Third Public Review Draft ANSI C Rationale ANSI X3J11 88 151 Nov 18 1988 Schreiner Axel Tobias Hanser Object oriented programming with ANSI C Hanser ISBN 3 446 17426 5 ISO IEC 9899 1999 Programming Languages C American National Standards Institute Archivado desde el original el 25 de julio de 2011 Consultado el 18 de junio de 2010 ANSI Standards Action Vol 36 48 American National Standards Institute 2 de diciembre de 2005 Archivado desde el original el 4 de marzo de 2016 Esta obra contiene una traduccion derivada de ANSI C de la Wikipedia en ingles concretamente de esta version publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 3 0 Unported Datos Q1931402Obtenido de https es wikipedia org w index php title ANSI C amp oldid 129517629, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos