Error referencia indefinida a una función en c

Error referencia indefinida a una función en c
Hemos visto y resuelto muchas excepciones mientras codificamos cualquier lenguaje de programación. La referencia indefinida es una de esas excepciones que ocurrieron principalmente en el lenguaje C, ya que el nombre sugiere que ocurriría cuando falte alguna definición de función en el script. Por lo tanto, este artículo le dará algunos métodos fáciles para resolver este error al comenzar con la creación. Asegúrese de iniciar sesión desde el sistema Linux y abrir el terminal para comenzar a implementar a través del método de acceso directo "CTRL+ALT+T".

Nota: Ya hemos instalado el compilador GCC en nuestro sistema operativo en ejecución.

Ejemplo 01:

Una de las causas populares de la referencia indefinida de error podría ser un problema de nombre de una función. Entonces, en este ejemplo, veremos cómo se podría generar y resolver un error utilizando el nombre de la función. Estaremos creando una nueva "expp.archivo c "para agregarle nuestro código C dentro del terminal de shell.

$ touch expp.C

El archivo se ha creado con éxito en el directorio de inicio. Para abrir este archivo, necesitamos algunas aplicaciones de editor. Por lo tanto, hemos estado utilizando el editor nano para abrirlo.

$ nano exp.C

Mantuvimos nuestro código C simple para una fácil comprensión de nuestros usuarios. Hemos incluido un archivo de encabezado al comienzo de un código. Después de eso, se ha definido una función main () para imprimir que hemos estado trabajando en el método principal en este momento. Los hechizos de los nombres de funciones son incorrectos. Por lo tanto, debe mostrar un error de referencia indefinido mientras la compilación del código. Hemos guardado nuestro archivo de código y volvimos al shell.

Asegúrese de tener un compilador C configurado en su sistema Linux. Hemos estado usando el compilador Everlasting GCC aquí para compilar el código C anterior. Tras la compilación con el compilador GCC, tenemos la referencia indefinida al error Main () como se esperaba.

$ GCC EXP.C

Cuando hemos ejecutado el archivo, dice que no hay dicho archivo o directorio.

ps ./a.afuera

Correcemos el código y cambiemos el nombre de la función a Main () según la imagen a continuación.

Por lo tanto, esta vez, cuando compila y ejecuta el archivo, funcionará perfectamente sin ningún error, yo.mi., referencia indefinida a una función.

$ GCC EXP.C
./a.afuera

Ejemplo 02:

Tengamos otro ejemplo del mismo error. Entonces, abra el mismo archivo y agregue un encabezado estándar de entrada-salida. Un prototipo de función para el método show () se ha declarado después de eso. Al final, el método principal se ha definido para imprimir algún texto y llamar a la función show (), que se ha declarado anteriormente.

Tras la compilación, tenemos el error como una referencia indefinida para show (). Esto se debe a que el método show () solo se ha declarado pero no se ha definido en el código.

$ GCC EXP.C

Para resolver este error, hemos actualizado el código una vez más. Se agregó la definición de función del método show () después del método principal. Este método contiene una sola declaración de impresión dentro de ella.

Cuando compilamos el archivo, el error se resolvió y el código se ejecutó correctamente.

$ GCC EXP.C
./a.afuera

Ejemplo 03:

Otro error que la mayoría de los usuarios cometen al programar no es prestar atención a la sensibilidad de los casos de la sintaxis del lenguaje. Esto también puede causar que ocurra la referencia indefinida del error. Entonces, veamos este problema en este ejemplo. Hemos usado el mismo código hasta ahora. Acabamos de usar la sintaxis de caso diferente para los nombres de funciones, yo.mi., Mostrar y mostrar. La definición de función contiene el nombre de la letra pequeña, mientras que la llamada de función contiene letras mayúsculas. Guardar este código.

Usó el compilador GCC para compilar el EXP.archivo c. El error: la referencia indefinida a la función show () ha aparecido en la cubierta terminal como se predijo.

$ GCC EXP.C

Para resolver este error, simplemente abra el archivo y haga que el nombre de una función sea igual en su función de definición y llamada de función. Entonces, solíamos mostrar (), yo.mi., Pequeños nombres de casos para ir más allá. Guarde este código actualizado para compilarlo.

Cuando compilamos el código, por fin, se compiló con éxito sin ningún error. Por lo tanto, la ejecución de este archivo funciona bien según la imagen a continuación.

$ GCC EXP.C
./a.afuera

Conclusión:

En esta guía, hemos visto cómo un simple error de un usuario puede hacer que ocurra la referencia de error indefinido a una función. Para resolver este error, hemos implementado métodos simples en las ilustraciones para que se entiendan bien. Esperamos que este artículo cumpla con sus requisitos en su mejor momento.