Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: O2 en 27 de Noviembre de 2002, 06:47:35 PM

Título: Exportar clases en una LIB/DLL
Publicado por: O2 en 27 de Noviembre de 2002, 06:47:35 PM
                                Buenas:

Hace tiempo que empece a mirar el tema de exportar funciones a una .LIB, para luego usarla en otros proyectos...

Ahora lo que quiero hacer es exportar clases completas, de tal forma que al usar la librearia pueda crear objetos de la clase que haya metido en la libreria...

he probado a exportar las clases como si de funciones sueltas se tratara, pero no funciona.

Como puedo meter clases completas en una lib?

Gracias de antemano!                                
Título: Exportar clases en una LIB/DLL
Publicado por: deadLock++ en 28 de Noviembre de 2002, 09:50:46 PM
                                Debes utilizar __declspec(dllexport) en la declaración de la clase:

Ej:

class __declspec(dllexport) foo
{
 // lo que sea
};

De este modo exportas la clase foo y puede instanciarla por el programa que utilice la librería.                                
Título: Exportar clases en una LIB/DLL
Publicado por: ethernet en 29 de Noviembre de 2002, 06:27:22 PM
Cuidado si usas c++ con stl porq algunos clases pueden darte problemas. En la pagina de microsoft venian unos articulos acerca de usar stl en dll y creo recordar q solo se podian usar vector y string.

saludos
Título: Exportar clases en una LIB/DLL
Publicado por: Vanch en 30 de Noviembre de 2002, 07:31:04 PM
                                que es stl ?                                
Título: Exportar clases en una LIB/DLL
Publicado por: ethernet en 30 de Noviembre de 2002, 09:31:49 PM
standard template library, es un conjunto de clases q implementan cosas q se usan con frecuencia como listas enlazadas, vectores, cadenas etc. Muy util para mi gusto.

saludos
Título: Exportar clases en una LIB/DLL
Publicado por: Vanch en 30 de Noviembre de 2002, 11:17:27 PM
                                asias, sé lo que es un template. Pero toda la vida le llamé template. stl no sabia a que te referias  :jaja:  :jaja:  :jaja:

Si encuentras la URL de donde hablan de los problemillas que dan me harias a favor poniendola.

asias.                                
Título: Exportar clases en una LIB/DLL
Publicado por: deadLock++ en 01 de Diciembre de 2002, 03:17:52 AM
                                STL es una librería que utiliza templates, no es otra forma de llamar a los templates.

Existe un port muy popular en http://www.stlport.org

Este port es preferible al que viene con el Visual Studio 6.0 y necesario para el Embedded Visual C++ v3.0 ya que ni siquiera se molestaron en incorporarle la librería.  :(

Saludos,

deadLock++                                
Título: Exportar clases en una LIB/DLL
Publicado por: O2 en 02 de Diciembre de 2002, 06:52:52 PM
                                Buenas:

En primer lugar pido disculpas por tener desatendido mi propio thread, pero estuve varios dias de viaje y me fue imposible mirar el foro.

En segundo lugar, muchas gracias a todos por responder.

ethernet: Gracias por tu apreciación sobre las STL, de momento solo usaba vector para unas listas enlazadas, pero lo tendre bien presente en un futuro.

DeadLock++: simplemente anteponer el __declspec(dllexport) ya exportara la clase?

¿funcionara como una clase normal y corriente? Es decir, cuando cree un objeto de esa clase, las partes publicas seran publicas, las privadas privadas, etc?

En lo que es la implementacion (no la definicion) de la clase, no habria que usar el __declspec() en ninguna parte?

Gracias de nuevo por vuestro tiempo!!