Normal. Recharge sys.c et sys.h, je les ai modifiés (voir post au dessus)Envoyé par vince3320
Normal. Recharge sys.c et sys.h, je les ai modifiés (voir post au dessus)Envoyé par vince3320
Peux tu mettre les liens des 2 nouveaux fichier sur le forum car je n'arrive a recuperer que les anciens.?
C'est quand meme bizarre... j'ai pourtant efface l'historique, fait des refresh, taper en dur l'adresse, ... mais je n'ai pas le bon..
http://emmanuel-delahaye.developpez....b/ed/inc/SYS.HEnvoyé par vince3320
http://emmanuel-delahaye.developpez....b/ed/src/SYS.C
C'est vrai que c'est un peu bizarre... Avec Mozilla, quand je clique sur les liens, j'ai l'ancienne version (le cache, probablement), puis quand je clique sur 'réactualiser', la nouvelle version apparait (1.30)
ben j'ai mozilla aussi et je fais reactualiser pour voir les nouveau post sur le forum et ca marche tres bien... donc la : : :
Sinon j'ai regarde les liens et en le recuperant, j'obtiens toujours la meme erreur.
sys.h:197:40: /djgpp/include/sys/version.h: Aucun fichier ou répertoire de ce type
Quels sont les modifications que tu as apporte a sys.h.?
(pour etre sur que je possede le bon)
Dans l'entete des fichiers,Envoyé par vince3320
Sinon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Modification : 25-06-2004
devient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /* DJGPP */ #elif defined (__GNUC__) #include </djgpp/include/sys/version.h> #undef COMP_VER #undef COMP_NAME #define COMP_VER __DJGPP__ #define COMP_NAME "DJGPP" #define SIZE_T_BIT 32 #define SYS_CLR(p, T) \ do \ { \ static const T z = {0}; \ *(p) = z; \ } \ while(0) #define STACK_SET(a) #define STACK_CHK() #define STACK_PRINT()
C'est normalement cette partie là qui devrait être compilée chez toi. Pour le savoir, ajouter un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 /* DJGPP */ #elif defined (__DJGPP__) #undef COMP_VER #undef COMP_NAME #include </djgpp/include/sys/version.h> #define COMP_VER __DJGPP__ #define COMP_NAME "DJGPP" #define SIZE_T_BIT 32 #define SYS_CLR(p, T) \ do \ { \ static const T z = {0}; \ *(p) = z; \ } \ while(0) #define STACK_SET(a) #define STACK_CHK() #define STACK_PRINT() /* GCC */ #elif defined (__GNUC__) #undef COMP_VER #undef COMP_NAME #define COMP_VER __GNUC__ #define COMP_NAME "GCC" #define SIZE_T_BIT 32 #define SYS_CLR(p, T) \ do \ { \ static const T z = {0}; \ *(p) = z; \ } \ while(0) #define STACK_SET(a) #define STACK_CHK() #define STACK_PRINT()
dans le bloc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part #error
ok
je n'ai pas le bon
Dans l'entete, j'ai:
Modification : 15-12-2003
Je fais les modifs et je te tiens au courant!
Je te garantis que le serveur est à jour. Tu dois utiliser un proxy qui stocke les pages. Une plaie...Envoyé par vince3320
Ca c'est fort possible! lol
Mais je peux pas y faire grand chose...
En lancant le programme de test, j'obtiens les resultat suivant:
SYSALLOC Overload (5 rec)
SYSALLOC Successful initialization: 5 records available
SYSALLOC min=18446744073709551615 max=18446744073709551615 delta=0
SYSALLOC All-matched
SYSALLOC Released Memory
il me semble que ce ne sont pas les resultat que tu avais edite tout a l'heure...
Si ce n'est pas les meme, cela veut dire que j'ai fais une mauvaise manip?
[pas grand chose a voir avec le C, mais si ca peut aider]
Tu peux essayer en finissant ton adresse par le symbole . (point) -> cela force à remonter jusqu'au DNS primaire, et permettra peut etre de forcer la récupération des dernières versions des fichiers.Envoyé par vince3320
Oui. Je pense que tu as oublié de définir la macro globale DBG_SYSALLOCEnvoyé par vince3320
Ok!
j'ai effectivement oublie de la définir.
Dois je l'initialiser?
Ou dois je la declarer?
Dans le programme de test? dans sysalloc.c ?
De façon globale. Par exemple sur la ligne de commande :Envoyé par vince3320
gcc ... -DDBG_SYSALLOC
je ne connais pas les détails de ton compilateur.
Je savais pas que l'on pouvais faire comme cela!
Merci!!
Voila les nouveaux resultats:
Ils ont l'air plutot correct, non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SYSALLOC Successful initialization: 5 records available SYSALLOC min=18446744073709551615 max=18446744073709551615 delta=0 SYSALLOC Err: Not-matched list: SYSALLOC Bloc 0x6000000000007e90 (1 byte) malloc'ed at line 5 of 'test.c' not freed SYSALLOC Released Memory
Ok. Dans cette implementation, il n'y a pas pas de mécanisme pour mesurer la taille mémoire. Il faut donc ignorer les lignesEnvoyé par vince3320
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part SYSALLOC min=18446744073709551615 max=18446744073709551615
par contre le reste est très significatif (je suis un peu étonné par le format de l'adresse. C'est quelle architecture déjà ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part SYSALLOC Released Memory
en fait, je suis sur un itanium. (machine 64 bits)
C'est peut etre pour ca que le format est etrange, non?
Je comprends mieux. Ouah, mon code tourne sur IA64, je suis impressioné!Envoyé par vince3320
Je suis en train de tenter de coller ton programme a mon code.
J'espere que ca va fonctionner!!
Merci beaucoup de ton aide!
N'oublie pas qu'il faut inclure "ed/inc/sysalloc.h" partout où l'on utilise malloc() free(). Et j'espère que tu n'utilises pas strdup() ou autres, car évidemment, les appels à malloc() / free() de la bibliothèque ne sont pas instrumentables par mon système. Mais si c'était le cas, j'ai un STR_dup() dans mon module STR.Envoyé par vince3320
je n'utilise pas strdup().
Par contre, j'ai des apels a des fonctions realisant des malloc et des free.
Donc, il me suffit simplement d'inclure sysalloc dans ses fichiers si j'ai bien compris.
En faite, il me marque une fois ca au debut du programme:
SYSALLOC Overload (5 rec)
SYSALLOC Successful initialization: 5 records available
Et ensuite, il ecrit enormement de fois:
SYSALLOC Overload (5 rec)
Et, a la fin, il ecrit:
SYSALLOC Overload (5 rec)
SYSALLOC min=18446744073709551615 max=18446744073709551615 delta=0
SYSALLOC Overload (no valid trace available)
SYSALLOC Released Memory
Ca veut dire qu'il n'a pas trouver de fuite?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager