Usuari:Rmonleoniglesias/proves
ANSI C és un Estàndard tècnic publicat pel Institut Nacional Nord-americà d'Estàndards (ANSI), per al llenguatge de programació C. Es recomana als desarrolladores de software en C que compleixin amb els requisits descrits en el document per facilitar així la portabilitat del codi.
Història d'ANSI C i ISO C
modificaEl primer estàndard que es va publicar per VV va ser el d'ANSI, si bé aquest estàndard va ser adoptat posteriorment per 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
modificaEn 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 i revisions posteriors publicades per ISO han estat adoptades per ANSI. El terme ANSI C és d'ús més freqüent en la indústria que ISO C. Un terme més neutral és 'estàndard C' .
C90
modificaEl 1990, l'estàndard ANSI C (amb algunes modificacions menors) va ser adoptat per la International Organization for Standardization sota la denominació ISO / IEC 9899: 1990. A aquesta versió se li coneix com C90, si bé "C89" i "C90" són, a efectes pràctics, el mateix llenguatge de programació.
C99
modificaAl març de 2000, ANSI va adoptar l'estàndard ISO / IEC 9899: 1999. A aquest estàndard se li coneix com C99.
C11
modifica"C11"és el nou estàndard per al llenguatge de programació C.
Compatibilitat amb alguns compiladors importants
modificaANSI C és compatible per gairebé tots els compilador és, atès que la gran part del codi escrit en C està basat en ANSI C. Es dóna per fet que qualsevol programa escrit només segons l'estàndard C sense dependència alguna de hardware se compilación|compila de una forma correcta en qualsevol plataforma amb una implementació d'acord amb C. Si no es prenen aquestes mesures, la majoria de programes només podran compilar-se en una plataforma determinada o amb un compilador en particular. Per exemple, per utilitzar biblioteques no estàndard, com ara biblioteques Graphical user interfície | GUI, o per confiar en atributs específics del compilador o d'una plataforma, com ara la mida exacte de determinats tipus de dades i endianness de bytes.
Com detectar la compatibilitat
modificaPer minimitzar les diferències entre C K&R
i l'estàndard ANSI C, pot utilitzarse
__STDC__
, el macro ("estándar c") per dividir el codi entre seccions ANSI y K&R.
#if __STDC__
extern int getopt(int, char * const *, const char *);
#else
extern int getopt();
#endif
És preferible utilitzar "#if __STDC__
" com en l'exemple superior en lloc de "#ifdef __STDC__
" perquè algunes implementacions poden atorgar a __STDC__
el valor zero per indicar que no són compatibles amb ANSI. "#if
"
s'encarregarà de substituir per zero (0
) tots aquells identificadors que no van poder ser substituïts per un macro. D'aquesta manera encara que el macro __STDC__ no està definit "#if
" funcionará.
En l'exemple de dalt s'ha utilitzat un prototip en la declaració d'una funció per implementacions compatibles amb ANSI, mentre que una declaració obsoleta -que no és cap prototipo- s'usa de forma diferent. Encara que són compatibles amb C99 i C90, no es recomana el seu ús.
Compiladors compatibles amb ANSI C
modificaReferències
modificaEnllaços externs
modifica- ISO 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)
- Object oriented programming with ANSI-C. Hanser, Hanser.
- Error en el títol o la url.«». Arxivat de l'original el 25 de julio de 2011. [Consulta: 18 juny 2010].
- «ANSI Standards Action Vol. 36, #48», 2 diciembre 2005. Arxivat de l'original el 4 de marzo de 2016.
| Error: Plantilla utilitzada incorrectament. Vegeu Plantilla:Traduït de. |