standard quimica last compiler c18 c gcc iso c11 c17

quimica - last c version



¿Qué es C17 y qué cambios se han realizado en el lenguaje? (2)

Mientras revisaba las noticias sobre GCC 8, saw que agregaban soporte para la versión 2017 del lenguaje C (no C ++ 17, realmente C17). Pero no puedo encontrar ninguna información al respecto en Internet.

¿Es una nueva versión ISO como C11, o simplemente un nombre en clave utilizado por el equipo de GCC para algunas correcciones en su compilador?


Según la referencia de GCC , C17 es en realidad una versión de corrección de errores del estándar C11 con resoluciones DR integradas.

C17 , una versión de corrección de errores del estándar C11 con resoluciones DR integradas , pronto irá a votación. Este parche agrega las opciones correspondientes -std=c17 , -std=gnu17 (nueva versión predeterminada, reemplazando -std=gnu11 como predeterminado), -std=iso9899:2017 . Como versión de corrección de errores del estándar, no hay necesidad de flag_isoc17 ni de ninguna opción para advertencias de compatibilidad; sin embargo, hay un nuevo valor __STDC_VERSION__ , por lo que se agregan nuevos idiomas CLK_GNUC17 y CLK_STDC17 para admitir el uso de ese nuevo valor con las nuevas opciones. (Si el estándar termina siendo publicado en 2018 y se conoce como C18 , se pueden agregar alias de opción. Sin embargo, -std=iso9899:199409 cuenta que -std=iso9899:199409 corresponde a un valor __STDC_VERSION__ lugar de una fecha de publicación).

(Hay un par de resoluciones de DR que necesitan implementarse en GCC, pero eso es independiente de las nuevas opciones).

Por lo tanto, no hay nuevas características incluidas en C17.

La Cppreference (Historia de C) dice:

Desarrollo futuro

C17 La próxima revisión estándar de lenguaje C menor, incluirá todos los informes de defectos C11 aceptados, pero no nuevas características .

ACTUALIZAR:

  • 2018: C17 (ISO / IEC 9899: 2018) ( ISO Store) ( Borrador final ) Incluye la desaprobación de ATOMIC_VAR_INIT y las correcciones a los siguientes informes de defectos:

[DR 400] , [DR 401] , [DR 402] , [DR 403] , [DR 404] , [DR 405] , [DR 406] , [DR 407] , [DR 410] , [DR 412] , [DR 414] , [DR 415] , [DR 416] , [DR 417] , [DR 419] , [DR 423] , [DR 426] , [DR 428] , [DR 429] , [DR 430] , [DR 431] , [DR 433] , [DR 434] , [DR 436] , [DR 437] , [DR 438] , [DR 439] , [DR 441] , [DR 444] , [DR 445] , [DR 447] , [DR 448] , [DR 450] , [DR 452] , [DR 453] , [DR 457] , [DR 458] , [DR 459] , [DR 460] , [DR 462] , [DR 464] , [DR 465] , [DR 468] , [DR 470] , [DR 471] , [DR 472] , [DR 473] , [DR 475] , [DR 477] , [DR 480] , [DR 481] , [DR 485] , [DR 487] , [DR 491]


C17 es una "versión de corrección de errores" del estándar C, como " MS Chaudhari " se dio cuenta. Sin embargo, hay información muy útil preparada por Jens Gustedt autor del libro "Modern C" .

Identificó la siguiente lista de cambios en C17 en comparación con C11 :

Enlace a la página principal C17 .

Además, este contenido será actualizado por Jens que puede seguir para actualizar aquí el Blog de Jeans Gustedt .

PS: before posting all this stuff I received approval from the author.