Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Hacer un juego en C++ [Librerías] [?]

Estas en el tema de Hacer un juego en C++ [Librerías] [?] en el foro de C/C++ en Foros del Web. Hola, necesito que me despejen unas dudas sobre C++ Cuándo yo incluyo las librerías a mi proyecto, ¿de que manera las puedo utilizar? ¿¿Para que ...
  #1 (permalink)  
Antiguo 10/06/2012, 20:17
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 12 años, 7 meses
Puntos: 4
Pregunta Hacer un juego en C++ [Librerías] [?]

Hola, necesito que me despejen unas dudas sobre C++

Cuándo yo incluyo las librerías a mi proyecto, ¿de que manera las puedo utilizar?
¿¿Para que sirven las librerías??
¿¿Como hago para algo que se aloje en la librería se vea en el mismo juego??


Necesito que me expliquen detalladamente esto, porque no entiendo...
__________________
Mi portafolio
  #2 (permalink)  
Antiguo 11/06/2012, 01:00
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: Hacer un juego en C++ [Librerías] [?]

Una librería es un conjunto de funciones para realizar una tarea determinada. Así, tendrás librerías gráficas, matemáticas, de comunicaciones, etc.

La idea es que, una vez que tienes esas funciones para hacer tu tarea, las puedas reutilizar, sin que tengas que volver a escribir ese código.

Para utilizar una librería, tendrás que añadirla a tu proyecto. Si utilizas un entorno de desarrollo, por ejemplo Visual C ó Codeblocks, tendrías que añadir los archivos de la librería a tu proyecto. Por archivos de la librería quiero decir tanto los archivos de cabecera como el resto, ya sean código fuente, código objeto, librerías estáticas o dinámicas. El cómo hacerlo depende del entorno de desarrollo. Si estás compilando mediante línea de comando, tendrás que aplicar los switches correspondientes para indicar qué archivos son los que hay que añadir.

El uso es simple: En tu programa llamas a una función de la librería. Si todo está correcto, al compilar se insertará la llamada correspondiente.

Para que te hagas una idea:

En principio, tanto C como C++ constan únicamente de sus palabras reservadas para declaración de variables y funciones, y control del flujo de programa. El resto de cosas, incluyendo la simple entrada/salida por consola, está en librerías. Así, por ejemplo, para utilizar funciones como printf ó scanf en C necesitas una librería llamada stdio e incluir en tu programa el archivo stdio.h (o para emplear cin/cout en C++, que necesitas la librería iostream). Lo que suele ocurrir es que estas librerías básicas son incorporadas automáticamente por el compilador y no hay que decir específicamente que añada esos archivos al proyecto, aunque sí sigues necesitando poner las directivas #include correspondientes.

Veo que también tienes un post (que interpreto relacionado con este) donde preguntas acerca de GUIs. El cómo crearlo y utilizarlo depende de la librería que emplees, del sistema operativo y, lógicamente, cuanto más potente sea, más difícil es su manejo. No sé cuál es tu nivel en programación, simplemente te comento que la programación de GUIs no es precisamente para principiantes, ni tampoco lo es la programación de juegos.

De todos modos, mira en este enlace:

http://www.thefreecountry.com/sourcecode/

Ahí encontrarás librerías, tanto para GUIs como motores de juegos (eso sí, en inglés).

Saludos,
  #3 (permalink)  
Antiguo 11/06/2012, 08:17
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Hacer un juego en C++ [Librerías] [?]

Cita:
Iniciado por Fw190 Ver Mensaje
Una librería es un conjunto de funciones para realizar una tarea determinada. Así, tendrás librerías gráficas, matemáticas, de comunicaciones, etc.

La idea es que, una vez que tienes esas funciones para hacer tu tarea, las puedas reutilizar, sin que tengas que volver a escribir ese código.

Para utilizar una librería, tendrás que añadirla a tu proyecto. Si utilizas un entorno de desarrollo, por ejemplo Visual C ó Codeblocks, tendrías que añadir los archivos de la librería a tu proyecto. Por archivos de la librería quiero decir tanto los archivos de cabecera como el resto, ya sean código fuente, código objeto, librerías estáticas o dinámicas. El cómo hacerlo depende del entorno de desarrollo. Si estás compilando mediante línea de comando, tendrás que aplicar los switches correspondientes para indicar qué archivos son los que hay que añadir.

El uso es simple: En tu programa llamas a una función de la librería. Si todo está correcto, al compilar se insertará la llamada correspondiente.

Para que te hagas una idea:

En principio, tanto C como C++ constan únicamente de sus palabras reservadas para declaración de variables y funciones, y control del flujo de programa. El resto de cosas, incluyendo la simple entrada/salida por consola, está en librerías. Así, por ejemplo, para utilizar funciones como printf ó scanf en C necesitas una librería llamada stdio e incluir en tu programa el archivo stdio.h (o para emplear cin/cout en C++, que necesitas la librería iostream). Lo que suele ocurrir es que estas librerías básicas son incorporadas automáticamente por el compilador y no hay que decir específicamente que añada esos archivos al proyecto, aunque sí sigues necesitando poner las directivas #include correspondientes.

Veo que también tienes un post (que interpreto relacionado con este) donde preguntas acerca de GUIs. El cómo crearlo y utilizarlo depende de la librería que emplees, del sistema operativo y, lógicamente, cuanto más potente sea, más difícil es su manejo. No sé cuál es tu nivel en programación, simplemente te comento que la programación de GUIs no es precisamente para principiantes, ni tampoco lo es la programación de juegos.

De todos modos, mira en este enlace:

