Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: flony en 28 Diciembre 2012, 20:04 pm



Título: pregunta sobre compilacion y enlace
Publicado por: flony en 28 Diciembre 2012, 20:04 pm
hola amigos ...creo no estar infringiendo las normas del foro con la pregunta que hare, no estudio para programador y estando de vacaciones me dije vamos a leer un libro de c++ "como programar en c++" de deitel...y ustedes son los unicos que me pueden dar una mano...no tengo profes...bue al grano mi pregunta
cap.3.9 pag 128
" el programador de la implemntacion de una clase, responsable de crear una clase LibroCalificaciones reutlizable, crea un archivo de encabezado LibroCalificaciones.h y el codigo fuente LibroCalificaciones.cpp que incluye( mediante #include) el archivo de encabezado y despues compila al archivo de codigo fuente para crear el codigo objeto de LibroCalificaciones. Para ocultar los detalles de la implementacion de las funciones mienbro de LibroCalificaciones, el programador de la implementacion de la clase proporciona al programador del codigo cliente el archivo de encabezado LibroCalificaciones.h (que especifica la interfaz y los miembros de datos de la clase )y el codigo objeto para la clase LibroCalificaciones (que contiene las instrucciones en lenguaje maquina que representan a las funciones miembro de LibroCalificaciones). El programador del codigo cliente no recibe LibroCalificaciones.cpp por lo que desconoce como se implementan las funciones miembros de LibroCalificaiones"
....bueno la pregunta, trate de compilar LibroCalificaciones.h y LibroCalificaciones.cpp pero no se puede porque ninguna tiene la funcion main()...como se hace ?


Título: Re: pregunta sobre compilacion y enlace
Publicado por: avesudra en 28 Diciembre 2012, 22:21 pm
Suponiendo que entiendes el uso de las clases, éstas no pueden ser compiladas así por así sin un main si quieres crear un ejecutable, otro caso sería el de una librería pero no es este el caso. Para compilarlas lo que tienes que hacer es darle uso a esas clases dentro del main.No puedes compilar las clases por si solas sin darles un uso , para que lo entiendas es como compilar funciones solamente, sin usarlas.


Título: Re: pregunta sobre compilacion y enlace
Publicado por: flony en 29 Diciembre 2012, 07:18 am
claro eso es lo que me parecio raro...es que hay un tercer codigo fuente .cpp y ese tiene el main...pero segun lo que dice el libro ese archivo lo maneja el cliente, y nosotros se lo dariamos compilado sin el main  :rolleyes:


Título: Re: pregunta sobre compilacion y enlace
Publicado por: flony en 29 Diciembre 2012, 21:16 pm
mil gracias a rir3760, ajr784 y  .xAk. ;-) ;-) ;-)
me dijo que leyera sobre programación modular y eso me llevo a leer sobre bibliotecas estáticas....y esa es la solución a tener un archivo.h un archivo.cpp sin la función main()
si a alguien le sirve yusa visual un tutorial
http://msdn.microsoft.com/es-es/library/ms235627(v=vs.80).aspx


Título: Re: pregunta sobre compilacion y enlace
Publicado por: 0xDani en 31 Diciembre 2012, 14:47 pm
Ademas de librerias estaticas tambien hay librerias dinamicas. O creias que la libc tiene un main()?


Título: Re: pregunta sobre compilacion y enlace
Publicado por: flony en 2 Enero 2013, 00:15 am
cosas raras...si lo sabia, pero como nunca programe una no se me ocurrio


Título: Re: pregunta sobre compilacion y enlace
Publicado por: dooque en 9 Enero 2013, 14:58 pm
Buenas!

Claro que se puede compilar un archivo .cpp (con o sin un .h asociado) y sin la necesidad de crear una "biblioteca de enlace estático" (que es justo lo que el libro te pide).

Lo que se hace, en este caso desde una linea de comando, es:

Código:
c++ -c archivo.cpp -o archivo.o

Con esto se compila "archivo.cpp" a código objeto (máquina) que luego puede ser enlazado a cualquier programa.

PD: Una biblioteca de enlace estático (".a" ".lib") es una colección de código objecto, i.e. un conjunto de archivos ".o"

Saludos.


Título: Re: pregunta sobre compilacion y enlace
Publicado por: flony en 9 Enero 2013, 18:07 pm
una pregunta es para visual studio?
y si no es así me enseñarías a hacerlo en visual  ;)


Título: Re: pregunta sobre compilacion y enlace
Publicado por: dooque en 9 Enero 2013, 18:41 pm
Ese es el compilador que trae MinGW (http://www.mingw.org/ (http://www.mingw.org/)) para C++.

Nunca he usado Visual Studio, no tengo ni idea que compilador usa!

Saludos.