Zdravím,
potřebuji napsat program, který bude běžet bez OS - program bootuji z diskety. Boot loader mám napsaný v ASM, a chtěl bych se zeptat jak mám další kód v C/C++ vytvořit nebo zkompilovat tak, aby běžel bez OS ? Popřípadně nějaké odkazy na tutoriály. Používám Visual C++ Express Edition. Nevím jestli hledám špatně, ale nemůžu nic kloubného najít.
Předem díky
Fórum › C / C++
Komilace programu
Je potřeba ten program slinkovat bez jakýchkoliv knihoven (kromě nějakých vlastních). Tzn. i bez standardní knihovny C/C++. Nejspíš na to bude nějaký parametr překladače.
Dufam ze ti je ale jasne ze potom uz napr.: printf() nezavolas, pamät si musis spravovat sam, ked chces citat/zapisovat na HDD musis si implementovat vlastny filesystem driver, multitasking mozes snivat, ... ,... , .................................................
Len tu trepete somariny ale aby ste mu naozaj postli nejaky link co by mu pomohol tak na to sa nezmozete.
http://osdever.net/tutorials.php?cat=0&sort=1
Tutorialov je tam cela kopa. Len sa obavam ze pre VC toho moc nenajdes, 1. vec co budes muset spravit je asi instalovat nejaky ten GNU toolchain.
uplne zaklady mas tu http://osdever.net/bkerndev/index.php ale predpokladam ze cely kernel pisat nebudes tak na vela veci sa tam mozes vykaslat(multitasking, pravdebodbne aj paging - tie sa tam vlastne ani nerozoberaju), ale take veci ako ten linker skript a aj samotny postup kompilacie su dolezite aj pre teba, ak chces mat nejaky vstup tak budes potrebovat aj GDT a IDT.
Predpokladam ze volat C funkcie (t.j. hlavne main()) z asm vies a keby nie, tak to je vsetko v tom tutoriale.
Keby si mal este nejaky problem tak sa ozvi.
Spousta zajímavých článků, ale teď mám pro změnu problém s překladem (konkrétně jsem čerpal z tutoriálu http://osdever.net/tutorials/basickernel.php). Mám dva zdrojové soubory. Oba zvlášť přeložím do objektového souboru a když se snažím pomocí linkeru vytvořit výsledný spustitelný binární soubor, linker mi hlásí chybu:"file not recognized: File format not recognized". Na internetu jsem našel, že prý linker bere soubory podle přípony, ale už jsem zkoušel ledacos a pořád nic :-(
Mozes napisat aky linker a do akeho formatu si to kompiloval ?
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Chyba v programu — založil choice_
Okometovanie programu — založil Peter K.
Vysvětlení programu — založil Seth1113
Prace v programu C — založil Pavel
Uprava programu — založil Milan
Moderátoři diskuze