Articulo de referencia

Error de compilación

Un error de compilación se refiere a un estado en el que un compilador no logra compilar una parte del código fuente de un programa informático , ya sea por errores en el código...

Un error de compilación se refiere a un estado en el que un compilador no logra compilar una parte del código fuente de un programa informático , ya sea por errores en el código o, más inusualmente, por errores en el propio compilador. Un mensaje de error de compilación suele ayudar a los programadores a depurar el código fuente. Aunque las definiciones de compilación e interpretación pueden ser vagas, generalmente los errores de compilación se refieren solo a la compilación estática y no a la dinámica . Sin embargo, la compilación dinámica también puede tener errores de compilación, aunque muchos programadores y fuentes pueden identificarlos como errores de tiempo de ejecución . La mayoría de los compiladores justo a tiempo , como el motor JavaScript V8 , se refieren ambiguamente a los errores de compilación como errores de sintaxis , ya que los verifican en tiempo de ejecución . [ 1 ] [ 2 ]

Ejemplos

Errores comunes de compilación de C++

  • Identificador no declarado, por ejemplo:

doy.cpp: In function `int main()': doy.cpp:25: `DayOfYear' undeclared (first use this function)[ 3 ]

Esto significa que se está intentando utilizar la variable "DayOfYear" antes de haber sido declarada.

  • Función común no declarada, por ejemplo:

xyz.cpp: In function `int main()': xyz.cpp:6: `cout' undeclared (first use this function)[ 3 ]

Esto significa que lo más probable es que el programador se haya olvidado de incluir iostream .

  • Error de análisis, por ejemplo:

somefile.cpp:24: parse error before `something'[ 4 ]

Esto podría significar que falta un punto y coma al final de la frase anterior.

Errores internos del compilador

Un error interno del compilador (comúnmente abreviado como ICE) es un error que ocurre no debido a un código fuente erróneo, sino debido a un error en el propio compilador. A veces se pueden solucionar haciendo pequeños e insignificantes cambios en el código fuente alrededor de la línea indicada por el error (si es que se indica dicha línea), [ 5 ] pero a veces se deben hacer cambios más grandes, como refactorizar el código, para evitar ciertas construcciones. Usar un compilador diferente o una versión diferente del compilador puede resolver el problema y ser una solución aceptable en algunos casos. Cuando se llega a un error interno del compilador, muchos compiladores no generan un error estándar, sino que generan una versión abreviada, con archivos adicionales adjuntos, que se proporcionan solo para errores internos del compilador. Esto es para asegurar que el programa no se bloquee al registrar el error, lo que haría que resolver el error fuera casi imposible. Los archivos adicionales adjuntos para errores internos del compilador generalmente tienen formatos especiales en los que se guardan, como para Java . Estos formatos suelen ser más difíciles de analizar que los archivos regulares, pero aún así pueden contener información muy útil para resolver el error que causa el fallo. [ 6 ].dump

Ejemplo de un error interno del compilador:

somefile.c:1001: error interno del compilador: fallo de segmentación Por favor, envíe un informe completo del error. con el código fuente preprocesado, si procede. Consulte <http://bugs.gentoo.org/> para obtener instrucciones.

Referencias

  1. "Errores | Documentación de Node.js v7.9.0" . nodejs.org . Consultado el 14 de abril de 2017 .
  2. "SyntaxError" . Mozilla Developer Network . Consultado el 14 de abril de 2017 .
  3. 1 2 "Errores comunes del compilador y enlazador de C++" . Archivado del original el 16 de febrero de 2008. Consultado el 12 de febrero de 2008 .
  4. "Errores del compilador, del enlazador y de tiempo de ejecución" .
  5. Cunningham, Ward (18 de marzo de 2010). "Error del compilador" . WikiWikiWeb . Consultado el 14 de abril de 2017 .
  6. జగదేశ్. "Analyzing a JVM Crash" . Consultado el 15 de abril de 2017 .