Autor
|
Tema: pregunta sobre compilacion y enlace (Leído 4,143 veces)
|
flony
Desconectado
Mensajes: 584
|
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 ?
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
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.
|
|
|
En línea
|
Regístrate en
|
|
|
|
flony
Desconectado
Mensajes: 584
|
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
|
|
« Última modificación: 29 Diciembre 2012, 21:23 pm por flony »
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Ademas de librerias estaticas tambien hay librerias dinamicas. O creias que la libc tiene un main()?
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
flony
Desconectado
Mensajes: 584
|
cosas raras...si lo sabia, pero como nunca programe una no se me ocurrio
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
dooque
Desconectado
Mensajes: 170
|
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++ -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.
|
|
« Última modificación: 9 Enero 2013, 15:00 pm por dooque »
|
En línea
|
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Kernighan
|
|
|
flony
Desconectado
Mensajes: 584
|
una pregunta es para visual studio? y si no es así me enseñarías a hacerlo en visual
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
dooque
Desconectado
Mensajes: 170
|
Ese es el compilador que trae MinGW ( http://www.mingw.org/) para C++. Nunca he usado Visual Studio, no tengo ni idea que compilador usa! Saludos.
|
|
|
En línea
|
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Kernighan
|
|
|
|
|