stringtranslate.com

Error de compilación

El error de compilación o error de compilación se refiere a un estado en el que un compilador no puede compilar un fragmento de código fuente de un programa de computadora , ya sea debido a errores en el código o, lo que es más inusual, debido a 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 solo se refieren a la compilación estática y no a la compilación dinámica . Sin embargo, técnicamente la compilación dinámica aún puede tener errores de compilación, [ cita requerida ] 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++

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

Esto significa que la variable "DayOfYear" está intentando usarse antes de ser declarada.

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 haya olvidado incluir iostream .

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

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

Errores internos del compilador

Un error interno del compilador (comúnmente abreviado como ICE) es un error que no ocurre debido a un código fuente erróneo, sino a un error en el propio compilador. A veces se pueden solucionar haciendo cambios pequeños e insignificantes en el código fuente alrededor de la línea indicada por el error (si es que se indica dicha línea), [5] [ se necesita una mejor fuente ] pero a veces se deben realizar cambios más importantes. 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 alcanza 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 solo se proporcionan para errores internos del compilador. Esto es para asegurar que el programa no falle 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 por ejemplo .dumppara Java . Estos formatos son generalmente más difíciles de analizar que los archivos normales, pero aun así pueden contener información muy útil para resolver el error que causa el bloqueo. [6]

Ejemplo de un error interno del compilador:

somefile.c:1001: error interno del compilador: error de segmentaciónEnvíe un informe de error completo,con fuente preprocesada si corresponde.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. ^ "Error de sintaxis". Red de desarrolladores de Mozilla . Consultado el 14 de abril de 2017 .
  3. ^ ab "Errores comunes del enlazador y compilador de C++". Archivado desde el original el 16 de febrero de 2008 . Consultado el 12 de febrero de 2008 .
  4. ^ "Errores del compilador, del vinculador y del tiempo de ejecución".
  5. ^ Cunningham, Ward (18 de marzo de 2010). "Error del compilador". WikiWikiWeb . Consultado el 14 de abril de 2017 .
  6. ^ జగదేశ్. "Análisis de una falla de JVM" . Consultado el 15 de abril de 2017 .