Red de conocimiento informático - Material del sitio web - Se produjo un problema indefinido al escribir lenguaje C usando la terminal Linux

Se produjo un problema indefinido al escribir lenguaje C usando la terminal Linux

El motivo de este error es que solo una parte del archivo fuente se compila durante la compilación, por lo que la función de impresión no se puede encontrar en el código de destino compilado durante la vinculación, por lo que se produce un error.

Dependiendo de la estructura de su archivo fuente, personalmente recomiendo compilar los archivos fuente por separado en múltiples archivos objeto y luego vincularlos.

El método es el siguiente

gcc -c main.c # La función del parámetro -c es hacer que gcc solo compile, no enlace

gcc -c test.c

gcc -o main main.o test.o # Vincula el código de destino compilado

Por supuesto, lo anterior se ejecuta bajo la premisa de que gcc es el compilador , como usar clang y otros compiladores, el método es similar (el método de llamada de clang es altamente compatible con gcc)