La pregunta es muy vaga, creo que quiere decir "cómo separar las funciones en varios archivos .c
y hacer que el IDE compile todo junto". Si me equivoco (por ejemplo, me refiero a "cómo usar las funciones definidas en los archivos .c
del propio IDE"), solo dígame en los comentarios y con gusto actualizaré/eliminaré mi respuesta.
En general, se deben definir las funciones de los dos .c
archivos separados (por ejemplo, A.c
y B.c
), y poner sus prototipos en los encabezados correspondientes (A.h
, B.h
, recordar el include guards).
Siempre que en el archivo .c
necesite usar las funciones definidas en otro .c
, tendrá #include
el encabezado correspondiente; entonces podrás usar las funciones normalmente.
Todos los archivos .c
y .h
se deben agregar a su proyecto; si el IDE le pregunta si deben compilarse, debe marcar solo el .c
para la compilación.
ejemplo rápida:
Functions.h
#ifndef FUNCTIONS_H_INCLUDED
#define FUNCTIONS_H_INCLUDED
/* ^^ these are the include guards */
/* Prototypes for the functions */
/* Sums two ints */
int Sum(int a, int b);
#endif
Functions.c
/* In general it's good to include also the header of the current .c,
to avoid repeating the prototypes */
#include "Functions.h"
int Sum(int a, int b)
{
return a+b;
}
Main.c
#include "stdio.h"
/* To use the functions defined in Functions.c I need to #include Functions.h */
#include "Functions.h"
int main(void)
{
int a, b;
printf("Insert two numbers: ");
if(scanf("%d %d", &a, &b)!=2)
{
fputs("Invalid input", stderr);
return 1;
}
printf("%d + %d = %d", a, b, Sum(a, b));
return 0;
}
¿Cuál es el IDE? – Simon
No veo cómo esto podría ser más vago. ¿Ya has probado algo? ¿Conoces el lenguaje C? ¿Sabes lo que es un encabezado? –
En el caso de que no tenga conocimiento de esto: c generalmente se compila, mientras se habla * de "llamar [ing] archivos para usarlos" * tiene un sentido de lenguaje interpretado. El flujo de trabajo para los lenguajes compilados difiere ligeramente del de los idiomas interpretados (aunque muchos IDE ocultarán la diferencia). – dmckee