Paylaşılan bir nesneye derlenmiş bir C kütüphanem var ve Python'dan C işlevlerini çağırmak için etrafında bir klişe arabirimi oluşturmak istiyorum. Ben doğrudan bu tür erişmek için hiçbir şekilde bulunduPython ctypes veri yapısını hizala
typedef double __attribute__ ((aligned (32))) double_array[512];
, bu yüzden Python tanımlanan: sorunsuz çalışıyor ama C kütüphanesinde bir çift dizinin bu tanım yoktur Genelde
DoubleArray = ctypes.c_double * 512
Bu, çoğu durumda, bazen C kütüphanesi segfaults ve out sanırım, bu DoubleArray
32 bayt ile hizalanmış değildir çünkü tahmin ediyorum (belki de veri AVX'e geçirildiği için kütüphane bunu bekliyor).
Bu sorunu nasıl çözebilirim?