Erhalten der End-Speicher-Adresse eines Speicherbereichs über Python / Ctypes

Ich schaffe eine sehr einfache (Abdeckung) unittest für eine (Hardware) C-Schnittstelle in Python.

Eine Funktion dieser C-Schnittstelle benötigt Speicheradressen, da sie direkt mit dem Speicher spricht.

Der Prototyp der Funktion ist:

void function( ulong startAddress, ulong endAddress, ulong curAddress, nofPaddingElements ) 

Die startAddress, endAddress und curAddress sind grundsätzlich Speicheradressen eines Array-of-structs.

Im Web (und Stackoverflow ;-)) habe ich Referenzen gefunden, dass wenn ich etwas mit Ctypes machen will, also das ist was ich benutze.

Für die startAddress und curAddress kann man http://starship.python.net/crew/theller/ctypes/tutorial.html#arrays und http://starship.python.net/crew/theller/ctypes/tutorial.html# folgen Zeiger , um einen Zeiger auf die Adresse des ersten Eintrags und einen Zeiger auf die Adresse des aktuellen Eintrags zu erhalten.

Aber das EndAdresse ist das Problem.
Es ist die reale Endadresse des Speicherbereichs, der von der Funktion zugewiesen werden muss.
Also für eine Reihe von Ints von 10 Längen würde es die "Adresse von i [10] bedeuten, wenn du bekommst, was ich meine (Pratically kann man natürlich nur i [0] bis ich [9] verwenden, aber ich meine mit i [10] die Adresse, an der der 10. Eintrag endet / der 11. Eintrag würde beginnen ==> die Endadresse des Arrays).

Weiß jemand, wie ich diese Endadresse über python / ctypes erhalten kann?

(Refactoring der C-Code, so braucht es nicht die Endadresse, ist keine Option, es funktioniert schon seit Jahren richtig, es hat nur keine unentdeckten)

Oh btw. Die Software-Release, mit der ich derzeit arbeite, benutzt python 2.5 (später gibt es die Verwendung von python 2.7, aber es muss zuerst auf dieser Version entwickelt werden)

One Solution collect form web for “Erhalten der End-Speicher-Adresse eines Speicherbereichs über Python / Ctypes”

Kudos sollte zu eryksun gehen (kann aber nicht die 'richtige Antwort' Flagge für einen Kommentar setzen).

  • Testen eines Python-API-Clients
  • Django test datei herunterladen - "ValueError: I / O-Operation auf geschlossene Datei"
  • Eine Liste aller Module im aktuellen Paket erhalten
  • Überspringen aller Unit-Tests, aber eine in Python mit Dekorateure und Metaklassen
  • Wie kann ich verhindern, dass Unit-Tests beim Aufruf von webbrowser.open () beenden?
  • Wie kann man die Verbosität in python unittest erhöhen?
  • Wie behaupte ich, dass ein Funktionsaufruf keinen Fehler mit unittest zurückgibt?
  • Prüfen Sie, ob eine Funktion eine Warnung mit Nasentests auslöst
  • Wie man Argumente an ein UnitTest ohne globale Variablen sendet
  • Unbekannter Tkinter File Dialog
  • Django Benutzer Setup für Nase Tests
  • Python ist die beste Programmiersprache der Welt.