Академический Документы
Профессиональный Документы
Культура Документы
Un entorno estándar C
Regla 1.1 (Necesaria) : El programa no contendrá ninguna violación de la sintaxis y las restricciones
de la norma C, y no excederá los límites de traducción de la implementación.
consciente de que:
• El diagnóstico no necesariamente debe ser un error, sino que podría ser, por ejemplo, una
advertencia;
Algunos compiladores de C90 brindan soporte para funciones en línea utilizando la palabra clave
__inline. Un programa C90
que use __inline cumplirá con esta regla, siempre que esté diseñada para traducirse usando
Tal compilador.
Muchos compiladores para objetivos incrustados proporcionan palabras clave adicionales que
califican los tipos de objeto con
Un programa que use estas palabras clave adicionales cumplirá con esta regla siempre que el
compilador
El Estándar requiere que una implementación conforme documente cualquier extensión que
proporcione
para el idioma, existe el riesgo de que esta documentación no proporcione una descripción
completa del
Si no se aplica esta regla, la decisión de usar cada extensión de idioma debe justificarse en el
Los métodos por los cuales se garantizará el uso válido de cada extensión, también debe
documentarse.
2. CÓDIGO NO UTILIZADO
es una parte del código del programa que nunca se accede por construcciones de
programación.
Siempre que un programa no muestre ningún comportamiento indefinido, el código inalcanzable
no puede ser
ejecutado y no puede tener ningún efecto en los resultados del programa. La presencia de código
inalcanzable
Se permite que un compilador elimine cualquier código inalcanzable aunque no tiene que hacerlo.
Inalcanzable
• Su presencia puede hacer que un compilador seleccione instrucciones de salto más largas y
lentas al transferir
• Dentro de un ciclo, puede evitar que todo el ciclo resida en una memoria caché de instrucciones.
acción defensiva
Cualquier operación que se ejecute pero cuya eliminación no afecte el comportamiento del
programa constituye
código muerto .
regla 2.6 (informativo): Una función no debe contener declaraciones de etiqueta no utilizadas
Si se declara una etiqueta pero no se usa, entonces no está claro para el revisor si la etiqueta es redundante o si
tiene
se ha dejado sin usar por error.
3. COMENTARIOS
comentario
Si se produce un comentario que comienza la secuencia, / * o //, dentro de un comentario / *, es muy probable
que sea causado
por una secuencia de finalización de comentario / * faltante.
Si se produce una secuencia de inicio de comentario dentro de un // comentario, probablemente se deba a una
región de código
ha sido comentado usando //
Si se usa /* al final tiene que haber otro así */
Si la línea de origen que contiene un // comentario termina con un carácter \ en el conjunto de caracteres de
origen, el
La siguiente línea se convierte en parte del comentario. Esto puede provocar la eliminación involuntaria del
código