SacamantecaS escribió:hola
despues de un tiempo programando en C/C++ tengo una pequeña (o gran depende de la persona jejje) duda sobre la hora de partir en partes el programa, cada vez se me hacen mas grandes los programas aparte de querer ordenarlos por zonas. Hasta ahora utilizaba un main.c y diversos .h, he visto multitud de veces en proyectos y demas que tienen varios C y varios H que compilan a objetos y luego los linkan en el programa principal.
Yo no se muy bien como hacer un main.c con sus librerias y otro modulo.c con sus otras librerias, se compilen y se integren en un unico ejecutable. ¿Alguna ayudita?. muchas gracias
saludos
Ejemplo:
Tenemos los siguientes codigos, pepe1.c pepe2.c pepe3.c main.c
$ gcc -c pepe1.c -o pepe1.o
$ gcc -c pepe2.c -o pepe2.o
$ gcc -c pepe3.c -o pepe3.o
$ gcc -c main.c -o main.o
$ gcc pepe1.o pepe2.o pepe3.o main.o -o nombreprograma
Acuerdate que las cabeceras (.h) de cada codigo esten incluidas donde tienen que estar.
De todos modos esto puedes hacerlo creando un Makefile tal que así:
nombreprograma: pepe1.o pepe2.o pepe3.o main.o
gcc -c pepe1.c -o pepe1.o
gcc -c pepe2.c -o pepe2.o
gcc -c pepe3.c -o pepe3.o
gcc -c main.c -o main.o
gcc pepe1.o pepe2.o pepe3.o main.o -o nombreprograma
Aunque el Makefile tiene muchisimas mas opciones, estas serian las básicas, de esta forma haciendo un simple make te crearia el ejecutable.
Un saludo.