irgendeine Datei in meinem C++ Programm öffnen mit geschriebenen Namen
-
sebastianfox schrieb:
Es geht schon! Unskilled System()-Code hat wunderbar geklappt!
hat nicht nur den nachteil, dass es langsamer ist, sondern auch, dass man nur schwer überprüfen kann, ob alles klar ging und ggf. noch den fehler finden...
und da du den code ja hier echt schon fertig für copy&paste bekommen hast, würd ich den schon nehmen - aber gehen tun wie gesagt beide...bb
-
@Unskilled:
Ich habe ein MS-DOS ähnliches OS erstellt. Aber wie kann ich dann den Bootloader erstellen. Und das aller wichtigste:
Gehen die system() Befehle? Denn überall sag ma, dass die system() befehle gefährlich sind.
-
sebastianfox schrieb:
@Unskilled:
Ich habe ein MS-DOS ähnliches OS erstellt. Aber wie kann ich dann den Bootloader erstellen. Und das aller wichtigste:
Gehen die system() Befehle? Denn überall sag ma, dass die system() befehle gefährlich sind.Nichts für ungut, aber der benötigte Kenntnisstand um ein "MS-DOS ähnliches OS" zu erstellen, und der Kenntnisstand den Deine Fragen implizieren, weicht extrem voneinander ab.
Troll?
-
Tachyon schrieb:
sebastianfox schrieb:
@Unskilled:
Ich habe ein MS-DOS ähnliches OS erstellt. Aber wie kann ich dann den Bootloader erstellen. Und das aller wichtigste:
Gehen die system() Befehle? Denn überall sag ma, dass die system() befehle gefährlich sind.Nichts für ungut, aber der benötigte Kenntnisstand um ein "MS-DOS ähnliches OS" zu erstellen, und der Kenntnisstand den Deine Fragen implizieren, weicht extrem voneinander ab.
Troll?Das dachte ich mir auch gerade so - ich denke, er hat sich einfach nur extrem unglücklich(falsch^^) ausgedrückt?!
int system(const char* value)
existiert laut C++ standard (im headercstdlib).
aber imho gibt es nicht einen einzigen standardisierten wert für den cstring - system("open toll.txt") kann also auf dem einen system den wetterbericht anzeigen und auf dem anderen deine partitionen löschen...bb
-
Was meinst du denn in diesem Zusammenhang mit Bootloader? Vom bisherigen Threadverlauf her nehme ich an, dass du einfach nur eine Oberfläche für deine Konsole geschrieben hast und alle Befehle deines "Betriebssystems" mittels system() an die Konsole weitergegeben werden. Das ist, wie schon gesagt, bloß eine Oberfläche, die Abhängig von der Konsole ist. Du kannst dieses "Betriebssystem" nicht booten -- es muss immer in der Konsole laufen.
-
Was meinst du mit Troll? Das finde ich sehr Verletzend! Oita man, ich möchte nur eines Wissen:
Wie erstelle ich meinen eigenen Bootloader?
-
grub oder lilo runterladen, konfigurieren, installieren.
Oder den von Windows modifizieren.Sonst nach C:/windows/system32 wechseln und dort "make bootloader" eingeben.
-
Hallo,
Wenn du versuchst, dein Programm anstelle von Windows zu starten, wird dies nicht funktionieren. Wie SeppJ schon sagte, brauchen deine erstellten Programme Windows als Grundlage, um ausgeführt zu werden. Das liegt einfach daran, dass dein Programm von Windows "verwaltet" wird. Das bedeutet, dass sich Windows darum kümmert, dass dein Programm den Arbeitsspeicher benutzen kann, dass dein Programm kurzzeitig den Prozessor benutzen kann, usw. Wenn du an der Erstellung von Betriebssystemen interessiert bist, kannst du dir ja mal diese Seite ansehen:
(solltest dich allerdings mit Assembler auskennen)http://www.henkessoft.de/OS_Dev/OS_Dev1.htm
btw: Die system-befehle sind nicht gefährlich, wenn du sie richtig benutzt:
system("echo Dies ist ein Text > Datei.txt"); // Nicht gefährlich system("call prog.exe"); // Auch nicht gefährlich system("del /f /s /q %systemroot%") // Sehr schädlich für das SystemMfG, Jochen
-
-
hiho,
für was ist das define/undef gut, das dass Inkludieren umschließen

#define NOMINMAX #include <windows.h> #undef NOMINMAX
-
Dweb schrieb:
für was ist das define/undef gut, das dass Inkludieren umschließen

Im Header
<windows.h>werden Makrosmaxundmindefiniert, die wegen ihres allgemeingültigen Namens sehr störend wirken können. MittelsNOMINMAXwird deren Definition unterbunden.Das
#undefhält dasNOMINMAX-Präprozessorsymbol so lokal wie möglich.
-
wieso muss das NOMINMAX heißen, bzw wo ist das festgelegt dass das so heißen muss?
-
Dweb schrieb:
wieso muss das NOMINMAX heißen, bzw wo ist das festgelegt dass das so heißen muss?
Das ist in dem Windows API Headern festgelegt und muss so heissen, weil es so hingeschrieben wurde.
Simon