SurO — Änderungen 11308 → 11309

Zeile 6: Zeile 6:
 
| Kernel = Hybridkernel
 
| Kernel = Hybridkernel
 
| API = -
 
| API = -
−
| Binaerformat = .x (eigenes)
+
| Binaerformat = .x (eigenes) oder .elf ([[ELF]])
 
| Sprache = [[Assembler | ASM]]
 
| Sprache = [[Assembler | ASM]]
 
| IPC= -  
 
| IPC= -  
Zeile 31: Zeile 31:
 
* HyperEbenenProjektionsTreiber (Sowas wie Grafikfenster für Programme)
 
* HyperEbenenProjektionsTreiber (Sowas wie Grafikfenster für Programme)
 
* 1024x768x25 (8881 rgba) Grafik + süßer Fadenkreuzmauszeiger
 
* 1024x768x25 (8881 rgba) Grafik + süßer Fadenkreuzmauszeiger
−
* kleine C-Bibliothek <surlib.c> über Interrupt 35h
+
* Spezielle C-Bibliothek <surlib.c> mit Syscalls über Interrupt 35h
 +
* Standard C-Bibliothek mit crt0.c und Linker-Script surlink.lds, welche auf <surlib.c> aufbaut
 
* Uhr- und Datumsanzeige
 
* Uhr- und Datumsanzeige
 
* Screenshots im SVM-Format (abgewandeltes PPM-Format, kann in PPM umgewandelt werden)
 
* Screenshots im SVM-Format (abgewandeltes PPM-Format, kann in PPM umgewandelt werden)
Zeile 40: Zeile 41:
 
* Hallo Welt [C]
 
* Hallo Welt [C]
  
−
== Beispiel-Programm für die zugehörige C-Bibliothek==
+
== Beispiel-Programm für die spezielle C-Bibliothek==
 
<c>
 
<c>
 
#include "surlib.h"
 
#include "surlib.h"
Zeile 58: Zeile 59:
 
}
 
}
 
</c>
 
</c>
−
Kompiliert wird in ein Binärformat mit:
+
Kompiliert werden kann zum Beispiel in das ELF-Format mit:
 
<pre>
 
<pre>
−
gcc sur_hello_world.c -o hello.x -m32 -nostdlib -O2 -emain -Wl,-Ttext,0 -Wl,--oformat,binary --std=gnu99
+
gcc sur_hallo_welt.c -o hallo.elf -m32 -nostdlib -O2 -emain -Wl,-Ttext,0 -Wl,-s -Wl,-N --std=gnu99
 
</pre>
 
</pre>