141
Lowlevel-Coding / Re: Problem mit Globaler Struktur
« am: 03. February 2007, 15:20 »
Beide Deklarationen finden in der *.cpp - Datei statt, so wie sich das gehört ![Wink ;)](https://forum.lowlevel.eu/Smileys/classic/wink.gif)
zum Linken:
zum Kompilieren:
![Wink ;)](https://forum.lowlevel.eu/Smileys/classic/wink.gif)
zum Linken:
Code: [Auswählen]
OUTPUT_FORMAT("binary")
INPUT( x:\reos\_ckernel\kernelexe.obj
x:\reos\_ckernel\kernelc.obj
x:\reos\_ckernel\mem.obj
)
ENTRY(start)
SECTIONS
{
.text 0x11A00 :
{
code = .; _code = .; __code = .;
*(.text)
*(.rodata)
. = ALIGN(1);
}
.data :
{
__CTOR_LIST__ = .; LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) *(.ctors) LONG(0) __CTOR_END__ = .;
__DTOR_LIST__ = .; LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) *(.dtors) LONG(0) __DTOR_END__ = .;
data = .; _data = .; __data = .;
*(.data)
. = ALIGN(2048);
}
.bss :
{
bss = .; _bss = .; __bss = .;
*(.bss)
. = ALIGN(2048);
}
___KERNELEND__ = .;
end = .; _end = .; __end = .;
}
ps.: es werden natürlich wesentlich mehr Dateien gelinkt... (in der INPUT liste stehen 33 Dateien)zum Kompilieren:
Code: [Auswählen]
gpp -c -Os -nostdlib -fno-builtin -fno-rtti -fno-exceptions -o x:\reos\_ckernel\mem.obj x:\reos\_ckernel\mem.cpp