rebooten
-
Original erstellt von Ikari:
Das sollte ja auch nur ein Testprogramm sein, ich wusste ja net, das es wegen MSVC scheiterEs liegt nicht an MSVC direkt sondern daran, dass du 32-Bit-Code für Windows generierst und da haut dir der Protected Mode dazwischen
-
aso
aber wie kann ich das dingen dann compilieren? Welcher Compiler eignet sich denn für die OS-Programmierung? Also sollte C/C++ können und ASM
-
aso
aber wie kann ich das dingen dann compilieren? Welcher Compiler eignet sich denn für die OS-Programmierung? Also sollte C/C++ können und ASM
Also für ASM nimmt jeder den der ihm am liebsten gefällt, ich bevorzuge NASM (Netwide Assembler), aber viele Leute mögen auch TASM (Borland) und MASM (Microsoft), zumindest NASM und MASM lassen sich mit jedem guten Google auftreiben.
Für den C/C++-Teil brauchst du einen Compiler, der flat binaries erzeugen kann, gcc ist so ein Compiler (läuft auch unter Win mit dem CygWin-Paket), sonst weiß ich jetzt keinen, aber der GCC ist ja auch ein netter Compiler
Der GCC beherrscht auch inline-Assembler (wenn du dir den 3.2er kompilierts auch mit Intel-Syntax).
Wenn du mit OS-Programmierung anfangen willst, schau dich mal in der FAQ um, da gibts ganz viel Doku über das Thema
[ Dieser Beitrag wurde am 22.11.2002 um 17:19 Uhr von TriPhoenix editiert. ]
-
@TriPhoenix:
Danke, in der FAQ hab ich nur nix gefunden das mir die Frage zum Compiler genauer erklärt (leider)also den GCC kann man für die OS-Programmierung deiner Meinung nach benutzen?
-
Original erstellt von Ikari:
also den GCC kann man für die OS-Programmierung deiner Meinung nach benutzen?Jop, die meisten Leute tun das auch so
Schau dir mal den hier an:
http://my.execpc.com/~geezer/osd/index.htm (steht auch in der FAQ), das ist die FAQ von alt.os.development, da stehen viele nützliche Dinge über OS-Dev und auch einige Beispiel-Mini-OS
-
boah kewl danke
-
sorry, das ich den Thread noch mal hochhole
Aber ich möchte nun im GCC diesen code Compilieren indem eine Inline-Assembler Zeile ist:
// I N C L U D E S ///////////////////////////////////////////////// #include <stdio.h> // F U N K T I O N E N ///////////////////////////////////////////// void reboot (void) { asm jmp 0xffff:0x0000 } int main (void) { reboot (); return 0; }
doch ich bekomme leider diesen Fehler in der Assembler-Zeile:
g++.exe -c main.cpp -o main.o -I"C:/DEV-CPP/include" -I"C:/DEV-CPP/include/g++-3" -I"C:/DEV-CPP/include" -s main.cpp: In function `void reboot()': main.cpp:7: parse error before `0xffff'
ich dachte, diesmal haut mir der Protected-Mode nicht dazwischen und der compiler würde inline-Assembler unterstützen?!?!
-
DEV-CPP
WINDOWS
Ich glaub du hast es noch nicht gerafft oder du willst uns ver*****en. Du versuchst es ja schon wieder unter Windows. Das geht da sowieso nicht. Oder schnapp dir nen 16-bit compiler, dann geht's. g++ ist keiner!!
-
obwohl dann geht's glaub ich nämlich immer noch nicht. dann wird's zwar 16-bit dos simuliert, aber ein reboot sollte trotzdem nicht möglich sein. vergiss es einfach oder geh zurück nach Real-Mode DOS
-
ich will net, das es unter windows funzt, sondern das er es fehlerfrei compiliert!
Das er unter windows net rebootet ist mir klar master neunmalklug! Hab ich ja auch net vor! Okay? Ich will NUR das er compiliert!
-
das wirst du unter einem windows compiler auch nicht kompiliert bekommen, weils ne dos-speicheradresse ist.
außerdem
http://www.bloodshed.net/faq.html
zum Assembler-Syntax
-
@****
Danke
-
BTW: Bist du der Patrick Ullmann aus dem ZFX und postest hier unter anderem Namen?
ChrisM
[ Dieser Beitrag wurde am 30.11.2002 um 11:39 Uhr von ChrisM editiert. ]