OS DEV C++
-
Ich benütze den DevCpp Compiler und er kann dass nicht compilieren
#include "system.h" void *memcpy(void *dest, const void *src, size_t count) { const char *sp = (const char *)src; char *dp = (char *)dest; for(; count != 0; count--) *dp++ = *sp++; return dest; } int *memset(void *dest, char val, size_t count) { char *temp = (char *)dest; for( ; count != 0; count--) *temp++ = val; return dest; } unsigned short *memsetw(unsigned short *dest, unsigned short val, size_t count) { unsigned short *temp = (unsigned short *)dest; for( ; count != 0; count--) *temp++ = val; return dest; } size_t strlen(const char *str) { size_t retval; for(retval = 0; *str != '\0'; str++) retval++; return retval; } unsigned char inportb (unsigned short _port) { unsigned char rv; __asm__ __volatile__ ("inb %1, %0" : "=a" (rv) : "dN" (_port)); return rv; } void outportb (unsigned short _port, unsigned char _data) { __asm__ __volatile__ ("outb %1, %0" : : "dN" (_port), "a" (_data)); } int main() { int i; gdt_install(); idt_install(); isrs_install(); irq_install(); init_video(); timer_install(); keyboard_install(); __asm__ __volatile__ ("sti"); puts("Willkommen im MF OS 1.0\n"); // i = 10 / 0; // putch(i); for (;;); }und das ist die headerdatei
#ifndef __SYSTEM_H #define __SYSTEM_H typedef int size_t; /* This defines what the stack looks like after an ISR was running */ struct regs { unsigned int gs, fs, es, ds; unsigned int edi, esi, ebp, esp, ebx, edx, ecx, eax; unsigned int int_no, err_code; unsigned int eip, cs, eflags, useresp, ss; }; /* MAIN.C */ extern void *memcpy(void *dest, const void *src, size_t count); extern void *memset(void *dest, char val, size_t count); extern unsigned short *memsetw(unsigned short *dest, unsigned short val, size_t count); extern size_t strlen(const char *str); extern unsigned char inportb (unsigned short _port); extern void outportb (unsigned short _port, unsigned char _data); /* CONSOLE.C */ extern void init_video(void); extern void puts(unsigned char *text); extern void putch(unsigned char c); extern void cls(); /* GDT.C */ extern void gdt_set_gate(int num, unsigned long base, unsigned long limit, unsigned char access, unsigned char gran); extern void gdt_install(); /* IDT.C */ extern void idt_set_gate(unsigned char num, unsigned long base, unsigned short sel, unsigned char flags); extern void idt_install(); /* ISRS.C */ extern void isrs_install(); /* IRQ.C */ extern void irq_install_handler(int irq, void (*handler)(struct regs *r)); extern void irq_uninstall_handler(int irq); extern void irq_install(); /* TIMER.C */ extern void timer_wait(int ticks); extern void timer_install(); /* KEYBOARD.C */ extern void keyboard_install(); #endif
-
OS Progger schrieb:
Ich benütze den DevCpp Compiler und er kann dass nicht compilieren
was meckert er denn? multiple definitions o.ä.?
-
OS Progger schrieb:
Ich benütze den DevCpp Compiler und er kann dass nicht compilieren
das ist keine fehlerbeschreibung.