• 06 Juin 2026, 06:46:39


Auteur Sujet: Modiifier un define  (Lu 1178 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Modiifier un define
« le: 31 Janvier 2009, 19:10:24 »
Bonjour ,
Je voudrais savoir si on peut modifier un define

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Modiifier un define
« Réponse #1 le: 31 Janvier 2009, 20:31:27 »
Salut,


Dépendant de comment tu veut dire, oui et non,

tu peut modifier en modifiant directement ton define dans pawno (ce qui n'est surement pas ta question)

par contre, il est impossible de modifier un define au cours du script, ne pas oublier: il s'agit d'une directive de compilation, ainsi lorsque le code est compilé, toutes les expressions sont substitué:

exemple:

#define MIAM 2
#define MIAM 4//erreur, redéfinition d'une constante
if(MIAM == playerid)....//ce qui compilé comme étant: if(2 == playerid)....

voilà, en espérant te répondre

++Sim++





Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Modiifier un define
« Réponse #2 le: 31 Janvier 2009, 21:20:17 »
Ha oui sa parait logique  :lmao
De toute façon pour utiliser dans le script son jumeau c'est variable  :cheers

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Modiifier un define
« Réponse #3 le: 01 Février 2009, 10:58:07 »
Si, c'est possible mais totalement déconseillé.
Tout d'abord, le compilateur n'indique pas une erreur mais un warning, ce qui n'empêche pas le mode de fonctionner correctement.

Et si l'on veut faire disparaître le warning, il suffit de "dédéfinir" la constante :
#define TOTO 2
printf ("Toto = %d", TOTO);

#undef TOTO
#define TOTO 4
printf ("Toto = %d", TOTO);
Mais je le répète encore une fois, il est déconseillé de le faire en cours de script.

Par contre, on peut tout à fait, pour un mode donné, changer certains defines comme MAX_PLAYERS par exemple :
#include <a_samp>
#undef MAX_PLAYERS
#define MAX_PLAYERS 50

Ceci évite d'aller modifier directement le fichier include.

++
Syg
Courtesy of GtaManiac

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Modiifier un define
« Réponse #4 le: 01 Février 2009, 21:06:30 »
Salut,

Syg, le roi du pawn....
j'avais jamais entendu parler de cette directive de compilation....
tu es trop fort :D

++Sim++