Um den aktuellen Kontext zu erhalten, finde ich die Funktion caller_cx
in perlapi
. Aber es gibt keine Beschreibung für die Struktur. Im Perl-Quellcode perl.h
finde ich nur dieses typedef
:
Gibt es Beispiele, wie diese von caller_cx
zurückgegebene Struktur verwendet wird, um das aktuelle Paket von XS zu finden?
Die context
struct ist definiert als cop.h
, wie von @Dada in den Kommentaren erwähnt:
Auch die block
-Strukturen sind in cop.h
definiert.
Durch die Überprüfung der C-Implementierung der Funktion Perl caller
in pp_ctl.c
(Zeile 1850), Ich denke, Sie können den Paketnamen mit dem folgenden Code erhalten: