• 23 Avril 2025, 23:56:27


Auteur Sujet: Oubli d'un nom de fonction  (Lu 1284 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Oubli d'un nom de fonction
« le: 15 Octobre 2010, 22:24:45 »
Bonsoir à toutes et à tous,

J'ai oublier comment on appelais une fonction qui commençait par


for(new i = 0; i != sizeof(X); i++ )

Merci d'avance
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Oubli d'un nom de fonction
« Réponse #1 le: 15 Octobre 2010, 22:31:40 »
J'ai pas très bien compris ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne dydjyz

  • *
  • Bandit
  • Messages: 278
    • Voir le profil
    • OriginalRP - SAMP
Re : Oubli d'un nom de fonction
« Réponse #2 le: 15 Octobre 2010, 22:54:49 »
Une boucle ?

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Oubli d'un nom de fonction
« Réponse #3 le: 16 Octobre 2010, 11:34:58 »
Faux, sizeof() donne la taille que la variable prend dans la mémoire en octets, mais en pawn cette fonction ne donne pas la valeur exacte.

Exemple:

new var = 5;
printf("Taille dans la mémoire de var = %d\n", sizeof( var ) );

cela affiche -> Taille dans la mémoire de var = 1

Ce qui est normalement faux, vu qu'une variable en pawn est ( presque ? ) toujours en 4octets ( 32bits ), donc normalement cela devrai affiché

Taille dans la mémoire de var = 4

alors qu'en C

Code: (cpp) [Sélectionner]
int main( int argc, char ** argv )
{
int var = 5;
printf("Taille dans la mémoire de var = %d\n", sizeof( var ) );
system( "pause" );
return 0;
}

on obtient


Taille dans la mÚmoire de var = 4
Appuyez sur une touche pour continuer...


et si on fait

new var[4] = {5, 4, 3, 2};
printf("Taille de var dans la mémoire %d\n", sizeof( var ) );

ce code affiche -> Taille de var dans la mémoire 4


alors qu'en C
int main( int argc, char ** argv )
{
int var[4] = {5, 4, 3, 2 };
printf("Taille dans la mémoire de var = %d\n", sizeof( var ) );
system( "pause" );
return 0;
}

ce code affiche:

Taille dans la mÚmoire de var = 16
Appuyez sur une touche pour continuer...



donc, on voit qu'en pawn, sizeof() divise par 4 la taille de la variable dans la mémoire, et je n'ai jamais compris pourquoi ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Oubli d'un nom de fonction
« Réponse #4 le: 16 Octobre 2010, 13:46:00 »
Voila s'est une boucle, ce qui était a l'interieur s'était n'importe quoi ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Oubli d'un nom de fonction
« Réponse #5 le: 16 Octobre 2010, 13:50:45 »
On appel pas ça une fonction, mais une instruction, voila pourquoi je n'ai pas compris ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Re : Oubli d'un nom de fonction
« Réponse #6 le: 16 Octobre 2010, 14:25:41 »
donc, on voit qu'en pawn, sizeof() divise par 4 la taille de la variable dans la mémoire, et je n'ai jamais compris pourquoi ^^

Sans doute pour éviter à tout le monde de s'emmerder à diviser par 4 à chaque fois.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Oubli d'un nom de fonction
« Réponse #7 le: 16 Octobre 2010, 14:44:50 »
Ouais, peut être, mais ça emmerde pas de diviser par 4, il y a juste à écrire /4



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Oubli d'un nom de fonction
« Réponse #8 le: 16 Octobre 2010, 16:06:15 »
Salut,

Ouais, peut être, mais ça emmerde pas de diviser par 4, il y a juste à écrire /4

et en plus le code n'en est pas plus lent comme en PAWN (en C/++ aussi j'imagine), la valeur de sizeof est déterminée à la compilation, donc constante. Or les opérations sur les constantes (tel que sizeof()/4, MAX_PLAYERS/100) sont calculées à la compilation (si le compilo est moindrement "bon", normalement il optimise de quelques façons et ceci en fait partie).

++Sim++