Contactos

Significado de error fatal. Error fatal en AutoCAD Unhandled e0434352h Excepción: soluciones. Antecedentes: lo que es opcional

Cuando se trabaja en AutoCAD, se produce el error de excepción Unhandled e0434352h: no es fácil comprender las razones, cuya aparición no es fácil. El error ocurre al abrir imágenes, dibujos, así como cuando se trabaja en las opciones de AutoCAD. Del inglés, el error se traduce como: "Excepción e0434352 que no se puede manejar"... Hay varias opciones para solucionarlo.

Para comprobar si el software antivirus interfiere con el trabajo del programa, debe ir a la configuración de “antivirus” y apagarlo por un tiempo, iniciando AutoCAD nuevamente y realizando las mismas acciones que causaron el error. En este caso, debe deshabilitar no solo los programas antivirus que descargó por separado, sino también el software antivirus incorporado.

El siguiente paso es desinstalar la plataforma ".NET Framework". Para esto:

  1. En Windows 7, abra el menú Inicio. En él, seleccione "Panel de control". Luego, debe abrir "Agregar o quitar programas". En la lista que se abre, debe eliminar todas las líneas que tengan ".NET Framework" en el nombre.
  2. Descargue nuevamente el paquete .NET Framework del sitio web oficial de Microsoft e instálelo, según la versión de Windows instalada en su PC.
  3. Aquí, en la lista de programas, busque AutoCAD y haga clic en desinstalar.
  4. Reinstale AutoCAD.

La causa del error de excepción no controlado e0434352h en el adaptador de video

Cuando se trabaja con AutoCAD, la computadora necesita trabajar con gráficos 3D, y esto requiere un adaptador de gráficos bastante potente. Si su computadora fue comprada hace varios años, es muy posible que no cumpla con los parámetros requeridos para operar el programa. Para solucionar la situación, puede intentar:


Causas de la excepción no controlada e0434352h que aparece en el archivo de registro

Si el error ocurre mientras abre la pestaña Archivo en AutoCAD, entonces el archivo problemático en la biblioteca de vínculos dinámicos (dll) de Microsoft es la causa. Para resolver este problema:

  1. Abra el "Editor del registro" haciendo clic con el botón derecho en el icono "Mi PC".
  2. A continuación, vaya a la sección HKEY_CURRENT_USER / Software / Autodesk / AutoCAD / R18.0 / ACAD-8000: 409 / WeServices / CommunicationCenter.
  3. Cambie el valor de la clave LastUpdateTimeHiWord a 8 ceros.
  4. Cambie la clave similar LastUpdateTimeLoWord por el mismo valor.
  5. Reinicia tu computadora.

No hay suficiente RAM para ejecutar AutoCAD

Con la configuración estándar de la computadora (si nadie la ha cambiado), a la aplicación se le asigna una cierta cantidad de RAM para trabajar en el sistema. 2 GB es el límite general para el sistema operativo de arquitectura de 32 bits. Si se cruza esta línea, Windows sale automáticamente de los programas en ejecución. Por tanto, cuando se trabaja con un programa, es necesario, si es posible, no abrir en paralelo ningún programa que pueda ocupar una gran cantidad de memoria virtual.

El motivo es que el servicio de firma digital no funciona correctamente.

Unhandled e0434352h Aparece un error de excepción al solicitar la firma digital de una aplicación. Para deshabilitar esta función y evitar que el error aparezca en el futuro, debe:

  1. Vaya al menú "Inicio", luego haga clic en "Ejecutar" y en la ventana escriba acsignopt.
  2. En la ventana "Parámetros de verificación de firma digital" que se abre, desmarque la casilla "Verificar firmas digitales".
  3. Después de estos pasos, reinicie su computadora.

En contacto con

Puede aparecer un error fatal al iniciar AutoCAD. Bloquea el inicio del trabajo y no puede utilizar el programa para crear dibujos.

En este artículo, trataremos las causas de su aparición y sugeriremos formas de eliminar este error.

Error de acceso fatal

Si, al iniciar AutoCAD, ve una ventana como la que se muestra en la captura de pantalla, debe ejecutar el programa como administrador si está trabajando con una cuenta de usuario sin derechos de administrador.

Haga clic derecho en el acceso directo del programa y haga clic en "Ejecutar como administrador".

Error fatal al bloquear archivos del sistema

El error fatal puede verse diferente.

Si ve esta ventana frente a usted, significa que la instalación del programa no se realizó correctamente o que el antivirus bloqueó los archivos del sistema.

Hay varias formas de solucionar este problema.

1. Elimine las carpetas ubicadas en: C: \ Users \ USRNAME \ AppData \ Roaming \ Autodesk y C: \ Users \ USRNAME \ AppData \ Local \ Autodesk. Luego reinstale el programa.

2. Presione Win + R y escriba "acsignopt" en la línea de comando. En la ventana que se abre, desmarca la casilla de verificación "Verificar firmas digitales y mostrar iconos especiales". El caso es que el servicio de firma digital puede bloquear la instalación del programa.

3. Presione Win + R y escriba "regedit" en la línea de comando.

Busque la sucursal HKEY_CURRENT_USER \ Software \ Autodesk \ AutoCAD \ R21.0 \ ACAD-0001: 419 \ WebServices \ CommunicationCenter.

Los nombres de carpeta "R21.0" y "ACAD-0001: 419" pueden diferir en su versión. No hay una diferencia fundamental en el contenido, elija la carpeta que aparece en su registro (por ejemplo, R19.0, no R21.0).

Seleccione el archivo "LastUpdateTimeHiWord" y, llamando al menú contextual, haga clic en "Cambiar".

En el campo "valor", ingrese ocho ceros (como en la captura de pantalla).

Haga lo mismo con el archivo LastUpdateTimeLoWord.

Otros errores de AutoCAD y cómo solucionarlos

En nuestro sitio web puede encontrar una solución a otros errores comunes asociados con el trabajo en AutoCAD.

Error 1606 en AutoCAD

El error 1606 ocurre durante la instalación del programa. Su eliminación está asociada a la realización de cambios en el registro.

Error 1406 en AutoCAD

Este problema también ocurre durante la instalación. Indica un error al acceder a los archivos de instalación.

Error al copiar al portapapeles en AutoCAD

En algunos casos, AutoCAD no puede copiar objetos. La solución a este problema se describe en el artículo.

Revisamos la eliminación de un error fatal en AutoCAD. ¿Tiene su propia forma de tratar estos dolores de cabeza? Compártelos en los comentarios.

Este artículo describirá varias formas de resolver el problema relacionado con el programa AutoCAD.

Hablaremos de los errores que aparecen al iniciar el autocad, al guardar un dibujo, o incluso al intentar imprimir un documento en una impresora conectada a una red.

A saber, sobre un error que provocó un cierre de emergencia del programa:

Error fatal no controlado e06d7363h excepción en fd76bccdh

ERROR FATAL: Excepción e0434f4dh no controlada en 7c81eb33h

Excepción no controlada en 7c81eb33h

Se ven un poco diferentes, pero cabrean igual.

Estos mensajes de error indican que el programa se corrompió durante la instalación. Por ejemplo, durante la instalación, algunos archivos fueron bloqueados por antivirus, Windows Defender o el servicio de verificación de firmas digitales. Por lo tanto, se recomienda desactivar el antivirus al instalar el programa y cerrar todas las demás aplicaciones que puedan interferir con el proceso de instalación.

Y ahora pasemos a resolver el problema.

Método 1

En el primer caso, considere el error que ocurre al imprimir un documento en una impresora de red:

Error fatal no controlado e06d7363hexception en fd76bccdh

Para deshacerse de él, puede intentar eliminar carpetas:

C: \ Users \ USRNAME \ AppData \ Roaming \ Autodesk y C: \ Users \ USRNAME \ AppData \ Local \ Autodesk

Y reinstale AutoCAD.

Método 2

Lo siguiente que puede ayudar a solucionar este error es reinstalar el software:

NetFramework 1.1

Mejor aún, elimine todas las versiones de NetFramework del sistema y vuelva a ejecutar la instalación de AutoCAD. Durante la instalación, el instalador reinstalará NetFramework en un autocad más adecuado.

Método 3

Al principio del artículo, ya se dijo que durante la instalación, el servicio de verificación de firma digital puede interferir con el instalador. Así que tendrás que apagarlo.

Para esto:

  1. Abra el cuadro de diálogo Ejecutar, puede ejecutar desde el principio o presionando el atajo de teclado GANAR + R.
  2. Ingrese el comando acsignopty presione la tecla Enter.

3. En la ventana "Configuración de verificación de firma digital" que aparece, desmarque la casilla junto al mensaje "Verificar firmas digitales y mostrar iconos especiales".

4. Haga clic en Aceptar para cerrar la ventana. Desinstale y vuelva a instalar AutoCAD por completo.

Verifique la funcionalidad. Si el error sigue apareciendo, vaya al siguiente método.

Método 4

En el cuarto método, deberá cambiar un par de valores en el registro.

  1. Inicie el Editor del registro.
  2. Vaya a la siguiente ruta: HKEY_CURRENT_USER \ Software \ Autodesk \ AutoCAD \ R18.0 \ ACAD-8000: 409 \ WebServices \ CommunicationCenter

¡Nota! La ruta puede ser ligeramente diferente, es decir, el valor R18.0 puede ser diferente, dependiendo de la versión del autocad. Por ejemplo, R19.0, no hay nada de malo en eso, no dude en seguir adelante.

4. Cambie los valores de ambas teclas a 00000000 (ocho ceros).

¡Nota! Para editar el registro, necesita derechos de administrador.

"Fatal" - ¿cómo es eso? A menudo escuchas esta palabra en diferentes contextos, por lo que su significado no siempre es claro. Hoy aclararemos el significado del adverbio y algunas frases con él.

"Fatum" es el destino

De hecho, del latín "destino" es destino. Por lo tanto, puede establecer fácilmente qué es fatal:

  1. Algo misterioso que define fatalmente la vida de una persona.
  2. Lo que presupone tragedia es posiblemente la muerte.

Pero no tengas miedo, la mayoría de las veces todavía no estamos hablando de la muerte, sino de la predestinación. Por ejemplo, puede escuchar a los comentaristas de los partidos de deportes de equipo: "Este error del portero resultó ser fatal para el equipo". Al fin y al cabo, el público entiende: el portero no se convirtió en la causa de una enfermedad fatal para todos sus compañeros, y no murieron después del partido. En este caso, el error del portero es fatal, porque predeterminó el resultado del partido y resultó fatal. "Fatal" es algo que no puede tener un final feliz.

Fatalismo y voluntarismo

Sorprendentemente, lo que se asocia con el destino no está dotado de un significado positivo por parte de una persona.

Hay sistemas que se excluyen mutuamente: el fatalismo y el voluntarismo. Con el fatalismo, todo está claro: esta es una cosmovisión que cree: no hay libertad en el mundo y todo está sujeto a un solo plan del destino. Además, sea como fuere, un fatalista no es necesariamente un pesimista. Son personas que creen en el destino, creen que definitivamente tendrán suerte, al menos algunos de ellos. Otra cosa es que rara vez tienen suerte, pero eso no es importante. En la mayoría de los casos, el fatalismo implica bastante pesimismo y fatalidad. La gente suele recordar el fatalismo cuando una persona rueda por un plano inclinado.

¿Y el "voluntarismo"? El término es familiar para los espectadores soviéticos y rusos de la película "Prisionero del Cáucaso" de L. Gaidai. Pero pocas personas saben lo que significa. Y el concepto presupone la siguiente convicción: el principal motor del mundo es la libertad del hombre o de Dios (o aquello que lo reemplaza). Y me gustaría decir que el voluntarismo, a diferencia del fatalismo, es optimista, pero recordando a los pensadores que adhirieron a esta doctrina (F. Nietzsche, A. Schopenhauer), de alguna manera el lenguaje no gira. La principal diferencia entre el fatalismo y el voluntarismo radica en lo siguiente: algunos creen que no hay libertad, mientras que otros creen que no hay nada más que libertad. De una forma u otra, "fatal" es que definitivamente no terminará con nada bueno para una persona.

Martin Eden como ejemplo de un destino trágico

La novela de Jack London es una obra eterna, cuenta la historia de la batalla de una persona con el destino y la vida. Lo malo de esta obra es que el autor tenía una cierta actitud ideológica: el amor es el principal motor impulsor del mundo. Y mientras el héroe de Londres pensaba que Ruth lo amaba, se superó a sí mismo, se desarrolló. Después de todo, Martin Eden es una pepita. Pero tan pronto como el personaje principal comprende que Ruth es una tonta, inmediatamente se debilita. Para aquellos que no han leído, no revelaremos todas las cartas, pero digamos: el encuentro con Ruth predeterminó el desenlace fatal (lo que esto significa está claro por el contexto, y si no está claro, entonces lea Jack London) de El destino de Martin Eden.

El error fatal del autor

Jack London es un autor eterno, es decir, se le leerá mientras exista el idioma inglés y las personas que puedan traducir de él, pero también cometió un error que le costó caro a su héroe. El lector astuto comprenderá de qué se trata. Jack London creía: lo más importante en la vida es el amor, y cuando una persona se ve privada de amor, no tiene motivos para vivir. Martin Eden se convirtió en víctima de tal actitud. Y esto es bastante adecuado para la definición de "error fatal": esto es lo que predeterminó el destino del héroe, le jugó una broma cruel. La creencia sistémica de Jack London en el amor devaluó toda la lucha de Martin Eden por el derecho a ser él mismo.

Este Apéndice proporciona una lista de mensajes de error que puede encontrar al desarrollar programas y también proporciona una breve descripción de los pasos que debe seguir para corregir los errores. La siguiente lista le dirá dónde buscar mensajes de error de varios componentes del compilador Microsoft Quick-C:

Sección de componentes Compilador Microsoft Quick-C Sección D.1, "Mensajes de error del compilador. Línea de comandos utilizada Sección D.2," Mensajes de error para invocar el compilador de línea de comandos Quick-C ". Bibliotecas en tiempo de ejecución Sección D.3," Error de Microsoft C Mensajes y otras situaciones de tiempo de ejecución ". Tiempo de ejecución. Microsoft Overlay Linker, Sección D.4," Mensajes de error de la utilidad LINK. Linker ". Firm Library Manager Sección D.5," Mensajes de error Utilidad LIB de Microsoft Utilidad LIB ". Utilidad de soporte de desarrollo Sección D.6," Utilidad MAKE Mensajes de error MAKE. "Línea de comandos, el tiempo de ejecución se enumeran en este apéndice en orden alfabético .

