Ce sujet est résolu.
1 | |||||
Auteur | Messages | ||||
---|---|---|---|---|---|
archi12 | #1 Posté le 29/10/2015 à 16:22:28 | ||||
bonjour, 1 - est-ce que la valeur max pour un integer, un float, est la meme que la machine soit en 32 bits ou en 64 bits ? 2 - quelle est la longueur max d'un string ? dans les 2 cas ? 3 - où pourrais-je trouver ces infos ? (version 3.8.90 sur mint 17.2) merci pour votre aide | |||||
Reivillo | #2 Posté le 29/10/2015 à 16:31:57 | ||||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonsoir archi12.3 - où pourrais-je trouver ces infos ? Documentation Gambas3 FR Reivillo. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||||
archi12 | #3 Posté le 29/10/2015 à 16:50:05 | ||||
merci Reivillo pour cette reponse rapide. mais en posant ces questions, j'ai oublié de dire que j'avais déja cherché et recherché dans la documentation que vous indiquez. Sans rien trouver. Pourriez-vous m'indiquer où chercher, exactement ? Ou me donner directement ces renseignements, si vous les possedez, ce qui me ferai gagner du temps. Merci encore. | |||||
Flachy Joe | #4 Posté le 29/10/2015 à 18:32:07 | ||||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | C'est vrai que la doc est un peu ardue à parcourir... C'est par là (Index du langage > Types de données) : http://gambaswiki.org/wiki/lang/type?l=fr Bonne lecture. Flachy Joe | ||||
archi12 | #5 Posté le 30/10/2015 à 11:55:28 | ||||
Flachy Joe Merci pour votre aide. J'aime bien le "un peu ardue" ! string taille en memoire 4 octets, soit 2 ^ 32 = 2.147.483.648 Apres test buf = string(2147483607, "a") est le maximum avant un seg fault (le string contient des entetes) ' par contre buf = string(2147483607, "€") provoque ce seg fault bien avant ! Merci encore | |||||
Flachy Joe | #6 Posté le 31/10/2015 à 11:53:46 | ||||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | "€" est un caractère unicode codé sur 2 octets, non ? Flachy Joe | ||||
archi12 | #7 Posté le 1/11/2015 à 10:56:46 | ||||
Flachy Joe oui, "€" fait plus de 1 caractere de long (UTF8) cette limite 2147483607 est-elle due à l'instruction "string" qui n'accepte qu'un integer, ou à la taille de ma mémoire qui n'est que de 4 Go ? comment peut-on connaitre la taille occupée par un prog pendant de son execution ? merci | |||||
Flachy Joe | #8 Posté le 1/11/2015 à 18:39:33 | ||||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Je pense que la limite de la chaîne de caractère vient du fait quelle est stockée sous forme |longueur|données| la longueur étant sur 4 octets. Bizarrement la longueur semble être codée sous forme d'entier signé, puisque 2^32=4294967296 et 2147483648=2^31 mais c'est peut-être comme tu le suggère pour correspondre au type Integer. En tout cas la taille de la mémoire disponible (16Go chez moi) ne change pas la valeur limite d'apparition de l'erreur de segmentation. Connaissant le PID du processus, tu peux faire grep Vm /proc/$PID/status pour avoir des infos sur la mémoire utilisée.Si tu as besoin d'une chaîne de plus de 2Go (possible uniquement sur un système 64bits), il va falloir que tu passes par des pointeurs, cf http://gambaswiki.org/wiki/lang/type/pointer?l=fr http://gambaswiki.org/wiki/lang/alloc?l=fr http://gambaswiki.org/wiki/cat/externfunc?l=fr Flachy Joe | ||||
archi12 | #9 Posté le 2/11/2015 à 15:10:21 | ||||
Flachy Joe merci de votre reponse vous qui avez 16Go, pourrais-je vous demander de tester (si vous avez le temps) buf1 = string(2147483647,"a") ' ne doit pas provoquer d'erreur d'aucune sorte buf2 = string(2147483647,"a") ' ne doit pas provoquer d'erreur d'aucune sorte non plus buf3 = buf1 & buf2 ' et là ?????????? sinon utilisation des pointeurs merci encore | |||||
Flachy Joe | #10 Posté le 2/11/2015 à 18:27:08 | ||||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Ça m'affiche une erreur "Mémoire pleine" mais ce n'est pas une limite de taille totale acceptée par Gambas puisque
Donc il y a un test sur la longueur des chaînes dans la fonction de concaténation. Flachy Joe | ||||
archi12 | #11 Posté le 3/11/2015 à 16:47:49 | ||||
Flachy Joe merci ! je pense en avoir suffisamment appris, grace à vous, pour continuer mon petit projet. merci encore | |||||
1 |