Bonjour,
J'utilise un AIX 5.3 et compile mes programmes C avec Visual Age 6.0
Dans un programme C le code suivant fonctionne très bien lorsque mon programme est compilé en 32 bits :
Mais une fois compilé en 64 bits j'ai un coredump qui apparait lors de son exécution.
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 ... /* The path must be removed from the file name */ for (i_id=0, i_lg=strlen(s_namfile); s_namfile[i_lg] != '/'; i_lg--) { i_id = i_id + 1; } for (i_id=0, i_lg=i_lg+1; s_namfile[i_lg] != '\0'; i_lg++) { s_parfile[i_id] = s_namfile[i_lg]; i_id = i_id + 1; } s_parfile[i_id] = '\0'; ...
Un dépassement de mémoire j'imagine...
La partie du code qui pose pb est celle en gras.
Comment ne plus avoir ce dépassement de mémoire en 64 bits ? Il faut jouer avec les \0 je pense, mais je n'y connait rien en C.
Pouvez-vous m'aider svp ?
Merci
Partager