Consulte la Sección D.1.4 para obtener información sobre las restricciones del compilador y la Sección D.3.3 para las restricciones de tiempo de ejecución.

D.1 Mensajes de error del compilador

Los mensajes de error recibidos cuando el compilador SI falla se dividen en tres categorías:

1. Mensajes de error fatal.

2.Mensajes de error de compilación.

3. Mensajes de advertencia.

Los mensajes para cada categoría se enumeran a continuación en orden numerado, con una breve explicación de cada error. Para encontrar el mensaje que desea, primero identifique la categoría del mensaje y luego busque el número de error correspondiente. Cada mensaje generado en Quick-C aparece en una ventana de error; el cursor está posicionado en la línea que causa el error (consulte la Sección 7.3.4 para obtener más detalles). Cada mensaje de error generado en tiempo de compilación usando un comando QCL contiene el nombre del archivo y el número de línea que causó el error.

Mensajes de error fatal.

Un mensaje de error fatal indica un problema que impide que el compilador se ejecute más. Este tipo de mensaje tiene el siguiente formato:

nombre de archivo (cadena): error fatal C1xxx: texto del mensaje Después de que el compilador muestra un mensaje de error fatal, se cierra sin crear un archivo de objeto o verificar errores posteriores.

Mensajes de error del compilador.

Los mensajes de error del compilador indican errores de software reales. Estos mensajes se muestran en el siguiente formato:

nombre de archivo (cadena): error C2xxx: texto del mensaje

En este caso, el compilador no crea un archivo objeto para el archivo fuente en el que el compilador encontró errores. Si el compilador encuentra tales errores, intenta corregirlos. Si es posible, continúa procesando el archivo original y emite mensajes de error. Si hay demasiados errores o son demasiado graves, el compilador deja de funcionar.

Mensajes de advertencia.

Los mensajes de advertencia tienen únicamente fines informativos; no interrumpen el proceso de compilación o vinculación. Estos mensajes aparecen en el siguiente formato:

nombre de archivo (cadena): advertencia C4xxx: texto del mensaje

Puede utilizar la opción / W para controlar el nivel de mensajes generados por el compilador. Esta opción se describe en la Sección 9.3.1.

D.1.1. Mensajes de error fatal.

Los siguientes mensajes identifican errores fatales. El compilador no puede corregir el error fatal; deja de funcionar después de imprimir un mensaje de error. Número Mensaje de error fatal C1000 "Error fatal desconocido, comuníquese con el servicio técnico de Microsoft". El compilador encontró un error desconocido. Informe a Microsoft Corporation de las condiciones de este error mediante el formulario de solicitud de asistencia de producto especial que se encuentra en la portada de este manual. C1001 "Error interno del compilador, póngase en contacto con el servicio técnico de Microsoft". El compilador ha encontrado una discrepancia interna. Informe las condiciones de este error mediante el formulario "Solicitud de asistencia del producto" que se encuentra en la portada de este manual. Incluya en su mensaje el nombre del archivo y el número de línea que causó el error; tenga en cuenta que el "nombre de archivo" se refiere al archivo del compilador interno, no a su archivo de origen. C1002 Fuera de rango dinámico. El compilador se ha agotado. Esta situación generalmente significa que su programa tiene demasiados nombres simbólicos y / o expresiones complejas. Para solucionar este problema, divida el archivo en varios archivos fuente más pequeños o divida las expresiones en subexpresiones más pequeñas. C1003 Contador de errores excedido n; compilación detenida. Hay demasiados errores en el programa, o son demasiado serios para repararlos, el compilador debe abortar la ejecución. C1004 "Fin de archivo inesperado (EOF). Este mensaje aparece si no tiene suficiente memoria en un dispositivo de disco estándar para que el compilador cree los archivos temporales requeridos. El espacio requerido es aproximadamente 2 veces el tamaño del archivo original. Este El mensaje también se puede generar si el comentario no tiene un delimitador de cierre (* /), o si la directiva #if carece de la directiva #endif de cierre. C1005 "La línea es demasiado grande para el búfer." Una línea en el compilador intermedio el archivo desborda el búfer. C1006 "Error al escribir en el compilador de archivos intermedios". El compilador no puede crear archivos intermedios utilizados en el proceso de compilación. Las siguientes situaciones suelen provocar este error: 1. Muy pocos archivos en los archivos = línea numérica de CONFIG Archivo .SYS (el compilador requiere que el número sea al menos 15) 2. Memoria insuficiente en el dispositivo que contiene los archivos intermedios del compilador. C1007 "Cadena de indicador no reconocido" en "opción" "La opción de línea de comando de entrada de cadena no es una opción válida. C1009 "Limitaciones del compilador, macros posiblemente definidas de forma recursiva". La expansión de una macro excede la memoria disponible. Compruebe si había macros definidas de forma recursiva o si el texto expandible no es demasiado grande. C1010 "Limitaciones del compilador: Extensión de macro demasiado grande". La expansión macro excede la memoria disponible. C1012 "Anidamiento de paréntesis no válido - falta" carácter ". Falta de coincidencia de paréntesis en la directiva del preprocesador; "carácter" es un paréntesis derecho o izquierdo. C1013 "No se puede abrir el archivo fuente" nombre de archivo "". El archivo dado "nombre de archivo" no existe, no se puede abrir o no se encontró. Asegúrese de que los parámetros de configuración del entorno sean correctos y de que se especifique el nombre de ruta correcto para el archivo. C1014 Demasiados archivos de inclusión. Anidar directivas #include excede el límite de 10 niveles. C1015 "No se puede abrir el archivo de inclusión" nombre de archivo "". Este archivo no existe, no se puede abrir o no se puede encontrar. Asegúrese de que las asignaciones del entorno sean correctas y de que haya especificado el nombre de ruta correcto para este archivo. C1016 "La directiva #if [n] def requiere un identificador". Con las directivas #ifdef y #ifndef, debe usar un identificador. C1017 Expresión de constante entera no válida. La expresión en la directiva #if debe evaluarse como una constante. C1018 "Directiva inesperada" #elif "". La aparición de la directiva #elif solo se permite dentro de las directivas #if, #ifdef o #ifdef. C1019 "Directiva inesperada" #else "". La aparición de la directiva #else solo es posible dentro de las directivas #if, #ifdef o #ifndef. C1020 Directiva "#endif" inesperada La directiva #endif apareció sin la directiva #if, #ifdif o #ifndef correspondiente. C1021 "Cadena de comando de preprocesador no válida" "Los caracteres que siguen al signo (#) forman una directiva de preprocesador no válida. C1022 "Directiva esperada '#endif'". La directiva #if, #ifdef o #ifndef no termina con la directiva #endif. C1026 "Desbordamiento de pila, simplifique su programa". Su programa no se puede procesar más, porque la memoria requerida para "analizar" el programa desborda la pila del compilador. Para resolver este problema, simplifique su programa. C1027 "Limitaciones del compilador: estructuras / mezclas de anidamiento". Las definiciones de estructuras y mezclas se anidan más de 10 veces. C1028 "el segmento es más de 64 K" Este segmento contiene más de 64 datos "lejanos". Un módulo no puede tener más de 64K de datos "distantes". Para resolver este problema, divida las explicaciones en módulos separados, reduzca la cantidad total de datos utilizados o compile su programa con Microsoft-C Optimization Compiler. C1032 "No se puede abrir el archivo que contiene la lista de objetos" nombre de archivo "". Una de las siguientes afirmaciones sobre el nombre del archivo o el nombre de la ruta es válida: 1. El nombre proporcionado no es correcto. 2. El archivo con el nombre dado no se puede abrir debido a que no hay suficiente memoria. 3. Ya existe un archivo con el nombre dado y el atributo de solo lectura. C1033 "No se puede abrir el archivo de salida de ensamblaje" nombre de archivo "". Una de las condiciones discutidas en la descripción del código de error C1032 hizo imposible abrir este archivo. C1034 "No se puede abrir el archivo fuente" nombre de archivo "". Una de las condiciones discutidas en la descripción del código de error C1032 hizo imposible abrir este archivo. C1035 "La expresión es demasiado compleja, simplifíquela". El compilador no pudo generar código para la expresión compleja. Para resolver este problema, divida la expresión en subexpresiones más simples y compile nuevamente. C1036 "No se puede abrir el archivo que contiene la lista original" nombre de archivo "". Una de las condiciones discutidas en la descripción del código de error C1032 hizo imposible abrir este archivo. C1037 "No se puede abrir el archivo de objeto" nombre de archivo "". Una de las condiciones discutidas en la descripción del código de error C1032 hizo imposible abrir este archivo. C1039 "Desbordamiento de montón irrecuperable en el tercer paso del compilador": En el tercer paso de optimización, el compilador desbordó el montón y salió. Intente compilar nuevamente con Optimizaciones habilitadas (en el entorno de programación Quick-C), o / Od (en la línea de comando QCL), o intente separar la función que contiene la cadena que causó el error. C1040 "EOF inesperado en el archivo de origen" nombre de archivo "". Al enumerar un archivo de origen o un archivo de origen / objeto, el compilador encontró un final inesperado del archivo. Este error probablemente ocurrió si el archivo de origen se editó durante la compilación. C1041 "No se puede abrir el archivo del compilador intermedio, no más". El compilador no puede crear un archivo intermedio utilizado durante la compilación porque no hay más números de archivo lógicos. Este error se puede corregir cambiando archivos = línea numérica en el archivo CONFIG.SYS para especificar un número mayor de archivos abiertos simultáneamente (se recomienda asignar el número 20). C1042 "No se puede abrir el archivo del compilador intermedio; no existe ese archivo o directorio". El compilador no puede crear archivos intermedios utilizados durante la compilación porque se especificó un directorio o ruta incorrectos en la variable de entorno operativo TMP. C1043 "No se puede abrir el archivo intermedio del compilador". El compilador no puede crear archivos intermedios utilizados durante el proceso de compilación. Se desconoce la razón exacta. C1044 "No hay espacio en disco para el archivo intermedio del compilador" Debido a la memoria insuficiente, el compilador no puede crear un archivo intermedio utilizado durante el proceso de compilación. Para rectificar esta situación, libere espacio en disco y vuelva a compilar. C1045 Desbordamiento de coma flotante. El compilador recibió un error al asignar constantes aritméticas a elementos de punto flotante, como en el siguiente ejemplo: float fp val = 1.0e100; En este ejemplo, la constante de doble precisión 1.0e100 excede el valor máximo permitido para datos de coma flotante. C1047 "Demasiadas apariciones de la opción 'cadena'". Esta opción se ha mencionado demasiadas veces. La cadena "cadena" contiene la opción que provocó el error. C1048 "Carácter" desconocido "en" cadena de opciones "". El carácter no es una letra válida para la "cadena de opciones". C1049 "Argumento numérico" cadena "" no válido. Se esperaba un argumento numérico en lugar de una cadena. C1050 El nombre del segmento del segmento de código es demasiado grande. Durante la compilación, el segmento de código creció más allá de los 36 bytes desde 64K. En este caso, se usa un relleno de 36 bytes, ya que una falla en algunas tarjetas de microprocesador 80286 puede causar un comportamiento impredecible del programa si, entre otras condiciones, el tamaño del segmento de código está dentro de los 36 bytes de 64K. C1052 "Demasiadas directivas # if / # ifdef" s ". El programa excedió el número máximo de niveles de anidamiento # if / # ifdef. C1053" La asignación de datos DGROUP excede 64K. "Se asignaron más de 64K variables en el segmento de datos estándar. Para programas de memoria pequeños, medianos y grandes, compile con el comando QCL usando la opción / GT para anidar elementos en segmentos separados C1054 "Limitaciones del compilador: el iniciador anida demasiado profundo" Se han excedido los límites iniciales de anidamiento del compilador - congestión. El límite es de 10 a 15 niveles, dependiendo de la combinación de tipos inicializados. Para resolver este problema, para reducir los niveles de anidamiento, simplifique el tipo de datos que se inicializan o, después de la descripción, asigne el valor inicial en declaraciones separadas. C1056 "Limitaciones del compilador: desbordamiento durante la expansión de macros". El compilador desbordó su búfer interno mientras expandía una macro. C1057 "EOF inesperado en extensión de macro; (falta") "?)". El compilador encontró el final del archivo fuente mientras ensamblaba los argumentos para una llamada de macro. Este suele ser el resultado del paréntesis derecho de cierre omitido) en la llamada de macro, como en el siguiente ejemplo: #define print (a) printf (string is (, # a)) main () (print (the quick brown fox; ) C1059 "Se excedieron los límites del área dinámica" cercana ". Al colocar elementos de datos en el área dinámica" cercana "(segmento de datos estándar), el compilador salió del rango. C1060" Los límites del área dinámica "lejana" se excedieron. El compilador se quedó sin memoria al colocar elementos en el montón "lejos". Este error suele ocurrir en los programas en memoria porque la tabla de nombres contiene demasiados nombres. Para solucionar este problema, intente compilar con la opción Depurar desactivada o intente incluir menos archivos de inclusión. Si este método no salva la situación, compile el programa con el comando QCL. C1061 "Limitaciones del compilador: también anidación profunda de bloques ". Anidar bloques en este programa excede las capacidades del compilador. Para solucionar esta situación, vuelva a escribir el programa para que el anidamiento de bloques sea menor. C1063 "Limitaciones del compilador: desbordamiento de la pila del compilador". Su programa es demasiado complejo porque ha provocado un desbordamiento de pila. Simplifique su programa y compile nuevamente.

D.1.2. Mensajes de error del compilador.

