Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Zaelsius en 17 de Agosto de 2003, 02:34:14 PM

Título: Implementaciones De Stl...
Publicado por: Zaelsius en 17 de Agosto de 2003, 02:34:14 PM
 He estado trabajando una semana con la implementación de SGI, y va muy bien, si. Lo malo es que no usa el nombre de espacios "std::", y cuandos vas a compilar proyectos que no son tuyos la cosa casca y tienes que ir quitando/añadiendo algunas lineas hasta que consigues compilar. Esto es un rollo. Tambien es incompatible con las nuevas cabeceras de Visual Studio (y Gcc 3.0 tb, creo), lo que significa que tienes k usar y comerte un warning del tipo "deprecated ...bla bla".

Acabo de bajar las STL port, y aun sin haberlas probado, leyendo en la doc. parece que tienen problemas similares con la . Respecto al espacio de nombres han sustituido "stl:: " por "_stl:: ", y han añadido una macro para que esto sea transparente...(ahora lo probaré, no se yo >:-/)

En fin que me cago en MS, que ya podian hacer implementaciones decentes y más completas.

¿Alguna reflexión sobre el tema?
Título: Implementaciones De Stl...
Publicado por: CoLSoN2 en 17 de Agosto de 2003, 05:24:44 PM
 yo uso stlport y he usado std:: sin ningún problema (quizá sea la macro que dices y no me he dado cuenta xD).
lo del iostream no suelo usarlo así que..
stlport también tienen hash maps, a diferencia de la de MS, por si te interesan :P
Título: Implementaciones De Stl...
Publicado por: Zaelsius en 17 de Agosto de 2003, 08:12:04 PM
 He estado leyendo la documentación de SGI y StlPort y he sacado en claro que aun no son totalmente compatibles con VC 7, en cambio con VC6 no hay problemas. Me dejaré puesta STL port pq es la menos problemática...(¿pq no incluiría SGI sus plantillas dentro de std::?)
Título: Implementaciones De Stl...
Publicado por: tamat en 18 de Agosto de 2003, 01:34:16 PM
 yo uso STLport y solo he tenido un pequeño problema con un codigo que me bajé que petaba al no encontrar iostream, me bastó incluirla en su cabecera y ya va. Eso es todo lo malo que he podido ver, y el numero de cosas buenas es superior, el unico problema es que odio tener que linkar cosas dinamicamente, alguien sabe si las STLport se puede incrustar en el codigo? problemas de licencia tal vez?

Por cierto, uso VC++6
Título: Implementaciones De Stl...
Publicado por: ethernet en 18 de Agosto de 2003, 01:39:48 PM
 yo uso STL de SGI y uso el namespace std:: :?
Título: Implementaciones De Stl...
Publicado por: Zaelsius en 18 de Agosto de 2003, 01:52:37 PM
 
Cita de: "ethernet"yo uso STL de SGI y uso el namespace std:: :?
Pues yo pongo using namespace std; y me dice que std no existe,  :huh:

Tamat: puedes crear una libreria estática para las STL port, de esta manera ->

En el directorio STLport/src/
"nmake -f vc7.mak"
(Necesitarás tener las variables de entorno de VC activadas, esto lo puedes hacer ejecutando vcvars32.bat o usando la linea de comandos de VS.NET)

Bueno, vc7.mak lo sustituyes por vc6, vc5, dependiendo del compilador que uses. Esto te crea un .lib en STLport/lib que puedes enlazar estáticamente.

Yo para poder compilar STLport (VS.NET) tambien tuve añadir un define en stlport/stl_user_config.h:

#define _STLP_NO_NEW_IOSTREAMS