Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Consejos para C++ multiplataforma

Iniciado por tewe76, 02 de Febrero de 2009, 08:04:37 AM

« anterior - próximo »

tewe76

CitarLos proyectos de Visual Studio y Xcode los creas solo una vez al principio, luego solo tienes que ir incorporando nuevos ficheros .cpp según avanzas en la implementación.
Quizás no te estoy entendiendo bien, pero eso me suena a duplicar trabajo, peligro de que se te olvide modificar algo en los dos sitios, etc.
CitarLo del código más estándar con distintos compiladores, es por que que aunque no lo creas, hay bastante código que en Visual C++ compila y en GCC no, y viceversa
Ah, te refieres a estándar entre IDEs. Pensaba que te referías a entre SOs. A ver, la idea es que si haces algo en VC, para pasarlo a Mac tienes que adaptarlo tanto al nuevo SO como al nuevo IDE. En cambio, si lo haces en E+CDT, para pasarlo a Mac sólo tienes que adaptarlo al nuevo SO, por que el IDE es el mismo.

PS: ¿tú no tendrás ese "documento con informacion util sobre port a mac" que no encuentra Pogacha?
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

Zaelsius

No me estás entendiendo... me refiero a que hay código C++ que Visual C++ acepta y compila perfectamente, y que GCC no aceptará y te soltará un error. Y viceversa. Y me refiero a C++ puro, sin entrar en APIs específicas de cada OS.

El documento al que hace referencia Pogacha lo teníamos antes en la web, pero lo quitamos. Aquí hay una versión antigua:
http://www.gamedev.net/reference/articles/article2281.asp

No es una guía de porting definitiva, tan solo una recopilación de pequeños fragmentos de código y consejos. En los comentarios del artículo hay más información útil:
http://www.gamedev.net/community/forums/topic.asp?key=featart&uid=2281&forum_id=35&Topic_Title=Handy+PC%2FMac+OS+X+Snippets+for+Indie+Development

tewe76

Sí, sí te entiendo :) Usamos distintos significados de estándar, pero sé a lo que te refieres y estoy de acuerdo.
Gracias por los links.
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

tewe76

Una preguntita: en alguno de los links que me habéis pasado, comentaban como un muy buen consejo para hacerlo multiplataforma, que los nombres de archivo de código (cpp, h, etc) sean sólo en minúsculas, porque hay IDEs (o compiladores, o SOs, no sé) que dan problemas si tienen mayúsculas.
¿Es así?

Y si lo es, ¿sería conveniente aplicar éso también a cualquiera de los nombres de archivo (o de carpeta) que use tu programa? Me refiero a los nombres de las imágenes, archivos 3D, oggs, etc.
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

davur

#34
Yo personalmente sigo la convención de escribir todos los nombres de directorios y ficheros en minúsculas, pero por comodidad y uniformidad más que nada.

tewe76

¿Pero sólo los de código o también los de datos (imágenes, etc)?
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

Vicente

Cita de: tewe76 en 06 de Febrero de 2009, 07:16:58 PM
Una preguntita: en alguno de los links que me habéis pasado, comentaban como un muy buen consejo para hacerlo multiplataforma, que los nombres de archivo de código (cpp, h, etc) sean sólo en minúsculas, porque hay IDEs (o compiladores, o SOs, no sé) que dan problemas si tienen mayúsculas.
¿Es así?

Y si lo es, ¿sería conveniente aplicar éso también a cualquiera de los nombres de archivo (o de carpeta) que use tu programa? Me refiero a los nombres de las imágenes, archivos 3D, oggs, etc.

Supongo que esto es para evitar problemas porque Windows no es sensible al caso con los ficheros pero Linux sip (así que si intentas compilar Hola.cpp y el fichero se llama hola.cpp en Windows compila y en Linux nop). Esto también lo tienes que recordar cuando desde tu código accedas a tus recursos (imágenes, música,...).

Un saludo!

Vicente


tewe76

Sí, era por algo así.
Pero si intento compilar "Hola.cpp" y el fichero se llama efectívamente "Hola.cpp", ¿compilará bien en todos los casos?
Entiendo que lo importante entonces no es no usar mayúsculas, sino que si las uso lo tenga en cuenta al hacer las llamadas (cosa lógica :.. ) aunque en Windows no se queje. Es eso, ¿no? O sea, que no hay problema en sí, pero puede generar problemas por la "permisividad" de Windows que en Linux no vas a tener.
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

davur

#38
Cita de: tewe76 en 07 de Febrero de 2009, 07:14:07 AM
¿Pero sólo los de código o también los de datos (imágenes, etc)?

Todos. Eliminar las mayúsculas te evita pensar en cuándo tienes que utilizarlas y cuándo no, y en cuándo la distinción entre mayúsculas y minúsculas es importante.

Mars Attacks

Tener una convención para los nombres (tanto de recursos como de cualquier tipo de código) que incluya los casos de uso de mayúsculas y minúsculas es muy saludable en general.

tewe76

Vale, pero la cuestión es que mientras escribas siempre bien los nombres, no importa si llevan o no mayúsculas, ¿no? El hecho de ponerlo en minúsculas sirve para eliminar posibilidades de error, pero todos los IDEs en todos los SOs van a admitir nombres con mayúsculas.
¿Lo he entendido bien?
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

Pogacha


tewe76

¡¡¡¡¡¡¡Bien!!!!!!! :o :o :o :o
:P
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

Prompt

#43
Solo decir que, no hay nada que compiles con GCC del lenguage C/C++ standard que no compile luego en Visual C. Porque GCC va de la mano del ANSI estrictamente.

Y lo bueno de Eclipse y Codeblocks, es que cogen el mismo arbol de directorios del HD para el proyecto, luego tambien puedes crear directorios virtuales pero me parece un error grave. Yo estoy hasta los mismos de eso en el VS. Y si, en XCode por lo tanto tienes que duplicar todo el trabajo, donde no, es usando eclipse o codeblocks ya que al hacer "refresh" carga la estructura del disco duro y solo le das al botoncito de compilar.

Para gustos los colores, yo comento lo que uso y algunos porqués. Como por ejemplo que habria que usar oooooooooooootro IDE si quiere portarlo a GNU/Linux. una barbaridad vamos...

Un saludo.

tewe76

En realidad tu idea me parece lógica, Prompt. El motivo fundamental por el que he elegido la otra es porque, a corto plazo, me viene mucho mejor usar VC++, por las "ayudas" que da a los que no dominan aún el lenguaje. Si fuese un pro de C++ es bastante probable que usase Eclipse, por los motivos que das tú (a no ser que, justamente al ser un pro, me diese cuenta de limitaciones importantes que tuviese Eclipse, que es posible que las tenga).
En cualquier caso, muchas gracias por tu opinión 8). Como mínimo me ha servido para descargarme Eclipse y C::B y echarles un vistazo ;)
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos






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.