Los mensajes que se enumeran a continuación indican que su programa tiene errores. Cuando el compilador encuentra uno de los errores enumerados en esta sección, el programa continúa siendo examinado (si es posible) y los mensajes de error restantes continúan imprimiéndose. Sin embargo, el archivo de objeto no se crea. Mensaje de error del compilador número C2000 "Error no reconocido. Póngase en contacto con el servicio técnico de Microsoft". El compilador no puede determinar el tipo de error que encontró. Informe la condición de este error a Microsoft mediante el Registro de asistencia de productos específico que se encuentra en la portada de este manual. C2001 "Nueva línea encontrada en constante". Un carácter de nueva línea en un carácter o una constante de cadena no se usa en la forma correcta de una secuencia de escape (/ n). C2002 "Los parámetros reales de la macro superan los límites de memoria permitidos". Los argumentos del preprocesador de macros superan los 256 bytes. Se requiere ID C2003. No se encontró el identificador para verificar la condición en #if. Se requiere ID C2004. La directiva #if provocó un error de sintaxis. C2005 "Se requiere el número de línea en la directiva #line". A la directiva #line le falta el número de línea especificado. C2006 "La directiva #include requiere un nombre de archivo". A la directiva #include le falta una especificación de nombre de archivo. C2007 "Error de sintaxis de la directiva #define". Se encontró un error de sintaxis en la directiva #define. C2008 "" carácter ": no es posible en macros". Este símbolo se usó incorrectamente en la definición de macro. C2009 "Reutilización de parámetro formal" identificador de "macro". Este identificador se utilizó dos veces en la lista de parámetros formales de la macrodefinición. C2010 "" carácter ": no es posible en la lista formal". Este símbolo se utilizó incorrectamente en la lista de parámetros formales de una macrodefinición. C2011 "" identificador ": definiciones demasiado grandes". Esta macro tiene más de 256 bytes. C2012 "Falta el nombre siguiente"<"". В директиве #include не хватает требуемой спецификации имени файла. C2013 "Не хватает знака "> "". El corchete angular de cierre (>) falta en la directiva #include C2014 "Un comando de preprocesador debe comenzar con el primer carácter significativo (que no sea un espacio en blanco)". Los caracteres que no son espacios en blanco aparecen antes del signo # en la directiva del preprocesador en la misma línea. C2015 "Demasiados caracteres en una constante". Una constante de carácter contiene más de un carácter o se utilizó una secuencia de escape. C2016 "Falta una comilla simple de cierre". La constante de caracteres no se incluyó entre comillas simples. C2017 Secuencia de escape no válida. El carácter o los caracteres que siguen al signo (\) no tienen la forma correcta para una secuencia de escape. C2018 "Carácter desconocido" Carácter de buey "". Este número hexadecimal no coincide con el carácter. C2019 "Requiere comando de preprocesador, carácter encontrado" carácter "" Este carácter sigue al signo (#), pero no es la primera letra de una directiva de preprocesador. C2020 Carácter octal no válido. " Este carácter no es un dígito octal válido. C2021 "número" es demasiado grande para el carácter ". El número "número" es demasiado grande para representar el carácter. C2023 División por cero. El segundo operando de la división (/) se evalúa como cero. lo que puede dar lugar a resultados impredecibles. C2024 Módulo 0. El segundo operando en el resto de la operación (%) se evalúa en cero, lo que puede dar lugar a resultados impredecibles. C2025 "" identificador ": anulando el tipo enum / struct / union". Este identificador ya se ha utilizado en una enumeración, estructura o etiqueta de mezcla. C2026 "" identificador ": anular el número de enumeración". Este identificador ya se ha utilizado en una constante de enumeración, ya sea en el mismo tipo de enumeración o en otro tipo de enumeración de la misma forma. C2028 "Un miembro / mezcla debe estar dentro de la estructura / mezcla" Los miembros de una estructura o mezcla deben describirse dentro de la estructura o mezcla. Este error puede deberse a una descripción de una enumeración que contiene una descripción de un miembro de la estructura, como en el siguiente ejemplo: enum a (january, february, int march; / * descripción de la estructura: ** no válido * / ); C2029 "" identificador ": los campos de bits sólo se permiten en estructuras". Solo las estructuras pueden contener campos de bits. C2030 "" identificador ": anulación de miembro de estructura / mezcla". Este identificador se ha utilizado más de una vez como miembro de la misma estructura / mezcla. C2031 "" identificador ": la función no puede ser miembro de una estructura o de una mezcla". Esta función se ha descrito como miembro de una estructura o mezcla. Utilice un puntero de función para corregir este error. C2032 "" identificador ": el tipo base con palabras clave cerca / lejos / enorme no está permitido." Un miembro o una mezcla determinados se han descrito con las palabras clave lejos y cerca. C2033 "" identificador ": el operador de indirección (*) no se puede aplicar a los campos de bits". Este campo de bits se ha descrito como un puntero (*), que no está permitido. C2034 "" identificador ": campo de bits demasiado pequeño para el número de bits especificado". El número de bits especificado en las descripciones del campo de bits es mayor que% m el número de bits en la base m dada (n. C2040 "". "Requiere el nombre de la estructura o mezcla." C2041 "La palabra clave 'enum 'es incorrecta. "La palabra clave" enum "aparece en la descripción de la estructura o mezcla, o la definición del tipo" enum "se formó incorrectamente. C2042" las palabras clave firmadas / sin firmar son mutuamente excluyentes ". Las palabras clave se utilizaron simultáneamente en la misma descripción, como en el siguiente ejemplo: unsignedigned int i; C2043 "Sentencia break no válida". La sentencia break solo se permite dentro de sentencias do, for, while o switch. C2044 "Sentencia continue no válida. "La instrucción continue solo se permite dentro de una instrucción do, for o while. C2045" "identificador": redefine la etiqueta. "Esta etiqueta apareció antes que más, de un operador en la misma función. C2046 Palabra clave de mayúsculas y minúsculas no válida. La palabra clave case solo puede aparecer dentro de una declaración de cambio. C2047 "Palabra clave predeterminada no válida". La palabra clave predeterminada solo puede aparecer dentro de una declaración de cambio. C2048 "Más de un valor predeterminado". La declaración de cambio contiene más de una etiqueta predeterminada. C2050 No es una expresión de cambio de números enteros. La expresión de cambio no es un número entero. C2051 "Expresión de caso no constante". Las expresiones de caso deben ser constantes enteras. C2052 "La expresión de caso no es un número entero". Las expresiones de caso deben ser constantes enteras. C2054 "El valor del caso" número "ya se ha utilizado". Este valor de caso ya se ha utilizado en una declaración de cambio. C2054 "Requiere el signo" ("después del identificador" identificador "". El contexto requiere paréntesis después de la función "identificador". C2055 "Requiere una lista de parámetros formales, no la lista de tipos." La lista de tipos de argumentos apareció en la función definición en lugar de la lista de parámetros formales ... C2056 Expresión no válida. Debido al error anterior, la expresión no es válida (es posible que el error anterior no haya causado un mensaje de error). C2057 Se requiere expresión constante. El contexto requiere una expresión constante. C2058 Expresión constante, no entero. El contexto requiere una expresión constante entera. C2059 "Error de sintaxis: 'token'". El token proporcionado provocó un error de sintaxis. Error de sintaxis C2060: EOF. Se encontró un final inesperado del archivo, lo que provocó un error de sintaxis. Este error puede ser causado por el paréntesis de cierre omitido ")" al final de su programa. C2061 "Error de sintaxis: identificador" identificador ". El identificador dado provocó un error de sintaxis. C2062 "Tipo" tipo "no es necesario". Este tipo se ha utilizado incorrectamente. C2063 "" identificador ": no es una función". Este identificador no se declara como una función, pero se intentó utilizarlo como una función. C2064 "El término no se evalúa en la función". Se intentó llamar a una función usando una expresión que, cuando se evalúa, no da un puntero a la función. C2065 "" identificador ": no definido". El identificador dado no está definido. C2066 Conversión a función incorrecta. El objeto se ha convertido en un tipo de función. C2067 "La conversión al tipo de matriz no es válida". El objeto se ha convertido en un tipo de matriz. C2068 Conversión de tipo incorrecta. El tipo utilizado en el casting no es correcto. C2069 "Fundición de tipo vacío a tipo no vacío". El tipo vacío se ha convertido en un tipo diferente. C2070 Tamaño de operando no válido. El operando de la expresión sizeof no es un identificador ni un nombre de tipo. C2071 "" clase ": clase de almacenamiento no válida". Esta clase de memoria no se puede utilizar en tal contexto. C2072 "" identificador ": inicialización de la función". Se intentó inicializar una función. C2073 "" identificador ": no se puede inicializar la matriz en la función". Se intentó inicializar esta matriz dentro de una función. Una matriz solo se puede inicializar externamente. C2074 "Está prohibido inicializar estructura o mezcla en función". Se intentó inicializar una estructura o mezcla determinada dentro de una función. Las estructuras y funciones solo se pueden inicializar externamente. C2075 "" identificador ": la inicialización de la matriz solo requiere llaves". Las llaves () se omitieron durante la inicialización de la matriz. C2076 "" identificador ": la inicialización de estructura o mezcla solo requiere llaves". Se omitieron las llaves () al inicializar una estructura o mezcla. C2077 Inicializador no entero para el campo "identificador". Se intentó inicializar un miembro de un campo de bits de estructura con un valor no entero. C2078 Demasiados inicializadores. El número de inicializadores supera el número de objetos que se inicializan. C2079 "" identificador "- estructura o mezcla indefinida". Este identificador se ha descrito como una estructura o mezcla de tipo indefinido. C2082 Redefinir el parámetro formal 'identificador'. El parámetro formal de la función se ha redefinido en el cuerpo de la función. C2083 "El identificador" de la matriz "ya está dimensionado". La dimensión de esta matriz ya se ha descrito. C2084 Identificador de "función" "ya tiene cuerpo". Esta función ya ha sido definida. C2085 "" identificador ": no en la lista formal de parámetros". Este parámetro fue declarado en la definición de función para un parámetro formal inexistente. C2086 "" identificador ": anular". Este identificador se ha identificado más de una vez. C2087 "" identificador ": falta el descriptor". En la definición de una matriz con múltiples descriptores, el valor del descriptor se omitió para una dimensión distinta a la primera, como en el siguiente ejemplo: int func (a) char a; / * inválido * / (...) int func (a) char a; / * correcto * / (...) C2088 "Uso de" identificador "indefinido de enumeración / estructura / mezcla". Este identificador se refiere a una estructura o mezcla, cuyo tipo no está definido. C2089 "typedef define una función cercana / lejana". El uso de las palabras clave near o far en una declaración typedef es incompatible con el uso de las palabras clave near o far en el elemento declarado, como en el siguiente ejemplo. typedef int far FARFUNC (); FARFUNC cerca de * fp; C2090 "La función devuelve una matriz". La función no puede devolver una matriz (solo puede devolver un puntero a una matriz). C2091 "La función devuelve una función". Una función no puede devolver una función (solo puede devolver un puntero a una función). C2092 "El elemento de matriz no puede ser una función". No se permiten matrices de funciones; sin embargo, se pueden utilizar matrices de punteros de función. C2093 "No se pueden inicializar estructuras o datos estáticos con direcciones variables automáticas". C2098 Expresión sin dirección. Se intentó inicializar un elemento de datos que no es una expresión de dirección. C2099 Desplazamiento no constante. El inicializador utilizó un desplazamiento no constante. C2100 "Uso incorrecto del operador (*)". El operador (*) se ha aplicado a un no puntero. C2101 "" & "en constante". El operador (&) no tiene ningún valor de dirección como operando. C2102 "" & "Se requiere valor de dirección". El operador de direccionamiento (&) debe aplicarse al valor de la dirección. C2103 "" & "en variable de registro". Se intentó tomar la dirección de una variable de registro. C2104 "" & "en campo de bits". Se intentó tomar la dirección del campo de bits. C2105 "El" operador "requiere un valor de dirección". Este operador no tiene operando de dirección. C2106 "" operador ": el operando izquierdo debe ser direccionable". El operando izquierdo de este operador no es direccionable. C2107 "Índice no válido, nomenclatura indirecta (*) no permitida". Se ha aplicado un descriptor a una expresión que no evalúa a un puntero. C2108 Índice no entero. Se utilizó una expresión no entera como descriptor de matriz. Descriptor sin arreglo C2109. El descriptor se usó en una variable que no es una matriz. C2110 "" + ": 2 punteros". Se intentó agregar un puntero a otro. C2111 Puntero + valor no entero. Se intentó agregar un valor no entero a un puntero. C2112 Resta de puntero no válida. Se intentó restar punteros que no apuntan al mismo tipo. C2113 "" - ": operando del puntero derecho". El operando derecho en la resta (-) es un puntero, pero el operando izquierdo no lo es. C2114 "" operador ": puntero a la izquierda; número entero requerido a la derecha". El operando de la izquierda en este operador es un puntero; el operando derecho debe ser un valor entero. C2115 "" identificador ": tipos incompatibles". La expresión contiene tipos incompatibles. C2116 "" operador ": operando izquierdo (o derecho) no válido". El operando especificado de este operador no coincide con este operador. C2117 "" operador ": No válido para estructura o mezcla". El significado de estructura y mezcla no está permitido con este operador. C2118 Descriptor negativo. El valor que determina el tamaño de la matriz es negativo. C2119 "" typedefs "ambos definen un nombre indirecto (*)". Se utilizaron simultáneamente dos tipos de typedef para declarar un elemento de datos, y ambos tipos de typedef tienen un nombre indirecto. Por ejemplo, la declaración p en el siguiente ejemplo no es válida: typedef int * P INT; typedef short * P SHORT; / * esta declaración no es válida * / P SHORT P INT P; C2120 "" void "-invalido con todos los tipos". El tipo void se utilizó en una declaración con un tipo diferente. C2121 "typedef define otra enumeración". Se intentó utilizar el tipo declarado en el operador typedef para especificar tanto un tipo de enumeración como un tipo diferente. C2122 "typedef define una estructura diferente". Se intentó utilizar el tipo declarado en la declaración typedef para especificar tanto el tipo de estructura como otro tipo. C2123 "typedef define una mezcla diferente". Se intentó utilizar el tipo declarado en la declaración typedef para especificar tanto un tipo de mezcla como un tipo diferente. C2125 "" idetifier ": Datos ocupados por más de 64K": este elemento de datos excede el límite de tamaño de 64K. C2126 "" identificador ": el tipo de datos automático supera los 32K". La memoria ocupada por las variables locales de la función supera el límite especificado. C2127 La memoria de parámetros supera los 32K. La memoria requerida para los parámetros de la función excede el límite de 32K. C2129 "No se ha encontrado el" identificador "de la función estática." Se hizo referencia a una función estática que nunca se definió. C2130 "#line requiere una línea que contenga el nombre del archivo". El nombre del archivo se ha omitido de la directiva #line. C2131 "Atributos cercanos / lejanos / enormes especificados más de una vez". Las palabras clave cerca y lejos se han aplicado a un elemento de datos más de una vez, como en el siguiente ejemplo: typedef int near NINT; NINT lejos a; / * no válido * / C2132 "Error de sintaxis: identificador inesperado". El identificador apareció en un formato sintácticamente incorrecto. C2133 "Identificador" de matriz ": tamaño desconocido" Se intentó describir una matriz con un tamaño no asignado, como en el siguiente ejemplo: int mat add (matriz1) int matriz1; / * correcto * / (int array2; / * incorrecto * / ...) C2134 "" identificador ": estructura o mezcla es demasiado grande". El tamaño de la estructura o mezcla excede el límite establecido por el compilador (232 bytes). C2135 "Falta carácter") "en extensión de macro". El paréntesis de cierre se omitió en la llamada al comando macro con argumentos. C2137 Constante de carácter vacía. Se utilizó una constante de carácter vacía no válida (""). C2138 "/ *" discrepancia en el borde de cierre del comentario ". El compilador encontró un delimitador de comentario de apertura (/ *) sin un delimitador de cierre coincidente (* /). Este error puede ocurrir debido a un intento de utilizar comentarios anidados incorrectos. C2139 "El tipo seguido de" tipo "no es válido". Combinación incorrecta de tipos, como en el siguiente ejemplo: long char a; C2140 "El tipo de argumento no puede ser una función de retorno. .. ". La función fue declarada como un parámetro formal de otra función, como en el siguiente ejemplo: int funcl (a) int a (); / * invalid * / C2141" Para una constante de enumeración, el valor excede los límites permitidos . "la enumeración tiene un valor que excede los límites de un int C2142" La elipsis requiere tres puntos ". El compilador encontró un token que contenía dos puntos (..) y un error de sintaxis anterior a C2143: falta el token antes del token" token2 "" . El compilador espera aparecer antes de token2-token1. Este mensaje puede aparecer si faltan la llave de cierre requerida ()), el corchete derecho ()) o el punto y coma (;). C2144 "Error de sintaxis: falta el token" token "antes el tipo "tipo" ". El compilador requiere el token dado antes del tipo dado. Este mensaje puede aparecer precedido por una llave de cierre ()), un corchete derecho ()) o un punto y coma (;). C2145" Error de sintaxis : antes de id al identificador le falta el lexema "token" ". El compilador requiere la presencia de este lexema antes del identificador. Este mensaje puede aparecer si falta el punto y coma (;) en la última declaración de bloque. C2146 "Error de sintaxis: falta el token" token "antes del identificador" identificador ". El compilador requiere el token dado antes del identificador dado. C2147 "Matriz: tamaño desconocido". Se intentó aumentar el índice, o un puntero a una matriz, cuyo tipo base aún no se ha declarado. C2148 "Array demasiado grande". La matriz excede el tamaño máximo permitido (232 bytes). C2149 "" identificador ": este campo de bits no puede ser de ancho cero". El campo de bits con el nombre de pila es de ancho cero. Solo los campos de bits sin nombre pueden tener un tamaño de cero. C2150 "" identificador ": el campo de bits debe ser int, con signo int o unsigned int. ANSI C requiere que los campos de bits sean int, con signo int o unsigned int. Este mensaje solo puede aparecer cuando se compila con la opción / Za. C2151" Más de un atributo cdecl / fortran / pascal especificado. "Se especificó más de una palabra clave de convención de llamada a función. C2152" "identificador": punteros a funciones con diferentes atributos. "Se intentó asignar un puntero de función, declarado - uno con algunos convenciones vinculantes (cdecl, fortran o pascal): un puntero a una función declarada con otras convenciones vinculantes. C2153 Las constantes hexadecimales deben tener al menos un dígito hexadecimal. Ox u OX son constantes hexadecimales inválidas. La "x" o la "X" deben ir seguidas de al menos un dígito hexadecimal. C2154 "" nombre ": no relacionado con el segmento". El nombre de la función name fue el primer identificador especificado en la lista de argumentos del pragma alloc_text, y ya está definido como cualquier otro nombre que no sea el nombre del segmento. C2155 "nombre" nombre: ya en el segmento ". El nombre del nombre de la función aparece en más de un pragma de texto alloc_. C2156 "El pragma debe estar en el nivel externo". Algunos pragmas deben definirse globalmente, fuera del cuerpo de la función, y uno de estos pragmas terminó dentro de la función. C2157 "" nombre ": este nombre debe describirse antes de usarse en la lista pragma." Este nombre de función de la lista de funciones del pragma alloc_text no se describió antes de incluirse en la lista. C2158 "" nombre ": es una función". El nombre se especificó en la lista de variables pragma same_seg, pero anteriormente se declaró como una función. C2159 Más de una clase de memoria definida. En la descripción se especificó más de una clase de almacenamiento, como en el siguiente ejemplo: extern static int i; C2160 "## no puede aparecer al principio de una definición de macro". Una definición de macro comienza con un operador de sustitución de token, como en el siguiente ejemplo: #define mac (a, b) ## a ... C2161 "## no puede estar al final de una definición de macro". Una definición de macro termina con un operador de sustitución de token (##). C2162 Se requiere un parámetro macro formal. El token que sigue al operador (#) no es un nombre de parámetro formal, como en el siguiente ejemplo: #Define print (a) printf (#b) C2163 "" string ": missing, like intrínseco". La función definida en la lista de funciones para el pragma intrínseco o de función no es una de las funciones disponibles en la forma intrínseca. C2165 "" palabra clave ": no se pueden cambiar los punteros a los datos". Las palabras clave fortran, pascal o cdecl se utilizaron incorrectamente para modificar un puntero a datos, como en el siguiente ejemplo: char pascal * p; C2166 "El valor define un objeto que pertenece a la clase de almacenamiento 'const'". Se intentó asignar un valor a un elemento de datos declarado con una clase de memoria constante. C2167 "" nombre ": demasiados parámetros reales para intrínseca. La referencia de nombre de función intrínseca contiene demasiados parámetros reales. C2168" "nombre": muy pocos parámetros reales para intrínseca ". La referencia de nombre contiene muy pocos parámetros reales. C2169 "" nombre ": es intrínseco, no se pudo determinar." Se intentó definir una función ya descrita como intrínseca. C2171 "" operador ": operando no válido". Este operador unario se usó con un operando incorrecto, como en el siguiente ejemplo: int (* fp) (); doble d, d1; ... ... ... fp ++; d = ~ d1 C2172 "" función ": no es realmente un puntero, el número de parámetro es" número ". Se intentó pasar un argumento que no es un puntero a una función que requiere un puntero. Este número indica qué argumento no es válido. C2173" "función": no es realmente un puntero, parámetro "número": lista de parámetros "número" ". Se intentó pasar un argumento no puntero a una función que requiere un puntero. Este error puede ocurrir en llamadas que devuelven un puntero a El primer número indica qué argumento causó el error; el segundo número indica qué lista de argumentos contiene el argumento no válido. C2174 "" función ": en realidad es de tipo void: parámetro" número ", lista de parámetros" número "" Fue un intento hecho para pasar un argumento de tipo void a una función. Los parámetros formales y los argumentos de función no pueden ser de tipo void; sin embargo, pueden ser de tipo void * (un puntero a void). Este error ocurre en llamadas que devuelven un puntero a un función. p indica qué argumento causó el error; el segundo número indica qué lista de argumentos contiene el argumento no válido. C2175 "" función ": refX sin resolver". Esta función no está definida en el archivo fuente, ya sea integrada en el entorno de programación QUICK-C o en la biblioteca QUICK, si está cargada. Este error ocurre solo en programas de un solo módulo integrados en el entorno Quick-C. Para resolver este problema, defina la función en el archivo fuente o cargue la biblioteca QUICK que contiene la función dada, o (si la función está contenida en la biblioteca estándar de funciones SI), cree una lista de programas para el programa. C2177 "Constante demasiado grande". Se perdió información porque la constante es demasiado grande para reemplazar el tipo al que está asignada. (una)

