Tag: zeiger

Wie man eine Liste / Array von structs von python zu C übergibt

Ich habe eine C-Funktion, die von C und Python abrufbar sein muss. Ich habe Schwierigkeiten herauszufinden, wie man eine Python-Liste von c-Typ-Strukturen, von denen jeder mehrere verschachtelte Strukturen enthält, an die c-Funktion übergeben kann. Eine einzelne dieser Strukturen sieht so aus in Python aus: class STATION_MM_NODE(ctypes.Structure): _fields_ = [ ("signal", MM_STRUCT), ("noise", MM_STRUCT), ("signalWindowLen", ctypes.c_double), […]

Wie verpacke ich diese C-Funktion mit mehreren Argumenten mit Ctypes?

Ich habe die Funktion Prototyp hier: extern "C" void __stdcall__declspec(dllexport) ReturnPulse(double*,double*,double*,double*,double*); Ich muss etwas Python schreiben, um auf diese Funktion zuzugreifen, die in einer DLL ist. Ich habe die DLL geladen, aber jeder der doppelten * ist eigentlich auf eine variable Anzahl von Doppel (ein Array), und ich habe Probleme, es richtig zu funktionieren. Vielen […]

Boost.Python-Konverter für Zeiger funktioniert nicht

TLDR: Ist es möglich, C ++ – Zeigertypen durch Pythonkonverter zu übergeben? Hier erklärte ich meinen MyStruct und Pointer Typ für es PMYSTRUCT, Converter Template Klasse PointerConverter und das Python-Modul: #include <boost/python.hpp> namespace py = boost::python; template<class T, class Converter> void from_python_converter() { py::converter::registry::push_back(&Converter::convertable, &Converter::construct, py::type_id<T>()); } template<typename POINTER_TYPE> class PointerConverter { public: static void* […]

Konvertieren Sie C-Array von Zeigern in Python-Array von Strukturen

Ich schreibe eine Python App, die PulseAudio API nutzt. Die Implementierung ist stark mit Callbacks in Python geschrieben und aufgerufen von PulseAudio's C-Code. Die meisten Informationen werden in den Rückruf durch eine bestimmte Struktur übergeben, z. B. pa_sink_info , die in C wie folgt definiert ist: typedef struct pa_sink_info { const char *name; uint32_t index; […]

Python-Ctypes, die in Zeiger übergeben und Struct Back erhalten

Dies ist ein einfaches Beispiel für etwas, das ich versuche zu arbeiten, bevor ich ein wirkliches nützliches Problem anpacke. Der C-Code: typedef struct { uint32_t seconds; uint32_t nanoseconds; } geoTime; int myTest(geoTime *myTime){ printf("Time: %d %d\n", myTime->seconds, myTime->nanoseconds); myTime->seconds = myTime->nanoseconds; geoTime T = {314, 159}; printf("MyTime: %d %d retValue: %d %d\n", myTime->seconds, myTime->nanoseconds, T.seconds, […]

Interpretieren Sie die Liste der Ganzzahlen als Float in Python

Ich versuche, ein C-Code-Snippet in Python zu konvertieren. Der Zweck dieser Funktion besteht darin, 4, 8-Bit-Messwerte von einer SPS zu nehmen und sie zu einem einzigen Float zu dekodieren. float conv_float_s7_pc(char * plc_real) { char tmp[4]; tmp[0] = * (plc_real + 3); tmp[1] = * (plc_real + 2); tmp[2] = * (plc_real + 1); tmp[3] […]

Hilfe – Funktionszeiger in Python

Meine Idee des Programms: Ich habe ein Wörterbuch: options = { 'string' : select_fun(function pointer), 'float' : select_fun(function pointer), 'double' : select_fun(function pointer) } Was auch immer Typ kommt single function select_fun(function pointer) wird aufgerufen. Innerhalb select_fun(function pointer) ich Diff-Funktionen für float, double und so weiter. Je nach Funktionszeiger wird die angegebene Funktion aufgerufen. Ich […]

C Zeiger Arithmetik in Python

Ich versuche, ein einfaches C-Programm in Python umzuwandeln, aber da weiß ich nichts über C und ein wenig über Python ist es einfach nur schwer für mich .. Ich stecke bei C-Zeigern. Es gibt eine Funktion, die einen unsigned long int Zeiger nimmt und seine Werte zu einigen Variablen innerhalb einer while-Schleife hinzufügt: uint32_t somename(const […]

Python-Ctypen: Kopieren des Inhaltes der Struktur

Ich möchte ein Stück C-Code in Python mit Ctypen nachahmen, der Code ist so etwas wie: typedef struct { int x; int y; } point; void copy_point(point *a, point *b) { *a = *b; } In ctypes ist es nicht möglich, folgendes zu machen: from ctypes import * class Point(Structure): _fields_ = [("x", c_int),("y", c_int)] […]

Pythongeneratorobjekte und .join

Nur eine grundlegende Frage nach python und .join () Methode: file1 = open(f1,"r") file2 = open(f2,"r") file3 = open("results","w") diff = difflib.Differ() result = diff.compare(file1.read(),file2.read()) file3.write("".join(result)), Das obige Snippet des Codes ergibt eine schöne Ausgabe, die in einer Datei mit dem Titel "Ergebnisse" im String-Format gespeichert ist und die Unterschiede zwischen den beiden Dateien zeilenweise […]

Python ist die beste Programmiersprache der Welt.