J'ai des difficultés à créer une version de Python avec ctypes en utilisant le compilateur Intel (11.1). Le problème est que libffi sous le module ctypes ne fonctionne pas correctement lors de l'interfaçage avec, par ex. OpenGL.Compilateur Intel et Python/ctypes/libffi
A l'origine, libffi n'a pas compiler en utilisant les compilateurs Intel comme __int128_t
ne définit pas, et j'ai suivi le travail autour qui a été énuméré plusieurs endroits, notamment par la définition d'un nouveau type:
typedef struct { int64_t m[2]; } __int128_t;
Cette suit une réponse donnée par Intel: http://software.intel.com/en-us/forums/showthread.php?t=56652
Le patch suggère alors quelque chose comme ceci:
typedef struct { int64_t m[2]; } __int128_t;
//and then change where the uint64_t is assigned to this to be:
sse[x].m[0] = *(uint64_t*) v;
sse[x].m[1] = 0;
//and where the uint32_t is assigned to:
sse[x].m[0] = *(uint32_t*) v;
sse[x].m[1] = 0;
L'application du correctif, la compilation des éléments et ctypes
devient disponible pour l'importation, cependant, lors de l'interfaçage avec OpenGL, les choses ne fonctionnent pas. L'exécution du programme d'exemple de PyQt hellogl.py
donne une vue vide.
Existe-t-il un meilleur moyen de le faire?
Dan;
Il a été discuté comme un bug Python: http://bugs.python.org/issue4130 – Dan
On peut aussi dire que compiler Python (et libffi) avec GCC fonctionne - mais je suis intéressé par une solution Intel complète . Dans le pire des cas, je demanderai que libffi soit compilé uniquement par GCC. – Dan