D.1.3. Mensajes de advertencia.

Los mensajes enumerados en esta sección revelan algunos problemas potenciales, pero no interfieren con la compilación y el enlace. El número entre paréntesis al final de un mensaje de error indica el nivel de advertencia mínimo establecido para ese mensaje. Número Mensaje de advertencia C4000 "Advertencia no reconocida, póngase en contacto con el servicio técnico de Microsoft". El compilador encontró un error desconocido. Informe este error a Microsoft Corporation mediante el formulario de solicitud de asistente de producto que se encuentra al final de este manual. C4001 "El identificador de macro" requiere parámetros ". Este identificador se definió como una macro que tiene uno o más argumentos, pero se usa en el programa sin argumentos. (una). C4002 "Demasiados parámetros reales para el identificador macro". El número de argumentos reales utilizados con este identificador es mayor que el número de parámetros formales especificados en la definición macro de este identificador. (una). C4003 "No hay suficientes parámetros reales para el" identificador "de macro". El número de argumentos reales utilizados con este identificador es menor que el número de parámetros formales especificados en la definición macro de este identificador. (una). C4004 Falta paréntesis de cierre después de definido. Falta el paréntesis de cierre después de la cláusula #if definida. (una). C4005 "" identificador ": redefinir". Este identificador se ha redefinido. (una). C4006 "La directiva #indef requiere un identificador". La directiva #indef contiene un identificador que no está definido. (una). C4009 "Línea demasiado larga, los caracteres finales están truncados". El tamaño de la línea excede el límite establecido por el compilador. Para corregir esta situación, divida la cadena en dos o más subcadenas. (una). C4011 "El identificador se ha truncado a" identificador "". Solo se aceptan los primeros 31 caracteres del identificador. (una). C4014 "" identificador ": el campo de bits debe ser de tipo unsigned. Este campo de bits no se ha descrito como unsigned. Los campos de bits deben describirse como enteros sin signo. El compilador convertirá este campo de bits en consecuencia. (1 ). C4014 "" identificador ": el campo de bits debe ser de tipo entero." El campo de bits se describió como un número entero. Los campos de bits deben describirse como enteros sin signo. Se aplicó una transformación. (1). C4016 " "identificador": ningún tipo devuelto por la función ". Esta función aún no se ha descrito o se ha definido, por lo que se desconoce el tipo del valor de retorno. Se asume el tipo estándar (int). (2). C4017 Conversión de una expresión entera a un puntero lejano. Otros punteros contienen direcciones de segmento completo. En el procesador 8086/8088, la conversión de un valor entero (int) a un puntero "lejano" puede crear una dirección con un valor de segmento sin sentido. (una). C4020 Demasiados parámetros reales. El número de argumentos especificados en la llamada a la función es mayor que el número de argumentos formales especificados en la lista de argumentos de la definición de la función. (una). C4021 "Muy pocos parámetros reales". El número de argumentos especificados en la llamada a la función es menor que el número de parámetros formales especificados en la lista de argumentos de la definición de la función. (una). C4022 Discrepancia de puntero: parámetro n. El tipo de puntero de este parámetro es diferente del tipo de puntero especificado en la lista de argumentos de la definición de función. (una). C4024 "Varios tipos: parámetro n". El tipo de este parámetro de función no coincide con el tipo especificado en la lista de argumentos de la definición de función. (una). C4025 "La descripción de la función especifica la lista de argumentos de variable". La lista de tipos de argumentos de una definición de función termina con una coma seguida de puntos suspensivos, lo que significa que la función puede tomar un número variable de argumentos, pero no se han descrito parámetros formales para la función. (una). C4026 "La función se ha descrito con una lista de parámetros formal". Se describió que la función tomaba argumentos, pero la definición de la función no especificaba parámetros formales. (una). C4027 "La función se describió sin una lista de parámetros formal". Se describió que la función no acepta argumentos (la lista de tipos de argumentos consiste en la palabra void), pero los parámetros formales se especificaron en la definición de la función, o los parámetros reales se especificaron en la llamada a la función. (una). C4028 "La descripción del parámetro n es diferente". El tipo de este parámetro es inconsistente con el tipo correspondiente en la lista de tipos de argumentos, o con el parámetro formal correspondiente. (una). C4029 "La descripción de la lista de parámetros difiere de la definición": La lista de tipos de argumentos especificada en la descripción de la función no coincide con los tipos de parámetros formales especificados en la definición de la función. (una). C4030 "La primera lista de parámetros es más larga que la segunda". La función se ha descrito más de una vez, con diferentes listas de tipos de argumentos. (una). C4031 "La segunda lista de parámetros es más larga que la primera". La función se ha descrito más de una vez, con diferentes listas de tipos de argumentos. (una). C4032 "Estructura / mezcla sin nombre como parámetro". El tipo de estructura o mezcla se pasó como un argumento sin nombre, es decir, una descripción de parámetro formal no puede usar un nombre y debe describir un tipo. (una). C4033 "La función debe devolver un valor". Si la función no se declara nula, debe devolver un valor. (2). C4034 "El tamaño del operador devolvió 0". El operador sizeof se aplicó al operando y el resultado fue 0. (1). C4035 "" identificador ": sin valor de retorno". La función se describe como devolver un valor, pero no es así. (2). C4036 "Lista de parámetros formales no esperados". La lista de parámetros formales se especificó en la descripción de la función. La lista de parámetros formales se ignora. (una). C4037 "" identificador ": se ignoran los parámetros formales." En la descripción de la función, ni la clase de memoria ni el nombre del tipo se encontraron antes de la descripción de los parámetros formales, como en el siguiente ejemplo: int * f (a, b, c); Se ignoran los parámetros formales. (una). C4038 "" identificador ": el parámetro formal tiene una clase de memoria no válida". Este parámetro formal se describió con una clase de memoria distinta de auto o registro. (una). C4039 "" identificador ": la función se utiliza como argumento" El parámetro formal de la función se describió como una función, lo cual es incorrecto. El parámetro formal se convertirá en un puntero de función (1). C4040 "Se ignora la palabra clave identificador cerca / lejos / en". Las palabras clave cerca o lejos no tienen ningún efecto sobre este identificador y, por lo tanto, se ignoran. (1). C4041 Identificador de "parámetro formal" "anulado". Este parámetro formal fue redefinido en el cuerpo de la función, haciendo que el parámetro real correspondiente para la función no esté disponible. (una). C4042 "El identificador tiene una clase de memoria no válida". La clase de memoria especificada no se puede utilizar en este contexto (por ejemplo, no se puede asignar una clase externa a los parámetros de una función). Se utilizó una clase de memoria estándar para este contexto en lugar de la inválida. (una). C4043 "" identificador ": tipo de vacío cambiado a int". Se ha declarado que un elemento de datos que no es una función es de tipo nulo. (una). C4045 "" identificador ": matriz desbordada". Se han especificado demasiados inicializadores para la matriz dada. Se ignorarán los inicializadores adicionales. (una). C4046 "&" en la función / matriz se ignora ". Se intentó aplicar el operador de direccionamiento (&) a un identificador que representa una función o una matriz. (una). C4047 "" operador ": diferentes niveles de denominación indirecta". Esta situación se ilustra con el siguiente ejemplo: char ** p; char * q; ... ... ... p = q; C4048 "La matriz se describe con diferentes descriptores". La matriz se ha descrito dos veces con diferentes tamaños. Se utiliza gran tamaño. (una). C4049 "" operador ": la denominación indirecta se aplica a diferentes tipos". El operador de nomenclatura indirecto (*) se utilizó en la expresión para acceder a valores de varios tipos. (una). Conversión de datos C4051. En una expresión, dos elementos de datos son de diferentes tipos, lo que convertirá los datos en el mismo tipo. (2). C4052 "Diferentes tipos de enumeración". Se han usado dos tipos diferentes de enumeración en la expresión. (una). C4053 "Al menos un operando vacío" Se utilizó una expresión vacía como operando. (una). C4056 Desbordamiento aritmético constante. El resultado de la operación es mayor que 0x7FFFFFFF. (una). C4057 Desbordamiento de multiplicación constante. El resultado de la operación es mayor que 0x7FFFFFFF. (una). C4058 "Se ha tomado la dirección de la variable de trama, DS! = SS". El programa se compiló con un segmento de datos estándar (DS) no igual al segmento de pila (SS), el programa intenta acceder a una variable de trama con un puntero cercano. (1) C4059 "Dirección de segmento perdida debido a la conversión". La conversión del puntero "lejos" (dirección completa del segmento) en el puntero "cercano" (desplazamiento) condujo a la pérdida de la dirección del segmento. (una). C4060 Conversión de dirección larga a dirección corta. La conversión de una dirección larga (puntero de 32 bits) a una dirección corta (puntero de 16 bits) resultó en la pérdida de la dirección del segmento. (una). C4061 "Discrepancia de argumento largo / corto: conversión aplicada". Los tipos básicos de parámetros reales y formales de una función son diferentes. El parámetro real se convierte al tipo de parámetro formal. (1) C4063 "" identificador ": función demasiado grande para el paso de optimización". Esta función no se ha optimizado porque no hay suficiente memoria para ello. Para remediar esta situación, reduzca el tamaño de la función dividiéndola en dos o más funciones más pequeñas. (0). C4066 "La tabla de nombres locales está llena; es posible que falten algunos nombres locales en la lista". El generador de listados ha ido más allá del alcance dinámico asignado para las variables locales, por lo que es posible que el listado original no incluya la tabla de nombres completa para todas las variables locales C4067 "La directiva va seguida de caracteres incomprensibles; se requiere una transición al siguiente carácter". La directiva del preprocesador va seguida de caracteres adicionales, como en el ejemplo siguiente: #endif NO_EXT_KEYS Esto se acepta en algunas versiones del compilador de Microsoft C, excepto en la versión 1.0 de Microsoft Quick C. (1). C4068 "Pragma desconocido". El compilador no pudo reconocer el pragma y lo ignoró. (una). C4069 Conversión de puntero cercano a entero largo. El puntero cercano se convirtió en un entero largo, que llenó los bits más significativos con el valor actual del segmento de datos, que no es igual a cero. (una). C4071 "" identificador ": prototipo de función no definido". El compilador llamó a esta función antes de que el compilador procesara el prototipo de función correspondiente. (3). C4072 No hay suficiente memoria para procesar la información de depuración. Compiló su programa con la opción / Zi, pero no hay suficiente memoria para generar la información de depuración adecuada. (una). C4073 "Anidamiento demasiado profundo, el anidamiento adicional se ignora durante la depuración". Las descripciones aparecieron en un nivel de anidación superior a 13. Como resultado, todas las descripciones se percibirán como si estuvieran en el mismo nivel. (una). Se utilizó C4074 "Una" extensión "no estándar. Esta extensión no estándar se usó mientras la opción Extensión de idioma en el cuadro de diálogo Compilar estaba deshabilitada o la opción / Ze estaba inactiva. Estas extensiones se dan en la Sección 8.1.4.6. "Uso de extensiones de idioma C de Microsoft: la opción de extensión de idioma". (si la opción / Za está habilitada, esta situación da un error). (3). C4075 "El tamaño de la expresión en la instrucción switch o la constante en la instrucción case es demasiado grande - convirtiendo a int". El valor que aparece en las sentencias switch o case es mayor que el tipo int. El compilador convierte este valor no válido en int. (una). C4076 "" tipo ": solo se puede utilizar con tipos enteros". Se ha aplicado un modificador de tipo con signo o sin signo a un tipo no entero, como en el siguiente ejemplo: unsigned double b; C4077 "Opción pragma check_stack desconocida". Se especificó una opción desconocida con la forma antigua de pragma check_stack, como en el siguiente ejemplo: #pragma check_stack yes En la forma antigua de pragma check_stack, el argumento pragma debe estar vacío + o -. C4079 Carácter inesperado. " Se encontró un separador inesperado en la lista de argumentos pragma "C4080". Se omitió el nombre del segmento. Se omitió el nombre del segmento en el primer argumento de la lista de argumentos pragma alloc_text. Esto sucede si el primer token en la lista de argumentos no es un identificador. Se requiere ID C4082. Faltaba un identificador en la lista de argumentos de pragma. C4083 "Omitido" ("". La lista de argumentos pragma omitió un paréntesis izquierdo abierto, como en el siguiente ejemplo: #pragma check_pointer on) C4084 "La palabra clave pragma es obligatoria". El token que sigue a la palabra clave pragma no es un identificador, como en el siguiente ejemplo: #pragma (on) C4085 "Obligatorio Se especificó un argumento no válido para la nueva forma de pragma check_stack, como en el siguiente ejemplo: #pragma check_stack (yes ) C4087 "" nombre ": descrito con una lista de parámetros vacía." Esta función se ha descrito como sin parámetros, mientras que la llamada a la función define los parámetros reales, como en el siguiente ejemplo: int fl (void); ... Fl (10); C4090 "Varios 'atributos" const ". Un puntero a un elemento de datos descrito como constante se pasó a una función cuyo parámetro formal correspondiente es un puntero a un elemento de datos que no es constante. Esto significa que este elemento de datos es puede modificarse sutilmente, como en el siguiente ejemplo: const char * p = "ascde"; int str (char * s); ... str (p); C4091 "No hay nombres descritos". El compilador encontró una descripción vacía, como en el siguiente ejemplo (2): int; C4092 "Descripción n "La enumeración / estructura / mezcla no tiene nombre". El compilador encontró una descripción vacía usando una estructura, mezcla o enumeración no ligada, como en el siguiente ejemplo: struct (...); C4093 Carácter de nueva línea no válido en constante de caracteres en código no válido. Una expresión constante en una directiva de preprocesador #if, #ifdef o #ifndef se evalúa como 0, lo que hace que el código correspondiente esté inactivo, y el carácter de nueva línea aparece en el código inactivo dado entre las comillas simples o dobles correspondientes. C4095 Demasiados argumentos para un pragma. En un pragma que tiene un solo argumento, aparece más de un argumento. C4096 "Un enorme se trata hasta ahora". Dado que el compilador Microsoft Quick-C no admite la palabra clave enorme, el elemento se trata como se describe con la palabra clave far. Si el elemento o la función aún debe ser de tipo enorme, vuelva a compilar el programa con el Compilador de optimización de Microsoft C. C4097 "Se encontró un carácter hexadecimal no ASCII en la línea". El carácter no ASCII dado se utilizó en la cadena de caracteres dada.

