Wie finde ich den aktuellen Paketnamen von Perl XS?

8

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 :

%Vor%

Gibt es Beispiele, wie diese von caller_cx zurückgegebene Struktur verwendet wird, um das aktuelle Paket von XS zu finden?

    
Eugen Konkov 01.03.2017, 12:18
quelle

1 Antwort

5

Die context struct ist definiert als cop.h , wie von @Dada in den Kommentaren erwähnt:

%Vor%

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:

%Vor%     
Håkon Hægland 01.03.2017, 14:29
quelle

Tags und Links