Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Shon en 17 Septiembre 2010, 13:22 pm



Título: uso adecuado de constantes para programas con varios modulos
Publicado por: Shon en 17 Septiembre 2010, 13:22 pm
Buenas

Estoy haciendo un programita para un juego en el que tendré varios ficheros con codigo, unos 10 .c y sus correspondientes .h

El asunto, es que necesito tener unas constantes que son las mismas para todos, es algo así como los tipicos .ini  que tienen parametros de configuracion y constantes.

Mi pregunta es, como y donde puedo definirlas para que esté todo debidamente organizado?

Gracias anticipadas


Título: Re: uso adecuado de constantes para programas con varios modulos
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 17 Septiembre 2010, 13:38 pm
crea un fichero de c y con includes añades todos los ficheros que tengas de c,
luego para tener las constantes en todo el programa crea variables globales en el ultimo fichero creado al crear las variables en este fichero creado esas variables seran globales y estaran en todo el programa

salu2 y suert cn el c!


Título: Re: uso adecuado de constantes para programas con varios modulos
Publicado por: do-while en 17 Septiembre 2010, 16:04 pm
¡Buenas!

Si son constantes lo mejor que puedes hacer es crearte un header en el que definas las constantes mediante #define. Luego lo unico que tendras que hacer es incluir el header en cada uno de los ficheros fuente o header en los que te haga falta utilizar esas consantes.

¡Saludos!


Título: Re: uso adecuado de constantes para programas con varios modulos
Publicado por: Shon en 17 Septiembre 2010, 17:30 pm
¡Buenas!

Si son constantes lo mejor que puedes hacer es crearte un header en el que definas las constantes mediante #define. Luego lo unico que tendras que hacer es incluir el header en cada uno de los ficheros fuente o header en los que te haga falta utilizar esas consantes.

¡Saludos!

Esto lo he pensado, pero algunas de esas constantes, son arrays, por ejemplo:

int espada[] = {1, 2000, 300, 2000}

los datos que contiene el array, son codigos y datos constantes.

Por lo tanto no puedo usar el define :(

Gracias a los dos por vuestras respuestas. Seguire pensando en el tema y si se os ocurre algo más ponerlo por favor.

saludos


Título: Re: uso adecuado de constantes para programas con varios modulos
Publicado por: do-while en 19 Septiembre 2010, 08:14 am
¡Buenas!

Si trabajas en C++, puedes declarar constantes globales de una forma alternativa. Puedes incluirlas en algun fichero como variables pero declarandolas const (no se si C99 funciona de la misma manera... alguien que conozca mas el nuevo estandar te lo podra aclarar...). Luego en cada fichero en el que quieras incluir dichas definiciones, les tendras que aplicar el calificador extern. Asi podras definir arrays constantes y globales con la ventaja del chequeo de tipo.

¡Saludos!


Título: Re: uso adecuado de constantes para programas con varios modulos
Publicado por: Shon en 19 Septiembre 2010, 17:09 pm
Pues parece que sí, he probado con gcc y he compilado con:
$gcc -Wall -pedantic programa.c

y no muestra ningún aviso y funciona bien.

Sin duda, tiene pinta de ser la mejor opción. Muchas gracias ;)