D.1.4. Limitaciones del compilador.

Para trabajar con el compilador Microsoft Quick-C, necesita tener suficiente memoria para manejar los archivos temporales que se utilizan para el procesamiento. Requiere memoria aproximadamente el doble del tamaño del archivo original.

La tabla D.1 enumera las limitaciones impuestas por el compilador de C. Si su programa excede uno de los límites especificados, se le informará al respecto mediante un mensaje de error.

Cuadro D.1. Limitaciones del compilador SI. Elemento de programa Descripción Restricciones Literales de cadena Longitud máxima de cadena, 512 bytes, incluida una terminación nula (\ 0). Constantes El tamaño máximo de una constante depende de su tipo; consulte la Guía de referencia del lenguaje SI. Identificadores La longitud máxima del identificador es de 31 bytes (no se aceptan caracteres adicionales). Descripciones El nivel máximo de anidamiento es de 10 niveles de anidación para definiciones de estructura o mezcla. Directivas de preproceso: tamaño máximo de macro: 512 bytes. basura de definición. Número máximo de 8 argumentos de parámetros reales en una macro. La longitud real máxima es de 256 bytes del argumento del preprocesador. El nivel máximo de anidamiento es 32 niveles de directivas #if, #ifdef, #ifndef. El nivel máximo de anidamiento es de 10 niveles de anidamiento para los archivos incluidos. El compilador no limita explícitamente el número y la complejidad de descripciones, definiciones y operadores en funciones individuales o en un programa. Si el compilador encuentra una función o programa que es demasiado grande o demasiado complejo para procesar, muestra un mensaje de error.

D.2 Mensajes de error de la línea de comandos

Los mensajes que indican errores en la línea de comando utilizada para invocar el compilador están en uno de los siguientes formatos: error fatal de línea de comando D1xxx: mensaje de texto Error fatal error de línea de comando D2xxx: mensaje de texto Error de advertencia de línea de comando D4xxx: mensaje de texto Advertencia. Si es posible, el compilador continúa imprimiendo un mensaje de advertencia. En algunos casos, los errores de la línea de comandos son irrecuperables y el compilador dejará de funcionar. Los mensajes de las Secciones D.2.1-D.2.3 describen errores en la línea de comandos.

D.2.1. Errores fatales en la línea de comandos.

Los siguientes mensajes describen errores fatales. El controlador del compilador no puede recuperarse de un error fatal; deja de funcionar después de que se imprime el mensaje. Número Mensaje de error fatal en la línea de comando D1000 Error fatal desconocido en la línea de comando. Póngase en contacto con los servicios técnicos de Microsoft. El compilador ha encontrado un error irrecuperable irrecuperable. Informe las condiciones de este error a Microsoft Corporation mediante el formulario de solicitud de asistencia del producto que se encuentra al final de este manual. D1001 "No se puede ejecutar 'nombre de archivo'". El compilador no puede encontrar este archivo en el directorio de trabajo actual o en otros directorios especificados por la variable PATH. D1002 "Demasiados archivos abiertos, no se puede redirigir" nombre de archivo "". No hay más archivos para redirigir la salida de la opción / P a un archivo. Intente modificar su archivo CONFIG.SYS y aumente el valor num en la línea files = num (si num es menor que 20).

D.2.2. Mensajes de error de la línea de comandos.

Tan pronto como el controlador del compilador encuentra uno de los errores enumerados en esta sección, (si es posible) continúa compilando el programa e imprime mensajes de error adicionales. Sin embargo, el archivo de objeto no se crea. No. Mensaje de error de la línea de comandos D2000 "Error de línea de comandos no reconocido, póngase en contacto con el servicio técnico de Microsoft". El compilador encontró un error desconocido. Informe este error a Microsoft Corporation mediante el formulario de solicitud de asistencia del producto que se encuentra al final de este manual. D2001 Demasiados nombres definidos con -D. Se han definido demasiadas constantes simbólicas con la opción de línea de comando / D. El límite habitual de definiciones en la línea de comandos es 16; si utiliza las opciones / u o / u, el límite aumenta a 20. D2002 El modelo predefinido ha sido cancelado. Se han definido dos modelos de memoria diferentes; se utiliza el modelo especificado en la línea de comando más adelante. D2003 Se omite el nombre del archivo de origen. No especificó un nombre para el archivo fuente compilado. D2007 "La opción está configurada incorrectamente, debe reemplazar" cadena1 "con" cadena2 "". Esta opción se proporcionó más de una vez con argumentos en conflicto cadena1 y cadena2. D2008 "Demasiados indicadores para la opción de cadena". Se especificaron demasiadas letras con la opción dada (por ejemplo, con la opción / O). D2009 "Carácter desconocido para cadena de opciones". No se reconoce una de las letras de esta opción. D2010 Opción de coma flotante desconocida. Esta opción de punto flotante (opción / FP) no es válida. D2011 Solo se permite una opción de punto flotante. Ha especificado más de una opción de punto flotante (/ FP) en la línea de comando. D2012 "Hay demasiadas opciones de creación de enlaces en la línea de comandos". Ha intentado especificar más de 128 opciones individuales y archivos de objeto para el vinculador en la línea de comandos. D2015 "Los archivos de ensamblaje no se procesan". Ha especificado un nombre de archivo con la extensión .ASM en la línea de comando. Dado que el compilador no puede invocar automáticamente el Ensamblador de macros (MASM), no puede ensamblar estos archivos. D2018 "No se puede abrir el archivo cmd del vinculador". El archivo de mapeo que pasa los nombres y las opciones del archivo de objeto al vinculador no se puede abrir. Este error puede ocurrir si algún archivo de solo lectura tiene el mismo nombre que el archivo de mapeo del vinculador. D2019 "No se puede sobrescribir el" nombre "del archivo original" ". Ha configurado el archivo de origen como salida. El compilador evita que el archivo fuente sea sobrescrito por uno de los archivos de salida del compilador. D2020 "La opción -Gc requiere la capacidad de habilitar palabras clave extendidas (-Ze)". La opción / Gc y la opción / Za se especificaron en la misma línea de comando. La opción / Gc requiere la capacidad de especificar la palabra clave cdecl extendida al acceder a las funciones de la biblioteca. D2021 "Argumento numérico" cadena "" no válido. Se especificó una cadena no numérica después de una opción que requiere un argumento numérico. D2022 "No se puede abrir el archivo de ayuda cl.hlp". Se especificó la opción / HELP, pero el archivo que contiene los mensajes de ayuda no se encontró en el directorio actual o en los directorios especificados por la variable PATH.

D.2.3. Mensajes de advertencia de la línea de comandos.

