Thread pointer auf array und hash (Inline::C) (13 answers)
Opened by Graf Herschel at 2010-11-26 15:05

Gast Graf Herschel
 2010-11-26 22:01
#143111 #143111
Ich habe mir das mit dem GDB angesehen, deine Vermutung ist korrekt. Man muß ziemlich tief tauchen. $$ref wird außerhalb des für das binary erreichbare datansegments gestellt,
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cs::xxx
push ds
push dx
push ax
push ds
push es

usw.

push dx ; dx stammt vom stack,beschrieben von perl
pop ds ; hier setzt er sich in das perl_daten_segment
call pqwmerge; hier ist dieses generalized quotes

*Adresse wird gemäß ds außerhalb deklariert

pop ds ; und wieder alles in Ordnung
retf


Wenn ich den pointer nicht verwende, passiert auch nichts, aber das ist ja nicht der Sinn der Sache. Bei nur push(@{$$ref},$plip); bleibt ds im daten_segment des binaries. Ich müsste ja nur an den compiler_switches drehen, dann würde auch das funktionieren,bin aber angewiesen auf code mit kleinstem memory_datasegment. Was mir nicht gelingt, ist den pointer auf NULL zu setzen, aber das löse ich mit unterschiedlichen return_werten.

Alles Bestens
Last edited: 2010-11-26 22:03:34 +0100 (CET)

View full thread pointer auf array und hash (Inline::C)