Autor Thema: Linken geht nicht !!!  (Gelesen 6201 mal)

_CanDL

  • Beiträge: 2
    • Profil anzeigen
Gespeichert
« am: 07. July 2004, 17:43 »
Hallo, bin ganz neu hier :-).
Ich wollte mal etwas mit gcc machen & linken,
aber es geht nicht. Ich hab ein Paar Dateien :

/*
edit: Datei kernel.c
  Memory Printing Example
  Written 2003 by Jonas Kramer
  eMail: lizer@gmx.net
*/


#define COLS 80 /* 80 Spalten */
#define ROWS 24 /* 25 Zeilen, bei 0 beginnend */

/* globaler Pointer auf den Beginn des Video Memory */
unsigned short * const pScreen = (unsigned short *) 0xB8000;

unsigned gPos = 0; /* der Cursor */
unsigned short gAttr = 0x0700; /* die Attribute */

#define GETX (gPos % COLS)
#define GETY ((gPos - GETX) / COLS)

void gotoxy(unsigned x, unsigned y);
void putchar(char);
void puts(const char *);

int main(void) {
  char *msg = "Hello, world!"; /* eine Test-String */
  puts(msg); /* den String ausgeben */
  return 0; /* Das funktioniert nur, wenn der Kernel von GRUB geladen
           wurde, ansonsten muss hier eine Endlosschleife hin */
};

void gotoxy(unsigned x, unsigned y) {
  gPos = x + (y * COLS);
  return;
};

void putchar(char ch) {
  switch(ch) {
  case '\n':
    gotoxy(0,GETY + 1);
    break;
  case '\r':
    gotoxy(0,GETY);
    break;
  default:
    pScreen[gPos++] = (unsigned short) ch | gAttr;
    break;
  };
  return;
};

void puts(const char *s) {
  while(*s)
    putchar(*(s++));
  return;
};

Das wäre der Code...
Hier noch der Batch :

gcc -c -ffreestanding -nostdinc -I ./ -O3 -Wall -o kernel.o kernel.c
ld -Ttext 0x100000 --oformat elf32-i386 -O 1 -o kernel kernel.o
pause

Wenn ich den Batch aufrufe, sagt ld
"ld: PE operations on non PE file.".
Dabei ist das doch genau der Code aus Teil 5 !
Habe ich etwas vergessen ???

_CanDL

  • Beiträge: 2
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 07. July 2004, 23:05 »
Ist hier überhaupt noch jemand ???

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 10. July 2004, 09:21 »
ähhhhhhhhhhhhhh, dass gehört wohl eher ins coding-forum
@mods: bitte verschieben!
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

The-Programmerfish

  • Beiträge: 434
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 10. July 2004, 14:25 »
Wenn ich mich nicht irre sind wir hier in der Lowlevel-Coding Area (Oder was meintest du mit coding-forum?)
<- Verhasst, Verdammt, Vergöttert

The-Programmerfish

  • Beiträge: 434
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 10. July 2004, 17:45 »
Sorry hab übersehen dass dieser Topic vorher schonmal woanders war.
<- Verhasst, Verdammt, Vergöttert

 

Einloggen