uso adecuado de constantes para programas con varios modulos

Iniciado por Shon, 17 Septiembre 2010, 13:22 PM

0 Miembros y 1 Visitante están viendo este tema.

Shon

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

-=[ §ÂßÂÑÐØ ]=-

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!
SALUDOS DE -=[ §AßAÑÐØ ]=-






do-while

¡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!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Shon

Cita de: 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!

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

do-while

¡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!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Shon

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 ;)