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).

  • Prüfen Sie, ob eine Funktion eine Warnung mit Nasentests auslöst
  • AttributeError: <module '__main__' von [..] hat nicht das Attribut 'open'
  • Django / Python unittesting: Wie Force Exception of Try / Except Block zu erzwingen
  • Wie man Argumente an ein UnitTest ohne globale Variablen sendet
  • Wie kann man die Verbosität in python unittest erhöhen?
  • Kann das Python-Coverage-Modul die Zeilen in einem Unit-Test bedingt ignorieren?
  • Testen eines Python-API-Clients
  • Wiederholungscode in unbescheidenem Testfall
  • Python ist die beste Programmiersprache der Welt.