Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Exportar clases en una LIB/DLL

Iniciado por O2, 27 de Noviembre de 2002, 06:47:35 PM

« anterior - próximo »

O2

                                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!                                

deadLock++

                                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.                                

ethernet

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

Vanch

                                que es stl ?                                
anch!!! Vanch!!!, don't let me alone.

ethernet

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

Vanch

                                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.                                
anch!!! Vanch!!!, don't let me alone.

deadLock++

                                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++                                

O2

                                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!!                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.