Sizeof()

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Sizeof()

Message par Anonyme2 »

Sizeof accepte le nom de structure ou interface comme argument.
Ce qui fait que la valeur va être inscrite dans le fichier lors de la compilation.

Ca serait bien que cette commande accepte une chaine et retourne -1 si la valeur n'est pas trouvée et la taille si Ok
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Simple curiosité: dans quels cas est-ce que la valeur ne pourrait pas être trouvée ?
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

filperj a écrit :Simple curiosité: dans quels cas est-ce que la valeur ne pourrait pas être trouvée ?
Faute de frappe, version d'un lib/dll anterieur etc...
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

filperj a écrit :Simple curiosité: dans quels cas est-ce que la valeur ne pourrait pas être trouvée ?
Si par exemple j'ai une liste de noms de structures sous la forme de chaines (chaines ou tableau ou liste chainée)


C$ = "BYTE"

Debug SizeOf(BYTE) ;fonctionne

Debug SizeOf(C$) ;etc ne fonctionne pas
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Code : Tout sélectionner

Debug SizeOf(C$) ;etc ne fonctionne pas
ça parait logique si comme je le pense, sizeof() n'existe plus dans le programme final.
il doit être convertit en constante car ce type de fonction est basé sur une liste de structure avec les tailles de celle-ci.

Fred, comment fonctionne SizeOf() exactement ? merci
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Le Soldat Inconnu a écrit :

Code : Tout sélectionner

Debug SizeOf(C$) ;etc ne fonctionne pas
ça parait logique si comme je le pense, sizeof() n'existe plus dans le programme final.
il doit être convertit en constante car ce type de fonction est basé sur une liste de structure avec les tailles de celle-ci.

Fred, comment fonctionne SizeOf() exactement ? merci
Oui, c'est surement ça puisque je crois que c'est transcrit en valeur à la compilation.

Mais si cette liste de structures est tenue (je le pense), il n'y a aucun problème pour retourner la valeur en dynamique qui serait dans une chaine.
Répondre