Quel intérêt d'avoir des types ?

Sujets variés concernant le développement en PureBasic
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Quel intérêt d'avoir des types ?

Message par LeCyb »

Après ma petite aventure avec Hex() et les nombres non-signés je me suis demandé l'intérêt d'avoir les types Byte/Word/Long.

En effet, toutes les fonctions de PB fonctionnent très bien avec des Long et même parfois mieux (cf Hex).

De plus avec la ram de nos pc il en faut quand même un paquet des variables pour justifier l'utilisation d'un word/byte à la place d'un long.

Donc vala, je me demande si y'a un intérêt d'utiliser ces types.
Vive le thread-safe !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

On peut prendre le problème à l'envers; a quoi bon loué un bus pour transporter deux personnes!

C'est sûr, c'est pratique, on a pas à s'occuper de savoir combien on sera au total. :lol:

Tu te poses la question aujourd'hui mais qu'en sera-t'il lorsque PB disposera de nombres à 64 bits, tu crois pour autant que tu te passeras des Longs. La réflexion est la même pour les Bytes et les Words.

:)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Comment tu fais pour passer un des types à une dll externe ou comment définir une structure avec des valeurs de tybe byte, word qui peuvent être des structures perso ou MS dont le type est absolument nécessaire?

Sur la fonction Hex, Fred a déjà répondu mais je n'ai pas retrouvé le message. Mais j'ai peut-être posé la question sur le forum anglais mais j'ai pas cherché sur ce forum.
Dernière modification par Anonyme2 le mer. 10/août/2005 16:45, modifié 2 fois.
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Ok ok, faut pas se fâcher :)

Je suis entièrement d'accord pour les DLL.

Mais pour les Int64 c'est le même combat, pour remplir 10k (kilo) de ram avec des Int64 il faut 1280 variables. Quand je regarde mon Task Manager les plus petit programmes font quelques centaines de k en mémoire, et la GRANDE majorité font des dizaines de Mb (Wordpad vide = 8Mb lol).

Donc je peux conclure qu'à part l'utilisation de modules externes il n'y a aucun intérêt réel d'utiliser autre chose que des longs (ou alors j'ai pas compris vos dires).
Vive le thread-safe !
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

moi je n'utilise que les longs , c'est en principe plus rapide , ou les floats en 3D.Et encore ,quand c'est nécessaire.

Sinon , les autres formats c'est comme Denis te l'a dit, utile pour les DLL ou les API .
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

LeCyb a écrit :Ok ok, faut pas se fâcher :)

Je suis entièrement d'accord pour les DLL.

Mais pour les Int64 c'est le même combat, pour remplir 10k (kilo) de ram avec des Int64 il faut 1280 variables. Quand je regarde mon Task Manager les plus petit programmes font quelques centaines de k en mémoire, et la GRANDE majorité font des dizaines de Mb (Wordpad vide = 8Mb lol).

Donc je peux conclure qu'à part l'utilisation de modules externes il n'y a aucun intérêt réel d'utiliser autre chose que des longs (ou alors j'ai pas compris vos dires).
Fait du traitement du signal (DSP, FFT) et tu comprendras que les long de PB c'est short (lol) !
Je suis toujours bloqué lorsque j'essaye d'utiliser du code qui utilise des long (64 bits, __int64) ou long long (64 bits int, gcc, permet d'avoir une précision diabolique pour certaines choses).
"Qui baise trop bouffe un poil." P. Desproges
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

comtois a écrit :moi je n'utilise que les longs , c'est en principe plus rapide , ou les floats en 3D.Et encore ,quand c'est nécessaire.

Sinon , les autres formats c'est comme Denis te l'a dit, utile pour les DLL ou les API .
Le passage des float est en fait un long.
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Message par jerexgrz »

L'interet d'avoir des types <> pour les variables est tres important !!!!

:shocked!:


Pour te dire à quel point c'est important : quand une unité tire, j'avais un prob car le tir se deplaçait en diagonale, mais il faisait un coup tout droit et puis brusquement, il montait un grand coup en haut ! C'etait nul.
Et pourquoi ce bug ? Ben, c tout con, j'utilisais des entiers au lieu d'utiliser des nbs avec precisons (float).
J'ai pas tout de suite penser à ca, j'avais l'impression que c'etait moi, qui avait mal programmer !

Alors j'imagine bien Warcraft 3 ou C&c ( prog de professionnels ), qd tu deplaces une unite en haut de la carte, ou quand ils font plein d'effets speciaux, ..., avec de gros bugs comme ca ! Beurk trop degeu ...

Par contre c'est vrai, que l'utilisation des longs est + employée que les autres.
Répondre