Bonjour.
J'ai une classe qui appelle une fonction de ma librairie C perso. Tout se passe bien et au moment de quitter le script, Python plante :/
Voici le fichier de la librairie:
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 # -*- coding: utf8 -*- from ctypes import cdll, create_string_buffer, c_int, POINTER class matrice2d: def __init__(self,size): self.buff1 = create_string_buffer((size*size)+size*2) self.buff2 = create_string_buffer((size*size)+size*2) self.size = c_int(size) self.ZeLib = cdll.LoadLibrary("ZeLib.so") self.initMatC = self.ZeLib.initMat self.initMatC.argtype = (POINTER(c_int),c_int) self.initMatC.restype = None def initMat(self): self.initMatC(self.buff1,self.size) if __name__ == "__main__": mat1 = matrice2d(128) mat1.initMat()
Et la sortie console:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdlib.h> #include <stdio.h> initMat(int *buff1, int size) { int i=0; srand(time(NULL)); for(i = size; i < ((size*size)-size)+1;i++) { buff1[i] = rand() % 2; } }
Faut il que je change de hobby ? Car la les amis c'est WTF!? pour moi ...*** Error in `python': free(): invalid next size (normal): 0x0000000001af2db0 ***
Abandon (core dumped)
Merci d'avance.
Sofian.
[EDIT]
Comme ça au piff(il reste que ça) je dirais que je devrais désallouer quelque chose, quelque part avant de quitter comme un sagouin ...
[/EDIT]
Partager