[URL="http://www.thefreecountry.com/sourcecode/"]http://www.thefreecountry.com/sourcecode/[/URL]

Ahí encontrarás librerías, tanto para GUIs como motores de juegos (eso sí, en inglés).

Saludos,
Muchísimas gracias por la info.
Pregunta: cuándo se hace el "#include <lalibreria.h>", ésta debe estar en la carpeta de la aplicación?.
Desde ya gracias!

Mi nivel de programación es avanzado, pero en C++... te soy sincero, empecé hace 2 o 3 días
Muchas gracias por el link!! Esa pág. parece bastante completa. GRACIAS!!!
__________________
Mi portafolio
  #4 (permalink)  
Antiguo 11/06/2012, 12:08
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 13 años
Puntos: 46
Respuesta: Hacer un juego en C++ [Librerías] [?]

Depende del sistema operativo y de lo que estes usando para desarrollar el programa, usas windows, linux? Si usas linux estas de suerte porque el sistema te deja usar librerias de manera mas simple, en windows requiere mas trabajo.
  #5 (permalink)  
Antiguo 11/06/2012, 14:41
Avatar de The_Code  
Fecha de Ingreso: mayo-2012
Ubicación: Argentina
Mensajes: 98
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Hacer un juego en C++ [Librerías] [?]

Cita:
Iniciado por L3m0n Ver Mensaje
Depende del sistema operativo y de lo que estes usando para desarrollar el programa, usas windows, linux? Si usas linux estas de suerte porque el sistema te deja usar librerias de manera mas simple, en windows requiere mas trabajo.
Uso Win7 Ultimate 32 bits. Ah, una pregunta.
Si hago una aplicación de consola en Windows, me funcionará en Linux? Ya que no sé si se podrán admitir ciertos comandos en Linux... (?)
__________________
Mi portafolio
  #6 (permalink)  
Antiguo 12/06/2012, 01:01
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: Hacer un juego en C++ [Librerías] [?]

La ubicación de los archivos de cabecera depende de cada compilador y/o entorno de desarrollo. Por lo general, los correspondientes a las librerías estandar del compilador, por ejemplo stdio.h, stdlib.h ó math.h casi siempre están en una carpeta llamada include dentro de la carpeta de instalación del compilador. Cuando pones, por ejemplo

#include <stdio.h>

estás indicando que el archivo de cabecera stdio.h está en la carpeta por defecto (la carpeta include de tu compilador).

Ahora bien, cuando pones

#include "mi_libreria.h"

el compilador ya sabe que no es estandar, y el tema de dónde debe estar depende del compilador y/o del entorno de desarrollo que utilices. Por lo general:

Si compilas mediante linea de comando, mi_libreria.h deberá estar en la misma carpeta que el resto de archivos que compongan el código fuente. De no ser así, tendrás que indicar la ruta (bien absoluta, desde la raíz, o bien relativa, desde la carpeta de trabajo) para llegar al arhcivo.

Si utilizas un entorno de desarrollo, ya depende de cada entorno. Normalmente, al añadir los archivos al proyecto, te cogerá la ruta correcta. Además, algunos entornos te permitirán indicar carpetas adicionales en las que buscar si no encuentra los archivos en la carpeta de trabajo.

En cualquier caso, cuando hagas una pregunta, conviene que indiques cuál es el sistema operativo que utilizas, y si se trata de programación, el compilador y/o entorno de desarrollo.

Sobre tu última pregunta, la respuesta es NO. Un programa, después de compilado, queda como una serie de llamadas a funciones del sistema operativo (por ejemplo, para presentar cosas en pantalla, para leer del teclado, para controlar el ratón, para enviar un documento a una impresora, o para leer/escribir datos en una unidad de almacenamiento). El cómo están hechas estas funciones, cómo funcionan y cómo llamarlas depende de cada SO, por eso un ejecutable hecho para un SO no servirá en otro SO distinto.
  #7 (permalink)  
Antiguo 12/06/2012, 13:13
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 13 años
Puntos: 46
Respuesta: Hacer un juego en C++ [Librerías] [?]

Si escribes codigo que sea estandar lo podras compilar en cada plataforma, pero el mismo ejecutable no sirve.
  #8 (permalink)  
Antiguo 16/06/2012, 12:33
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 6
Respuesta: Hacer un juego en C++ [Librerías] [?]

Es decir, luego de escribir código en Visual Studio y compilarlo en un ejecutable, éste sólo puede ejecutarse en Windows, ya que allí fue creado.
Dicho ejecutable, como mencionan, no podría ser ejecutado en Linux... pero si vuelvo a compilar allí el mismo código (con otro compilador), el ejecutable resultante sería compatible con Linux (mas no con Windows u otro SO).
Y cuando usted, L3m0n dice estándar, ¿quiere decir que no siempre podrá hacerse esto último?
Específicamente, lo que escribo en C++ y puedo depurar en Visual Studio, ¿no necesariamente podrá compilarse en algún otro programa en Linux?
  #9 (permalink)  
Antiguo 18/06/2012, 12:08
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: Hacer un juego en C++ [Librerías] [?]

En efecto: Lo que escribas y compiles en Windows solamente podrás ejecutarlo en Windows (da igual el compilador). Lo mismo es aplicable a otros sistemas operativos.

Lo que escribas en C++ con Visual Studio, en principio, podrás compilarlo con otro compilador en Linux. Las incompatibilidades te vendrán en cuanto salgas de lo que pueda ser considerado estandar, es decir, en cuanto quieras ir más allá de entrada/salida por teclado/pantalla, manejo de ficheros y poco más.

Etiquetas: c++, gui, librerías
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:22.