Los mensajes enumerados en esta sección describen problemas potenciales, pero no interrumpen la compilación y el enlace. Número de mensajes de advertencia D4000 "Advertencia de línea de comandos desconocida, póngase en contacto con el servicio técnico de Microsoft". El compilador detectó una situación desconocida. Informe esta situación a Microsoft Corporation mediante el formulario de solicitud de asistencia de productos que se encuentra al final de este manual. D4002 "Se ignora la opción de cadena desconocida". Una de las opciones dadas en la línea de comando no se reconoció y, por lo tanto, se ignoró. D4003 "80186/286 seleccionado para la generación de código, no 8086". Se especificaron ambas opciones: / G0 y / G2; se da preferencia a la opción / G2. D4004 Optimizado por tiempo, no por tamaño. Este mensaje confirmó el uso de la opción / Ot para la optimización. D4005 "No se puede ejecutar 'nombre de archivo'; inserte el disquete y presione cualquier tecla." El comando QCL no puede encontrar el archivo ejecutable especificado a lo largo de la ruta especificada. D4006 "Sólo se permite una de las opciones -P / -E / -EP, -P seleccionada". Se ha especificado más de una opción de salida del preprocesador. D4007 "La opción -C se ignora (también debe especificar -P o -E o -EP)". La opción / C debe usarse junto con una de las opciones de salida del preprocesador (/ E, / EP, / P). D4009 "Umbral solo para datos lejanos / grandes, ignorado". La opción / Gt se usó en un modelo de memoria que tiene casi punteros a datos. Solo se puede utilizar para modelos compactos y grandes. D4010 "Opción -Gp no aplicable, ignorada". La versión DOS de Microsoft C no admite la creación de perfiles. D4013 "El listado combinado tiene prioridad sobre el listado de objetos" Cuando se especifica la opción / Fc con una de las opciones / Fl o / Fa, se genera un listado combinado (/ Fc). D4014 "Valor numérico no válido para la cadena" cadena ". Usar número de valor predeterminado". Se especificó un valor no válido en un contexto que requiere un valor numérico específico. D4017 Opciones de verificación de pila en conflicto: verificación de pila cancelada. Ha especificado las opciones / Ge y / Gs en la línea de comandos de CL. La opción Gs tiene prioridad, por lo que el control de la pila se anula en este programa.

D.3. Mensajes de error en tiempo de ejecución.

Los errores de tiempo de ejecución se dividen en cuatro categorías: 1. Excepciones al realizar operaciones de punto flotante en el coprocesador o emulador matemático 8087/80287. Estas situaciones se describen en la Sección D.3.1.

2. Mensajes de error generados por la biblioteca en tiempo de ejecución que le informan de errores graves. Estos mensajes se enumeran y describen en la Sección D.3.2.

3. Los mensajes de error generados durante la llamada a los procedimientos de manejo de errores de la biblioteca en tiempo de ejecución - abortar, afirmar, cometer errores - tan pronto como el programa llama al procedimiento. Esta rutina escribe mensajes en la salida estándar. Para obtener una descripción de estos procedimientos y los mensajes de error asociados, consulte la Guía de referencia de la biblioteca de procedimientos de Microsoft-C.

4. Mensajes de error generados por llamadas de procedimientos matemáticos desde la biblioteca C en tiempo de ejecución. En caso de error, las rutinas matemáticas devuelven un valor erróneo y algunas imprimen un mensaje en la salida estándar. Para obtener una descripción de los procedimientos matemáticos y los mensajes de error asociados, consulte la Guía de referencia de la biblioteca de procesos de Microsoft-C.

D.3.1. Excepciones de coma flotante.

Los mensajes de error que se enumeran a continuación son generados por el coprocesador matemático 8087/80287. Para obtener una descripción de las fallas de hardware, consulte la documentación de la familia de procesadores Intel. Estos errores también pueden ser detectados por el emulador de punto flotante integrado en la biblioteca estándar Quick-C.

Al usar las asignaciones de palabras de control del coprocesador 8087/80287, se enmascaran las siguientes excepciones y, por lo tanto, no se producen Excepción Acción de enmascaramiento estándar

situación

Número demasiado pequeño La situación está enmascarada Pérdida de importancia El resultado se reduce a cero Pérdida de precisión La situación está enmascarada Para obtener información sobre cómo cambiar la palabra de control para operaciones de coma flotante, consulte las páginas de referencia _control87 en la Referencia de la biblioteca de procedimientos de Microsoft C.

Además, los siguientes errores no ocurren en el código generado con el compilador Microsoft Quick-C u obtenido con la Biblioteca estándar de C:

