On Sunday, 8 July 2018 at 20:27:34 UTC, Stijn Herreman wrote:
I should point out that I only have a vague idea of what I'm
doing, I tried things until it compiled and worked (at first
glance). If there are any docs that properly explain the
casting of pointers, I'd appreciate the links.
I found the following works as desired:
environment.d
public __gshared header* GPT_header;
public __gshared partition_entry* GPT_entries;
main.d
GPT_header = cast(header*)0x00007e00;
GPT_entries = cast(partition_entry*)0x00008000;
That still lets me access GPT_entries with an index, e.g.
GPT_entries[0]. Is this how it's supposed to be done, or is there
a better way still?