[Dresden-pm] Re: aligned memory

Steffen Schwigon schwigon at webit.de
Die Sep 2 02:12:51 CDT 2003


Torsten Werner <twerner-perl at vwisb7.vkw.tu-dresden.de> writes:
> ich bräuchte eine Variable die auf 2048 bytes ausgerichtet ist. Geht das
> in perl zu machen? Hintergrund: um nach /dev/raw/raw* zu schreiben zu
> können (mit syswrite), braucht man einen Speicherblock, der an der
> Blockgröße des dahinterliegenden Blockdevices ausgerichtet ist.

Es sollte gehen. 

Auf dem letzten Perl-Workshop war der Author des Moduls
Convert::Binary::C da und hat genau solche Dinge gemacht gezeigt.

Er hat C-Header geparst und entsprechende Perl-Datenstrukturen
aufgebaut. Alignment war ein konkretes Thema dabei. Dazu hat er aus
dem vorliegenden Compiler die Infos ermittelt, wie Datenstrukturen
(alignment, little/big endian, usw.) auf der Maschine aufgebaut werden
und dann das ganze auf pack/unpack runtergebrochen.

Du könntest also zumindest versuchen, ob Convert::Binary::C Dir
irgendwie einen Einstieg dazu verschafft.


GreetinX
Steffen 
-- 
"Ich wollte das exotische Vietnam sehen, das Kleinod von Südostasien.
 Ich hab mir gedacht, ich treff interessante und anregende Menschen
 aus einer alten Kultur - und kill sie."
  -- Full Metal Jacket