Límite inferior de pila de raíz cuadrada No emulado Las excepciones de punto flotante tienen el siguiente formato: error de tiempo de ejecución M61nn: MATH - error de punto flotante: mensaje de texto Número Excepciones de punto flotante M6101 No válido. Se ha producido una operación no válida. Esto suele suceder cuando se trata de incertidumbres. Este error hace que el programa se detenga con el código de salida 129. Excepciones numéricas durante las operaciones de coma flotante M6102 "Número demasiado pequeño". Se generó un número de coma flotante demasiado pequeño, su uso posterior conducirá a una pérdida de importancia. Estas situaciones suelen estar enmascaradas, capturadas y procesadas. El programa termina con el código de terminación 130. M6103 "División por cero". Se intentó dividir por cero. El programa termina con el código 131. M6104 "Overflow". Se produjo un desbordamiento durante una operación de punto flotante. El programa finaliza con el código 132. M6105 "Pérdida de importancia". Se produjo una pérdida de importancia durante una operación de punto flotante. Estas situaciones suelen estar disfrazadas; un valor demasiado pequeño se reemplaza por cero. El programa finaliza con un código de salida 133. M6106 Pérdida de precisión. Se ha producido una pérdida de precisión durante una operación de coma flotante. Esta situación suele pasar desapercibida porque casi todas las operaciones de coma flotante pueden provocar una pérdida de precisión. El programa termina con el código 134. M6107 "No se puede emular" Se intentó ejecutar una instrucción del coprocesador 8087 / / 80287, que no es válida y no es compatible con el emulador. El programa termina con el código 135. M6108 "Raíz cuadrada". El operando de raíz cuadrada es negativo. El programa sale con el código 136. (tenga en cuenta que la función sqrt de la biblioteca de procedimientos de C verifica el argumento antes de la ejecución y devuelve un error si el argumento es negativo; para obtener una descripción de la función sqrt, consulte el documento: Procedimiento Microsoft-C Referencia de biblioteca: M6110 "Stack Overflow" Una expresión de punto flotante provocó un desbordamiento de pila en el coprocesador o emulador 8087/80287. (Las situaciones de desbordamiento de pila se alcanzan en el límite de 7 niveles además de los ocho niveles que normalmente admite el 8087/80287 coprocesador) .código 138. M6111 "Límite inferior de la pila" La ejecución de una operación de punto flotante en el coprocesador o emulador 8087/80287 provocó el límite inferior de la pila. El programa termina con el código 139. M6112 "Claramente se generó un error". Se envió una señal que indica un error durante una operación de punto flotante con una llamada a subir (SIGFPE). El programa termina con el código 140.

D.3.1. Mensajes de error en tiempo de ejecución.

Los siguientes mensajes describen errores generados durante la ejecución del programa. Los números de error en tiempo de ejecución van de R6000 a R6999.

Los mensajes de error en tiempo de ejecución tienen la siguiente forma básica:

Error en tiempo de ejecución R6nnn - messagetext (- texto del mensaje) Número R6000 Mensaje de error en tiempo de ejecución "Desbordamiento de pila". Su programa ha desbordado el espacio de la pila. Esto puede suceder si su programa usa muchos datos locales o es recursivo. El programa sale con el código 255. Para corregir esta situación, recompile el programa usando el comando QCL con la opción / F y recompile el programa usando la opción del enlazador / STACK para acomodar la asignación de puntero nulo R6001 de pila grande. Durante la ejecución del programa, se modificó el contenido del segmento NULL. El segmento NULL es un lugar especial ubicado en direcciones de memoria baja que generalmente no se usa. Si el contenido del segmento NULL ha cambiado durante la ejecución del programa, esto significa que el programa se escribió en esta área, generalmente debido a un puntero nulo aplicado de manera negligente. Tenga en cuenta que su programa puede contener punteros nulos, pero este mensaje no se generará; este mensaje aparece sólo si se accede al área de memoria usando un puntero nulo Este error no hará que el programa se detenga; el mensaje de error va seguido de una terminación normal del programa. El error devuelve un código de salida distinto de cero. Este mensaje refleja la posibilidad de errores graves en el programa. Aunque el programa en el que ocurre tal error puede funcionar correctamente, es probable que dé errores en el futuro y puede fallar cuando se ejecuta en un entorno operativo diferente. R6002 "La biblioteca de procedimientos para operaciones con coma flotante no está cargada". Su programa requiere una biblioteca de punto flotante, pero esta biblioteca no está cargada. El programa termina con el código de error 255. Este error puede ocurrir en las dos situaciones siguientes: 1. El programa se compiló o se vinculó con una opción como / FPi87, que requiere un coprocesador 8087 o 80287, pero el programa se está ejecutando en un automóvil que no tiene uno. Para corregir el error, recompile el programa con la opción / FPi o instale un coprocesador. (Consulte la sección 9.3.5 de este manual para obtener más información sobre estas opciones y bibliotecas. 2. La cadena de formato para uno de los procedimientos de la familia printf o scanf contiene la especificación para el formato de punto flotante, mientras que los valores o variables con no es un punto flotante en el programa. El compilador Quick-C intenta minimizar el tamaño del programa cargando la biblioteca de soporte de punto flotante solo cuando es absolutamente necesario. Dado que no se encontraron especificaciones de punto flotante en las cadenas de formato, no se cargaron las rutinas de punto flotante necesarias. Para corregir este error, utilice un argumento de punto flotante para que coincida con la especificación de formato especificada. Esto hará que se cargue la biblioteca de soporte de coma flotante. R6003 Número entero dividido por cero. Se intentó dividir un número entero entre cero, con un resultado indefinido. El programa finaliza con el código 255. R6004 "Requiere DOS 2.0 o superior". El compilador Quick-C no se puede ejecutar en versiones del sistema operativo DOS anteriores a la 2.0. R6005 "No hay suficiente memoria para el ejecutivo". Los errores de R6005 a R6007 ocurren cuando los procedimientos llamados por una de las bibliotecas fallan, cuando el sistema operativo DOS no puede devolver el control al proceso principal. Este error indica que no hay suficiente memoria para cargar el programa llamado. R6006 "Formato no válido para exec". El archivo que está siendo ejecutado por una de las funciones exec no tiene el formato requerido por el archivo ejecutable. R6007 "Entorno ejecutivo no válido". Durante una llamada a una de las funciones ejecutivas, el sistema operativo DOS detectó un entorno incorrecto para el proceso hijo. R6008 No hay suficiente memoria para los argumentos. R6009 No hay suficiente memoria para el entorno del software. Los errores R6008 y R6009 pueden ocurrir al inicio del programa si hay suficiente memoria para cargar el programa, pero no hay suficiente espacio para el vector argv, el vector envp o ambos. Para evitar este problema, reescriba los procedimientos _setargv o _setenvp R6012 "Acceso incorrecto al puntero cercano". Se utilizó un puntero cercano nulo en el programa. Este error solo puede ocurrir cuando el control sobre los punteros está habilitado (es decir, si el programa se compiló con la opción Comprobación del puntero en el cuadro de diálogo Compilar, la opción / Zr en la línea de comando o cuando el pragma pointer_check está activo). R6015 Interrupción inesperada. El programa no se puede ejecutar porque contiene interrupciones inesperadas. Cuando se crean interrupciones en un programa de lista programado que se ejecuta en un entorno de software, Quick-C crea automáticamente archivos de objetos y los pasa al vinculador. Los archivos de objeto que se pasan al vinculador contienen las interrupciones requeridas por el entorno de programación Quick-C. Sin embargo, no puede ejecutar un programa derivado de estos archivos de objeto fuera del entorno de programación Quick-C.

D.3.3. Restricciones de tiempo de ejecución.

La Tabla D.2 enumera las restricciones de tiempo de ejecución de los programas. Si su programa viola una de estas restricciones, el sistema emite un mensaje de error apropiado. Cuadro D.2. Restricciones de tiempo de ejecución del software. Elemento de datos Descripción Restricciones Archivos Tamaño máximo de archivo 232-1 bytes (4 gigabytes) El número máximo de archivos abiertos simultáneamente (secuencias) es 20. Línea de comando El número máximo de caracteres es 128 (incluido el nombre del programa). Mesa de operaciones - Tamaño máximo. Entorno 32K.

Nota:

Se abren automáticamente cinco flujos estándar (stdin, stdout, stderr, stdaux, stdprn), dejando 15 flujos más para las necesidades del programa.

D.4. Mensajes de error del vinculador.

Esta sección describe los mensajes de error generados por el vinculador LINK (vinculador de superposición de Microsoft). Si ocurre un error fatal, el vinculador aborta. Los mensajes de error fatal tienen el siguiente formato:

Ubicación: error fatal L1xxx: texto del mensaje Los errores no fatales identifican problemas en el ejecutable. El vinculador LINK crea un ejecutable. Los errores no fatales tienen el siguiente formato:

ubicación: error L2xxx: texto del mensaje

Las advertencias también indican posibles problemas en el archivo ejecutable. El vinculador LINK crea un ejecutable. Las advertencias tienen el siguiente formato:

ubicación de origen: advertencia L4xxx: texto del mensaje

En estos mensajes, el origen es el archivo de entrada en el que se encontró el error, o el programa LINK si no hay ningún archivo de entrada. Si el archivo de entrada es un archivo .OBJ o .LIB y se conoce el nombre del módulo, el nombre del módulo se incluye entre paréntesis, como se muestra en el siguiente ejemplo:

SLIBC.LIB (archivo) MAIN.OBJ (main.c) TEXT.OBJ Los errores del vinculador pueden ocurrir tanto al invocarlo implícitamente usando el comando QCL como al invocarlo explícitamente usando el comando LINK. También pueden ocurrir cuando compila un programa que tiene una lista de programas o cuando crea un archivo ejecutable en el disco en Quick-C. Si se produce un error del vinculador en el entorno de programación de Quick-C, Quick-C muestra el mensaje: Error durante la fase de vínculo No se produjo el archivo .EXE. Presione ENTRAR para ver los errores del vinculador o haga clic en el botón de comando Aceptar. Los errores de la última pasada del vinculador se almacenan en un archivo llamado LINK.ERR. La siguiente lista contiene errores que se producen al vincular archivos de objeto mediante Microsoft Overlay Linker, LINK. Mensaje de error del vinculador L1001 "" opción ": nombre de opción poco claro". No aparece ningún nombre de opción único después del indicador de opción (/). Por ejemplo, el comando Link / N main; generará un error porque el programa LINK no puede determinar cuál de las opciones que comienzan con la letra "N" se refiere. L1002 "" opción ": nombre de opción no reconocido". Aparece un carácter no reconocido detrás del indicador de opción (/), como en el siguiente ejemplo: LINK / ABCDEF main; L1004 "" opción ": valor numérico no válido". Se especificó un valor numérico no válido para una de las opciones. Por ejemplo, una opción que requiere un valor numérico recibe una cadena de caracteres. L1006 "" opción ": el tamaño de la pila supera los 65535 bytes". El tamaño especificado para la pila es superior a 65535 bytes. l1007 "" opción ": el número de interrupción es mayor que 255". Se especificó un número mayor que 255 para la opción / OVERLAYINTERRUPT. L1008 "" opción ": límite para el número de segmentos demasiado grande." Se ha establecido un límite de segmento de más de 3072 (usando la opción / SEGMENTS). L1009 "" opción ": CPARMAXALLOC: valor no válido". El número especificado en la opción / CPARMAXALLOC no está en el rango 1-65535. L1020 No se han especificado módulos de objeto. No se especifica ningún nombre de archivo de objeto para el vinculador. L1021 "No se pueden adjuntar archivos de correspondencia". Un archivo de mapeo terminó dentro de otro archivo de mapeo. L1022 Archivo de coincidencia demasiado largo. La línea en el archivo de mapeo tiene más de 127 caracteres. L1023 Ejecución finalizada por el usuario. Pulsó CONTROL + C. L1024 Anidamiento de paréntesis derechos. En la línea de comando, el contenido de la superposición se escribió incorrectamente. L1025 Anidamiento entre paréntesis izquierdo. En la línea de comando, el contenido de la superposición se escribió incorrectamente. L1026 Desajuste entre paréntesis derecho. En la línea de comando en la especificación del contenido de la superposición, falta el paréntesis derecho. L1027 Desajuste entre paréntesis izquierdo. Falta el paréntesis izquierdo en la línea de comando en la especificación del contenido de la superposición. L1043 Tabla de asignación de memoria llena. El programa contiene más de 32768 llamadas largas, saltos largos u otros indicadores largos. Intente reemplazar enlaces largos por enlaces cortos si es posible y reconstruya el módulo de objeto L1045 "Demasiadas entradas TYPDEF. El módulo de objeto contiene más de 255 entradas TYPDEF. Estas entradas describen variables compartidas. Este error solo puede ocurrir en programas generados por Microsoft Quick-C compilador. u otros compiladores que admitan variables compartidas. (TYPDEF es un término del sistema operativo DOS. Se explica en el Manual de referencia del programador de Microsoft MS-DOS u otros libros de referencia de DOS). L1046 Demasiados nombres externos en un módulo ". Más de Se definen 1023 nombres externos en el módulo de objeto. Divida el módulo en partes más pequeñas. L1047 "Demasiados nombres de grupos, segmentos y clases en un módulo." El programa contiene demasiados nombres de grupos, segmentos y clases. Reduzca el número de grupos, segmentos o clases y reconstruir el archivo de objeto L1048 "Demasiados segmentos en un módulo". Mod de objeto ul tiene más de 255 segmentos. Divida el módulo o combine los segmentos. L1049 Demasiados segmentos. El programa tiene más de la cantidad máxima de segmentos permitidos. (la opción / SEGMENTS define el número máximo permitido; el valor predeterminado es 128). Repita el diseño con la opción / SEGMENTS con el número apropiado de segmentos. L1050 Demasiados grupos en un módulo. LINK encontró más de 21 definiciones de grupo (GRPDEF) en un módulo. Reduzca el número de definiciones de grupo o divida el módulo. (Las definiciones de grupo se explican en MS-DOS Programmer's Reference y otros libros de referencia de DOS. L1051 Demasiados grupos. Hay más de 20 grupos definidos en el programa, sin incluir DGROUP. Reduzca el número de grupos. L1052 Demasiados grupos. Muchos bibliotecas. "Se intentó vincular más de 32 bibliotecas. Combinar bibliotecas o usar módulos que requieran menos bibliotecas. L1053" Desbordamiento de la tabla de nombres ", nombres de segmentos, grupos, clases, archivos). Combine módulos o segmentos y reconstruya archivos de objetos. Elimine tantos nombres globales como sea posible. L1054 El número requerido de segmentos es demasiado grande. El enlazador no tiene suficiente memoria para acomodar una tabla que describe el número de segmentos requeridos (el valor predeterminado es 128 o el valor especificado en la opción / SEGMENTS). Vuelva a vincular, usando la opción / SEGMENTS para especificar menos segmentos (por ejemplo, 64 si el valor predeterminado se usó anteriormente), o libere algo de memoria eliminando TSR o tareas paralelas. L1056 Demasiadas superposiciones. Definitivamente hay más de 63 superposiciones en el programa. L1057 Registro de datos demasiado grande. El registro LIDATA (en la unidad de objeto) contiene más de 1024 bytes de datos. Este es un error de traductor. (LIDATA es un término del sistema operativo DOS y se puede encontrar en la Guía del programador de Microsoft MS-DOS u otros libros de referencia de DOS para obtener una explicación. Tenga en cuenta qué traductor (compilador o ensamblador) construyó el módulo de objeto incorrecto y bajo qué circunstancias. Informe esto Error al usar el formulario de Solicitud de asistencia de producto que se encuentra al final de este manual. L1070 "" nombre ": el tamaño del segmento es mayor que 64K". El segmento especificado contiene más de 64K código o datos. Repita la compilación y la vinculación en el modelo de memoria grande L1071 " El segmento _TEXT es mayor que 65520 bytes "Es muy probable que este error solo ocurra en programas C del modelo de memoria pequeña, pero puede ocurrir si cualquier programa con un segmento llamado _TEXT está vinculado por el comando LINK con la opción / DOSSEG. Los programas de memoria C deben reservar las direcciones de código 0 y 1; para fines de alineación este límite aumenta a 16. L1072 "El área total es más de 65536 bytes". El programa tiene más de 64 variables comunes. Este error no se puede producir en archivos de objeto generados con Microsoft Macro Assembler (MASM). Solo ocurre en programas compiladores que admiten variables compartidas. L1080 No se puede abrir el archivo de lista. El disco o el directorio raíz está lleno. Elimina o mueve archivos para liberar espacio. L1081 Desbordamiento de escritura de archivo ejecutable. El disco en el que se está escribiendo el archivo .EXE ejecutable está lleno. Libere algo de espacio en el disco y vuelva a vincularlo. L1083 No se puede abrir el archivo ejecutable. El disco o el directorio raíz está lleno. Elimina o mueve archivos para liberar espacio. L1084 "No se puede crear un archivo temporal". El disco o el directorio raíz está lleno. Libere algo de espacio en disco y vuelva a vincularlo. L1085 No se puede abrir el archivo temporal. El disco o el directorio raíz está lleno. Elimina o mueve archivos para liberar espacio. L1086 "No hay suficiente archivo temporal". Tenga en cuenta las circunstancias de esta situación y póngase en contacto con Microsoft Corporation mediante el formulario de solicitud de asistencia de producto al final de este manual. L1087 Fin inesperado del archivo temporal. Se ha eliminado el disco con el archivo de salida del vinculador temporal. L1088 Desbordamiento de escritura del archivo de listado. Al escribir un archivo de lista en el disco, el disco está lleno. Libere algo de espacio en disco y vuelva a vincularlo. L1089 "" nombre de archivo ": No se puede abrir el archivo de asignación". LINK no puede encontrar el archivo de mapeo especificado. Normalmente, se trata de un error tipográfico al especificar el nombre del archivo. L1090 ​​"No se puede volver a abrir el archivo de lista" A pedido, no se reemplazó el disco original. Repite el diseño. L1091 "Fin de archivo inesperado en biblioteca". Probablemente se eliminó el disco que contiene la biblioteca. Instale el disco que contiene la biblioteca y vuelva a vincular. L1093 "" nombre de archivo ": archivo de objeto no encontrado". El vinculador no puede encontrar el archivo de objeto especificado. Vuelva a proporcionar el nombre de archivo de objeto correcto y el vínculo. L1101 Módulo de objeto no válido. Uno de los módulos de objeto no es válido. Si este error ocurre después de la recompilación, comuníquese con Microsoft Corporation mediante el formulario de Solicitud de asistencia de producto adjunto al final de este manual. L1102 Fin de archivo inesperado. Se encontró un formato no válido para la biblioteca. L1103 Intento de acceder a datos fuera de los límites del segmento. La escritura especificada en el módulo de objeto continúa más allá de los límites del segmento. Este es un error de traductor. Tenga en cuenta qué traductor (compilador o ensamblador) creó el módulo de objeto incorrecto y las circunstancias en las que se creó. Informe esta situación a Microsoft Corporation mediante el formulario de solicitud de asistencia de productos que se encuentra al final de este manual. L1104 "" nombre de archivo ": biblioteca no válida". El archivo especificado no es un archivo de biblioteca válido. Este error finaliza el programa LINK. L1113 COMDEF no resuelto; error del sistema. Tenga en cuenta las circunstancias que rodean esta falla y comuníquese con Microsoft Corporation mediante el formulario de Solicitud de asistencia del producto que se encuentra al final de este manual. L1114 "Archivo no válido para / EXEPACK; volver a vincular sin la opción / EXEPACK". En un programa compilado, el tamaño de la imagen de inicio comprimida más el encabezado es mayor que la imagen de inicio descomprimida. Vuelva a vincular con la opción / EXEPACK. L2001 "Reparación de registros sin datos". El registro FIXUPP no tiene un registro de datos inmediatamente anterior. Probablemente sea un error del compilador. (Para obtener detalles sobre FIXUPP, consulte la Guía de referencia del programador de Microsoft MS-DOS). L2002 "Fixup record overflow on near call" number "frame seg" segname "target seg" segname "target offset" number "" Las siguientes condiciones pueden causar este error: -El programa se compila en un modelo de memoria pequeña con la opción / NT . -El grupo es de más de 64K. -El programa contiene saltos cortos entre segmentos o llamadas cortas entre segmentos. -El nombre del elemento de datos en el programa no corresponde a un procedimiento de la biblioteca de procedimientos conectados al enlace. -La declaración EXTRN en el archivo fuente en el ensamblador yachyke apareció en el cuerpo del segmento, como en el siguiente ejemplo: código SEGMENT público "CÓDIGO" EXTRN principal: inicio remoto PROC llamada remota inicio principal ret inicio código ENDP ENDS Se prefiere la siguiente construcción : EXTRN principal: código remoto SEGMENTO público "CÓDIGO" iniciar PROC llamar lejos inicio principal código ENDP ENDS Sobrescribir el archivo original y reconstruir el archivo objeto. (Para obtener más información sobre el segmento de trama y el segmento de destino, consulte el Manual de referencia del programador de Microsoft MS-DOS). L2003 Llamada distante para poseer datos de segmento. No se permiten llamadas de larga distancia a los datos del segmento propio. L2005 "Tipo de reparación no admitido". Resultó que el vinculador de Microsoft no admite el tipo de reparación. Probablemente sea un error del compilador. Tenga en cuenta las circunstancias de este error e infórmelas a Microsoft Corporation mediante el formulario "Solicitud de asistencia del producto" que se encuentra al final de este manual. L2012 "" nombre ": no coincide el tamaño del elemento de la matriz". Una matriz común "lejana" se describió con dos o más tamaños diferentes de elementos de matriz (por ejemplo, la primera vez que la matriz se describió como una matriz de caracteres y la segunda vez, como una matriz de números reales). L2013 Registro LIDATA demasiado grande. La entrada LIDATA en una unidad de objeto tiene más de 512 bytes, el tamaño máximo permitido. Este es un error del compilador. Informe las condiciones de este error a Microsoft mediante el formulario de solicitud de asistencia del producto que se encuentra al final de este manual. L2024 "" nombre ": nombre ya definido". Uno de los nombres de superposición especiales necesarios para admitir superposiciones se definió en el archivo de objeto. L2025 "" nombre ": nombre definido más de una vez". Elimine las definiciones de nombre innecesarias del archivo de objeto. L2029 Enlaces externos no resueltos. En uno o más módulos, uno o más nombres se describen como externos, pero no se han definido como públicos en ninguno de los módulos o bibliotecas. Después del mensaje, aparece una lista de referencias externas no resueltas, como se muestra en el siguiente ejemplo: EXIT en archivo (s): MAIN.OBJ (main.for) OPEN en archivo (s): MAIN.OBJ (main.for) El nombre que va antes de "en archivo (s)" es un nombre externo sin resolver. La siguiente línea contiene una lista de módulos de objeto que tienen referencias al nombre de pila. Este mensaje y la lista también se escriben en el archivo de mapa de memoria, si existe. L2041 Stack plus data excede 64K. El tamaño total del segmento de pila del programa más DGROUP supera los 64K; como resultado, el programa no se carga correctamente. L2043 "Dirección de inicio__ aulstart no encontrada". Si crea la biblioteca rápida con la opción / Q, el vinculador requiere el nombre __aulstart especificado como dirección de inicio. L4003 Llamada ilegal: compensación de compensación. Este error puede deberse a la compilación del programa en un modelo de memoria pequeña con la opción / NT. L4012 "/ Opción ALTA cancela / EXEPACK". Las opciones / HIGH y / EXEPACK no se pueden utilizar al mismo tiempo. L4015 "La opción / CODEVIEW anula / DSALLOCATE". Las opciones / CODEVIEW y / DSALLOCATE no se pueden utilizar al mismo tiempo. L4016 "La opción / CODEVIEW anula / EXEPACK". Las opciones / CODEVIEW y / EXEPACK no se pueden utilizar al mismo tiempo. L4020 "" nombre ": el tamaño del segmento de código es superior a 65500". Un segmento de código de 65501-65536 bytes de longitud se puede procesar incorrectamente en un procesador Intel 80286. L4021 Sin segmento de pila. El programa no tiene un segmento de pila definido con tipo STACK. Este mensaje no aparecerá al procesar módulos compilados con el compilador Microsoft Quick-C, pero no con el ensamblador de macros. Normalmente, cada programa debe tener un segmento de pila con el tipo de concatenación STACK. Si tiene razones especiales para no definir una pila, o definir una sin un tipo de unión STACK, puede ignorar este mensaje. Este mensaje también se puede recibir cuando se vincula con LINK versiones 2.40 y anteriores, ya que estos vinculadores miran las bibliotecas solo una vez. L4031 "" nombre ": segmento descrito en más de un grupo." El segmento ha sido descrito como miembro de dos grupos diferentes. Corrija el archivo original y reconstruya los archivos de objeto. L4034 "Más de 239 segmentos superpuestos; los adicionales están en la raíz". Las superposiciones no pueden declarar más de 239 segmentos de código. Todos los segmentos por encima de este límite se colocan en la raíz. L4045 "Nombre del archivo de salida" nombre "". El vinculador mostró el nombre de archivo de salida predeterminado en el indicador "Ejecutar archivo", pero debido a que se usó la opción / Q, se cambió el nombre de archivo de salida. L4050 Demasiados nombres globales. La opción / MAP se usó para obtener una lista ordenada de nombres globales en el archivo de asignación de memoria, pero se especificaron demasiados nombres para ordenar (más de 2048 nombres por defecto). Repita el enlace con la opción / MAP: number. El enlazador produce una lista desordenada de nombres globales. L4051 "" nombre de archivo ": no se encuentra la biblioteca". El vinculador no puede encontrar el archivo especificado. Ingrese un nuevo nombre, una nueva especificación de ruta o ambos. L4053 "VM.TMP: nombre de archivo no válido; ignorado". El nombre VM.TMP apareció como un nombre de archivo de objeto. Cambie el nombre del archivo y vuelva a vincularlo. L4054 "" nombre de archivo ": no se puede encontrar el archivo". El vinculador no puede encontrar el archivo especificado. Ingrese un nuevo nombre de archivo, una nueva especificación de ruta o ambos.

D.5 Mensajes de error de la utilidad LIB

Los mensajes de error generados por el administrador de la biblioteca, el programa LIB, tienen uno de los siguientes formatos: (nombre de archivo | LIB): error fatal U1xxx: texto del mensaje (nombre de archivo | LIB): error U2xxx: texto del mensaje (nombre de archivo | LIB): advertencia U4xxx: mensajes de texto El mensaje comienza con el nombre del archivo de entrada (nombre de archivo), si existe, o el nombre de la utilidad. Si es posible, el programa LIB imprime una advertencia y continúa. En algunos casos, los errores son irreparables y la utilidad LIB deja de funcionar. La utilidad LIB puede mostrar los siguientes mensajes: Número Mensajes de error de la utilidad LIB U1150 "El tamaño de la página es demasiado pequeño". El tamaño de la página de la biblioteca de entrada es demasiado pequeño, lo que significa que el archivo .LIB de entrada no es válido. U1151 Error de sintaxis: especificación de archivo no válida. Se especificó un operador de comando como un signo menos (-) sin un nombre de módulo apropiado. U1152 Error de sintaxis: se omite el nombre de la opción. Se especificó una barra inclinada de opción (/) sin una opción a continuación. U1153 Error de sintaxis: se omite el valor de la opción. La opción / PAGESIZE se especificó sin valor correspondiente. U1154 Opción desconocida. Se dio una opción desconocida. El programa LIB actualmente reconoce solo las opciones / PAGESIZE. U1155 Error de sintaxis: entrada no válida. Este comando no sigue la sintaxis correcta de la utilidad LIB descrita en el Capítulo 10, "Creación de bibliotecas rápidas y bibliotecas independientes". U1156 Error de sintaxis. Este comando no sigue la sintaxis correcta de la utilidad LIB descrita en el Capítulo 10, "Creación de bibliotecas rápidas y bibliotecas independientes". U1157 Falta una coma o un carácter de nueva línea. Se esperaba una coma o un retorno de carro en la línea de comando y no apareció. Esto puede significar una coma inadvertida, como en la siguiente línea: LIB math.lib, -mod1 + mod2; Esta línea debería verse así: LIB math.lib -mod1 + mod2; U1158 Retorno de carro omitido. O la respuesta a la consulta "Biblioteca de salida", o la última línea en el archivo de mapeo utilizado para ejecutar el programa LIB, no termina con un retorno de carro. U1161 No se puede cambiar el nombre de la biblioteca antigua. El programa LIB no puede cambiar el nombre de una biblioteca antigua con la extensión .BAK porque la versión .BAK ya existe con protección de solo lectura. Cambiar la protección de la versión anterior BAK. U1162 "No se puede volver a abrir la biblioteca". Una biblioteca antigua no se puede volver a abrir después de que se le haya cambiado el nombre con la extensión. BAK. U1163 Error al escribir el archivo de referencias cruzadas. El disco o el directorio raíz está lleno. Elimine o vuelva a compilar archivos para liberar espacio. U1170 Demasiados nombres. Más de 4609 nombres aparecieron en el archivo de la biblioteca. U1171 No hay suficiente memoria. El programa LIB no tiene suficiente memoria para ejecutarse. Elimine los programas paralelos y TSR y vuelva a intentarlo o aumente la memoria. U1172 No hay suficiente memoria virtual. Observe las circunstancias de esta falla y notifique a Microsoft Corporation mediante el formulario de "Solicitud de asistencia del producto" que se encuentra al final de este manual. U1173 Fallo del sistema. Tenga en cuenta las circunstancias de esta falla y notifique a Microsoft Corporation mediante el formulario de "Solicitud de asistencia del producto" que se encuentra al final de este manual. U1174 "marca: no publicado". Observe las circunstancias de esta falla y notifique a Microsoft Corporation mediante el formulario de "Solicitud de asistencia del producto" que se encuentra al final de este manual. U1175 "gratis: no publicado". Tenga en cuenta las circunstancias de esta falla y notifique a Microsoft Corporation mediante el formulario de "Solicitud de asistencia de producto" que se encuentra al final de este manual. U1180 Error al escribir en el archivo recuperado. El disco o el directorio raíz está lleno. Elimina o mueve archivos para liberar espacio. U1181 Error al escribir en el archivo de la biblioteca. El disco o el directorio raíz está lleno. Elimina o mueve archivos para liberar espacio. U1182 "" nombre de archivo ": No se puede crear un archivo extraíble". El disco o el directorio raíz está lleno o el archivo extraíble especificado ya existe con protección de solo lectura. Libere espacio en disco o cambie el tipo de protección de archivos. U1183 No se puede abrir el archivo de mapeo. No se encontró el archivo de mapeo proporcionado. U1184 Fin inesperado del archivo al ingresar el comando. Se encontró un carácter de fin de archivo en la respuesta a la solicitud. U1185 No se puede crear una biblioteca nueva. El disco o el directorio raíz está lleno o el archivo de la biblioteca ya existe con protección de solo lectura. Libere espacio en disco o cambie los atributos de seguridad del archivo de biblioteca. U1186 Error al escribir una nueva biblioteca. El disco o el directorio raíz está lleno. Elimina o mueve archivos para liberar espacio. U1187 "No se puede abrir VM.TMP". El disco o el directorio raíz está lleno. U1188 "No se puede escribir en la VM". Tenga en cuenta las circunstancias de esta falla y notifique a Microsoft Corporation mediante la Solicitud de asistencia del producto al final de este manual. U1189 No se puede leer desde la VM. Tenga en cuenta las circunstancias que rodean este error y comuníquese con Microsoft Corporation mediante la Solicitud de asistencia del producto al final de este manual. U1190 Interrumpido por el usuario. Interrumpió el programa LIB antes de salir. U1200 "" nombre ": encabezado de biblioteca no válido". El archivo de la biblioteca de entrada no tiene el formato correcto. No es un archivo de biblioteca o está dañado. U1203 "" nombre ": módulo de objeto no válido en la dirección cercana". Un módulo llamado "nombre" es un módulo de objeto no válido. U2152 "" nombre de archivo ": no se puede crear la lista". El disco o directorio está lleno o el archivo de referencia cruzada ya existe con protección de solo lectura. Libere espacio en disco o cambie los atributos del archivo. U2155 "" modulename ": módulo no encontrado en la biblioteca; ignorado". El módulo especificado no se encontró en la biblioteca de entrada U2157 "" nombre de archivo ": no se pudo acceder al archivo." El programa LIB no pudo abrir el archivo especificado. U2158 "" nombre de biblioteca ": encabezado de biblioteca no válido; se ignora el archivo." La biblioteca de entrada no tiene el formato correcto. U2159 "" nombre de archivo ": formato de número hexadecimal no válido; el archivo se está ignorando." El byte identificador de la palabra "número hexadecimal" de este archivo no pertenece a uno de los siguientes tipos reconocidos: biblioteca de Microsoft, biblioteca de Intel, archivo de objeto de Microsoft, archivo XENIX. U4150 "" modulname ": se ignora la anulación del módulo." Se definió un módulo para agregarlo a la biblioteca, pero un módulo con el mismo nombre ya está en la biblioteca. O bien, un módulo con el mismo nombre se ha colocado en la biblioteca dos veces. U4151 "" símbolo (nombre del módulo): se ignora la redefinición del nombre. "El nombre especificado está definido en más de un módulo. U4153" "número": el tamaño de la página es demasiado pequeño; ignorado ". El valor especificado en la opción / PAGESIZE es menor que 16. U4156" "nombre de biblioteca": la especificación de la biblioteca de salida se ignora ". Además de los nuevos nombres de biblioteca, se ha especificado una biblioteca de salida. Por ejemplo, estableciendo : LIB new.lib + one.obj, new .lst, new.lib donde new.lib aún no existe; obtendrá un error.

D.6. HAGA mensajes de error de la utilidad.

Los errores que se muestran durante la Utilidad de soporte de software de Microsoft (MAKE) están en uno de los siguientes formatos: (nombre de archivo | MAKE): error fatal U1xxx: texto del mensaje (nombre de archivo | MAKE): advertencia U4xxx: texto del mensaje Los mensajes comienzan con el nombre del archivo de entrada ( filename), si existe, o con el nombre de la utilidad. Si es posible, MAKE imprime una advertencia y continúa. En algunos casos, los errores son fatales y la utilidad MAKE dejará de funcionar. Los mensajes generados por la utilidad MAKE se enumeran en esta sección. Mensaje de error de la utilidad MAKE número U1001 "La macro es mayor que el número". Se ha definido una macro que tiene un valor de cadena más largo que un número especificado que permite la longitud máxima. Intente reescribir el archivo descrito por la utilidad MAKE y divida la macro en dos más pequeñas. U1002 Macro infinitamente recursiva. Se ha definido una llamada de macro envolvente como en el siguiente ejemplo: A = $ (B) B = $ (C) C = $ (A) U1003 Memoria insuficiente. MAKE se quedó sin memoria al procesar un archivo de descripción. Intente reducir el tamaño del archivo de descripción MAKE reorganizándolo o dividiéndolo en otros más pequeños. U1004 Error de sintaxis: falta el nombre de la macro. El archivo descriptor de la utilidad MAKE contiene macros sin un lado izquierdo (es decir, una línea que comienza con =). U1005 Error de sintaxis: faltan dos puntos. A la línea que debe contener el archivo de salida / archivo de entrada le faltan dos puntos que separan el archivo de salida y el archivo de entrada. MAKE requiere que cualquier línea seguida de una línea vacía se considere una línea de archivo de salida / entrada. U1006 "" targetname ": la expansión de macro es mayor que" número "". La expansión de macro más la longitud de cualquier cadena con la que se pueda concatenar es más larga que el número especificado. Intente sobrescribir el archivo de descripciones de la utilidad MAKE desanclando la macro en dos menos. U1007 "Muchas fuentes". La regla de inferencia se ha definido más de una vez. U1008 "" nombre ": No se puede encontrar el archivo o directorio". No se pudo encontrar el archivo o directorio especificado. U1009 "" comando ": lista de argumentos demasiado larga". La línea de comando en el archivo de descripción de la utilidad MAKE tiene más de 128 bytes, que es el máximo permitido en DOS. Vuelva a escribir los comandos para acortar la lista de argumentos. U1010 "" nombre de archivo ": acceso denegado." El archivo definido como "nombre de archivo" tiene un atributo de sólo lectura. U1011 "nombre de archivo": no hay suficiente memoria "MAKE no tiene memoria para ejecutar el programa. U1012 "" nombre de archivo ": error desconocido". Tenga en cuenta las circunstancias de este error e infórmelas a Microsoft Corporation mediante la Solicitud de asistencia del producto al final de este manual. U1013 "" comando ": error de código de error". Uno de los programas o comandos invocados en el archivo descriptor de la utilidad MAKE salió con un código de salida distinto de cero. U1015 "" archivo ": el archivo de destino no existe." Por lo general, esto no significa un error. Este mensaje alerta al usuario de que el archivo de destino no existe. La utilidad MAKE ejecuta cualquier comando especificado en el bloque de declaración, ya que en la mayoría de los casos el archivo de salida es creado por el último comando en el archivo de descripción de la utilidad MAKE. U4000 "" nombre de archivo ": no existe". Por lo general, este mensaje no indica un error. Advierte al usuario que el archivo especificado no existe. MAKE ejecuta todos los comandos especificados en el bloque, ya que en la mayoría de los casos el archivo faltante será creado por comandos posteriores en el archivo MAKE. U4001 El archivo dependiente 'nombre de archivo' no existe; el archivo de destino 'filena me' no se está creando ". MAKE no puede continuar porque el archivo de entrada requerido no existe. Asegúrese de que todos los nombres de archivo estén presentes y que todos estén descritos correctamente en el archivo de descripción de la utilidad MAKE. U4013 "" comando ": error de código de error (ignorado)". Uno de los programas o comandos invocados en el archivo de descripción de la utilidad MAKE devolvió un código de error distinto de cero mientras MAKE se estaba ejecutando con la opción / I. Los errores se ignoran y la utilidad continúa ejecutándose. U4014 "Sintaxis: make options file options = La utilidad MAKE se invocó incorrectamente. Reinicie la utilidad usando la sintaxis proporcionada en el mensaje: make options [name-value ...] file options =.

¿Te gustó el artículo? Compártelo