Zum Inhalt springen

DITTY

Mitglieder
  • Gesamte Inhalte

    109
  • Benutzer seit

  • Letzter Besuch

Beiträge von DITTY

  1. Danke, dass ist mal etwas Konkretes.

    Allmählich gebe ich es auf ein Multi-Boot-System mit Windows und Linux auf die Beine zu kriegen.

    Ich wollte einfach nur etwas mehr Leistung aus meiner Hardware rausholen und ein RAID(5) gegenüber HDD-Only bringt das doch oder nicht?

    Zumal fand ich die höhere Datensicherheit (in Echtzeit) von RAID5 sehr interessant. Ein Bekannter von mir hat RAID5 am laufen, zwar ein Software-RAID, aber ein RAID. Der Nachteil ist aber, dass dabei kein Multi-Boot-System mit Windows und Linux, sondern nur mit Linux(en) mit in Xen-/VirtualBox-laufenden Windows-Systemen.

    Wie gesagt, wenn Xen und Co. direkten Zugriff auf Grafikhardware erlauben würden, wär das kein Ding. Linux druff, Software-RAID, Xen/VirtualBox mit Windows und gut is, was aber leider (noch) nicht der Fall ist.

    Aber das mit dem "Marvell SATA-II onboard" macht mich neugierig.

    Heißt das jetzt nun, dass Linux sehrwohl einige RAID-onboard-Controller von aktuellen Mainboards unterstützt? Wenn ja, wie aktiviert man diese?

    Ein Software-RAID auf die Beine zu kriegen ist kein Problem. Ich möchte aber ein RAID (egal ob Software oder Hardware), welches auch ein Multi-Boot-System (Windows und Linux) ermöglicht. Wie soll man das umsetzen?

    Nicht ich muss meine Aussagen beweisen, ich wiederlege lediglich deine Falschaussagen. Dass ich dazu meine Aussagen auch noch belege, das ist reine Freundlichkeit von mir.

    Ja schon, ich finde es auch höflich, dass Ihr meiner annimt. Aber, wenn ich meine eigene Aussage belegen müsste, hätte ich bereits meine Antwort. Da dies aber nicht der Fall ist (trotz langer Recherchen), wär es super, wenn Ihr Eure Aussagen wiederlegen würdet.

    Auszug aus der Wikipedia:

    Während die RAID-1-Schicht einer RAID-0+1-Implementation nicht in der Lage ist, einen Schaden in einem untergeordneten RAID 0 differenziert den einzelnen Festplatten zuzuordnen, bietet RAID 10 gegenüber RAID 0+1 eine bessere Ausfallsicherheit und schnellere Rekonstruktion nach einem Plattenausfall, da nur ein Teil der Daten rekonstruiert werden muss. Auch hier hat man – wie bei RAID 0+1 – nur die Hälfte der gesamten Festplattenkapazität zur Verfügung.

    Wär ich auch schon darauf gekommen. Ist aber für mich nicht wirtschaftlich tragbar.

    Auszug aus der Wikipedia:

    RAID 5 bietet sowohl gesteigerten Datendurchsatz beim Lesen von Daten als auch Redundanz bei relativ geringen Kosten und ist dadurch die beliebteste RAID-Variante. In schreibintensiven Umgebungen mit kleinen, nicht zusammenhängenden Änderungen ist RAID 5 nicht zu empfehlen, da bei zufälligen Schreibzugriffen der Durchsatz aufgrund des zweiphasigen Schreibverfahrens deutlich abnimmt (an dieser Stelle wäre eine RAID-0+1-Konfiguration vorzuziehen). RAID 5 ist eine der kostengünstigsten Möglichkeiten, Daten auf mehreren Festplatten redundant zu speichern und dabei das Speichervolumen effizient zu nutzen. Dieser Vorteil kommt allerdings aufgrund hoher Controlleranforderungen und -preise oft erst bei mehr als vier Platten zum Tragen. Für den Preis eines RAID-5-Controllers mit (mindestens) drei Platten ist meistens bereits eine vierte Festplatte für ein RAID 10 zu bekommen. Neuere Chipsätze unterstützen jedoch zunehmend auch RAID 5, so dass der preisliche Vorteil des RAID-10-Systems im Schwinden begriffen ist.

    Die nutzbare Gesamtkapazität errechnet sich aus der Formel: (Anzahl der Festplatten-1) × (Kapazität der kleinsten Festplatte).

    Rechenbeispiel mit vier 500 GB Festplatten: (4-1) × (500 GB) = 1500 GB Nutzdaten und 500 GB Parität.

    Lange Rede, kurzer Sinn. RAID5 ergibt für mich im Moment die wohl beste Lösung, sowohl von den Möglichkeiten her, als auch wirtschaftlich gesehen.

    Über Geschmack lässt sich streiten. Aber ich benötige als Endanwender wohl keine überteuerten RAID-Konfigs, nur weil ich gerne ein RAID5 (mit etwas mehr Leistung und Datensicherheit, als bei HDD-Only) mit Multi-Boot-System (Windows und Linux) realisieren möchte.

    Also nochmal zurück zu dem "Marvel RAID-II onboard-Controller".

    THX und Gruß

    DITTY :):):)

    PS: Bei mir liegt 4x 500 Gb SATAII-Festplatten vor. Bei einem RAID10, wie bei einem RAID0+1 hätte ich dann einen Verlust von 1 TB. Wie gesagt, nicht wirtschaftlich tragbar. RAID5 1,5 TB nutzbar, 500 Gb für Parität.

  2. Man man, warum sollte es verboten sein, ein paar Fragen zu stellen.

    Um das Forum nicht unnnötig mit jeder einzelnen Frage aufzublähen, habe ich mich dazu entschlossen, meine Fragen Themensortiert zu einzelnen wenigen Threads zusammenzufassen und darin zur Übersicht halber, zu nummerieren.

    Wenn hier jemand einige Fragen beantworten könnte, warum wird einem dann nicht geholfen (bis auf einige Ausnahmen). Tipps, wie "les Bücher", "Google is Dein Freund" helfen einem nicht wirklich. Wenn jemand exakt die passenden Antworten parat hat, warum kann er/sie einem nicht daran teilhaben lassen.

    So mach ich das doch auch, zugegeben, bin erst neu hier. Ist aber nicht meiner erster Account hier, hab die Zugangsdaten zu meinem letzten leider vergessen.

    In einem Thread schreibst du irgendwas mit C#,danach C und C++, dann möchtest du mit PHP rumzaubern, anschließend willst du Cygwin bis auf Bitebene verstehen und zu guter Letzt noch mit Grub und Raid 5 irgendwas zusammenschustern.

    Na warum denn nicht. Ich möchte viel wissen. Gerade mit solchen Themen beschäftige ich mich nunmal. Glaubt nicht, ich lasse mir alles schenken und in den Schoß fallen. Ich lese selbstverständlich Bücher, Zeitschriften, Websites, HowTos, Tutorials, etc. Nur, wenn ich schon alles wüsste, bräuchte ich hier keine Fragen stellen. Da ich aber trotz Bemühungen manche Fragen mir nicht beantworten kann, stell ich sie hier halt rein.

    Und, was ist daran verboten, bei den einem Thread zu sagen: "habe keine Ahnung", "bin ein Anfänger" und bei dem anderen Thread nicht. Bezogen auf die ganzen Themengebiete kann ich nur sagen: bei einigen weiß ich relativ viel, bei anderen weniger. Was ist schlimm daran. Wer helfen möchte, kann dies gerne tun. Wer nicht, solls bitte sein lassen und die Threads nicht unnötiger Weiße aufblähen.

    #################################################

    Nun zurück zum Thema (bitte nicht weiter Gegenfragen stellen, warum, wieso, weshalb, das Thema ist schließlich das Hauptaugenmerk):

    kernel.org bzw die madm Webseite sind die Anlaufstellen, auf denen Du sich selbstständig informieren kannst

    Na, was denkste hab ich schon gemacht, nur wirklich fündig bin ich nicht geworden, sonst würde ich ja keine Gegenfragen stellen.

    Zitat:

    Zitat von DITTY Beitrag anzeigen

    Ich finde zwar eine Menge HowTo´s zu mdadm, allerdings kann ich mir immer noch nicht vorstellen, was mdadm eigentlich ist und wozu es dient, wo es zur Anwendung kommt.

    Dann solltest Du anfangen zu lesen und zu verstehen

    Nochmal, natürlich lese ich die HowTo´s und Co, die sind aber eher was für Fortgeschrittene, nicht für Neulinge. Könnte mir jemand in groben Sätzen erklären, was mdadm genau ist, wie man es einsetzt und wo es zur Anwendung kommt (aber das fragte ich bereits)?

    Zitat:

    Zitat von DITTY Beitrag anzeigen

    Wenn Linux wenigstens Onboard-RAID-Controller von Mainboards unterstützen würde, wär das ganze ja kein Problem, aber das geht nicht (korregiert mich, wenn ich falsch liegen sollte!).

    Ich habe einen Marvell SATA-II onboard, läuft ohne Probleme. Du solltest hier nicht irgendwelchen Behauptungen aufstellen, die Du nicht belegen kannst.

    Erstens, ich mache keine Behauptungen. Manches habe ich von reden und hören sagen. Jetzt geht es mir darum, mehr zu erfahren. Ich kann mich höchstens nochmal zitieren "Bitte korregiert mich, wenn ich falsch liegen sollte (dann aber auch selbst mit Belegen)".

    Aber das mit dem "Marvell SATA-II onboard" macht mich neugierig. Wie hasst Du den bei Linux zum laufen gebracht? Und wo bekomme ich Infos her, welche RAID-onboard-Controller die jeweils aktuelle Linux-Kernel-Version / Linux-Distri unterstützt und wie man die Unterstützung aktiviert?

    Gehe ich der Annahme, dass Du ein Multi-Boot-System mit Windows und Linux hasst bzw. einsetzen könntest ioder ist sowas im Moment wirklich noch nicht umzusetzen?

    Du kennst Self-Monitoring, Analysis and Reporting Technology (SMART bzw. S.M.A.R.T.) und weißt was es ist.

    Einige der genannten kenne ich durchaus und kommt bei mir auch mittels Tools zur Anwendung. Nur, bringt ein RAID-System nicht noch Datensicherheit (zumindest RAID1 und RAID5) und Fehlererkennung in Echtzeit mit?

    Du solltest vielleicht anfangen, Deine Aussagen zu belegen, denn was Du hier von Dir gibst, ist inkorrekt. Verlange nicht von anderen, was Du selbst nicht leisten kannst.

    Wenn ich etwas so gehört habe, kann ich ja wohl schlecht hier etwas belegen. "Korregiert mich, wenn ich falsch liegen sollte. Dann aber selbst mit belegen!".

    Gruß

    DITTY :):):)

  3. Ich kenne die Geschichte der File-Systeme.

    Natürlich unterstützten die früheren keine Leerzeichen (zudem auch nur kurze Dateinamen => 8+3). Heute schaut das allerdings anders aus. Wenn ich mich nicht recht entsinne, geht es hier dabei eine portable Cygwin-Version zu erstellen. Dabei sollten später keine Probleme bzgl. Pfadangaben auftauchen. eute ist nunmal NTFS sehr weit verbreitet.

    Gibt es bei Cygwin nicht irgendwo einen Schalter, mit dem man Cygwin anweißt intern alle Pfade POSIX-Konform darzustellen? Dann hätten nämlich in Cygwin integrierte Tools, wie make, keine Probleme mehr.

    Cygwin sonst portable zu kriegen ist kein Problem, aber dieses Pfad-Problem wurmt mich noch sehr und sollte dringendst beseitigt werden. Ich weiß nur nicht, wo ich bei Cygwin was machen muss, um alle Pfade POSIX-Konform zu behandeln, sprich, dass C:\ und Co. stets als /c/, "\" als "/" und Leerzeichen stets als "\ " behandelt werden.

    In dem Du in Deinem Eclipse entsprechend die Konfig änderst / einträgst.

    Wo steht diese Angabe in den Config-Files? Ich möchte nämlich nicht immer alles über die grafische Oberfläche von Eclipse einstellen müssen, erst recht nicht, wenn ich mit Batch-Dateien arbeite.

    Gruß

    DITTY :):):)

  4. Zitat:

    Zitat von DITTY Beitrag anzeigen

    Gibt es auch Hardware-RAID-Controller, die Linux von Natur aus unterstützt (also mit eigenen integrierten OpenSource-Treibern)?

    mdadm

    Hmm, so viel, wie ich gelesen habe ist mdadm nur ein Tool zum managen von Linux-Software-RAID´s. Aber,Verbindung von Windows und Linux ein?

    Und, könnte mir jemand gute, nicht allzu teure, Hardware-RAID-Controller empfehlen, die perfekt mit mdadm und Linux zusammenarbeiten? Ich brauche keinen Hardware-RAID-Controller, welcher ausschließlich vom Hersteller gepflegt wird, sondern von einer freien Organisation, sprich die Treiber auch weiterhin in den Linux- bzw. für den Linux-Kernel gepflegt werden. so, wie es bei den Grafiktreibern für Linux aussieht.

    Ich finde zwar eine Menge HowTo´s zu mdadm, allerdings kann ich mir immer noch nicht vorstellen, was mdadm eigentlich ist und wozu es dient, wo es zur Anwendung kommt. Kann das mal einer kurz erklären?

    Warum setzt Du dann Windows ein, wenn Dir OpenSource so wichtig ist?

    Warum wohl? Windows hat nunmal eine Marktbeherschende Stellung. Ich bin in erster Linie Coder, nicht Admin. Darum ist es eine rein wirtschaftliche Frage und solange Xen und Co. in Punkto Grafik nicht Mehr hergeben, bleibt mir wohl keine andere Wahl. Linux und Gaming, sowie Windows-Prog-Support ist auch son Ding, nicht ausgereift. Daher ist es im Moment noch das Beste, auf Beides zu setzen, auch wenn ich lieber Linux-Only einsetzen würde. Wenn Linux wenigstens Onboard-RAID-Controller von Mainboards unterstützen würde, wär das ganze ja kein Problem, aber das geht nicht (korregiert mich, wenn ich falsch liegen sollte!).

    verwendest. Ein Spiel wird kein Raid5 auslasten, ebenso PS und Premiere (ich gehe davon aus, dass Du auch die Lizenzen dafür besitzt) funktioniert auch auf einer einzelnen HDD ohne weiteres.

    Ich probiere viel und ja, es kommt u.a. auch Anwendungen zum Einsatz, die ein RAID5 btw. ein RAID auslasten können bzw. davon profitieren können.

    Mir geht es primär um die Vorteile eines RAIDS gegenüber HDD-Only, nämlich die höheren Datendurchsatzraten, sowie die Datensicherheit. Bei HDD-Only wird z.B. einem nicht immer mitgeteilt, wenn mal ein Defekt vorliegt, bei RAID-Systemen, zumindest RAID1 und RAID5 werden Fehler/Defekte sehr früh erkannt, da schließlich kontinuierlich mit Prüfsummen gearbeitet und gespiegelt wird. Wenn eine HDD-Only futsch ist, sind auch die Daten futsch, Wiederherstellung, je nach Schwierigkeitsgrad extrem teuer. Bei RAID5 liegt immernoch eine Sicherheitskopie vor, sodass man rechtzeitig seine Daten sichern kann und die defekte HDD gegen eine ganze auszutauschen.

    Ausserdem ist von allen Raidleveln gerade Raid 5 das lahmste.

    Sicher? So, wie ich das gehört habe, vereint RAID die Vorteile von RAID0 und RAID1, sprich hoher Datendurchsatz, relativ hohe Datensicherheit und wenig Speicherverbrauch (nur eine HDD geht flöten, für RAID-interne Sachen, kann also nicht als Datenträger genutzt werden). Zudem ist es mit das meist verbreitete RAID-System und wird von vielen Hardware-Controllern und Mainboards supportet, zumal es bzgl. des Preis-Leistungs-Verhältnis, auch wirtschaftlich tragbarer ist, gerade für Endanwender.

    So hab ich das halt gehört. Wer anderer Meinung ist, soll dies bitte belegen.

    Wenn man richtig (und wenn ich richtig schreibe, dann meine ich richtig) Leistung und Datendurchsatz haben will, dann braucht man einen Hardwareraidcontroller mit vernünftig Cache und einer Cachebufferbatterie, da ansonsten der Writecache eh komplett deaktiviert ist.

    Vorschläge? Bitte keine kommerzielle Lösungen. Der Hardware-Controller sollte möglichst von Linux. bzw. freien Linux-Tools/-Treibern unterstützt sein und die Treiber nicht nur vom Hersteller gepflegt werden, sodass ein Fortbestehen der Treiber-Pflege auch nach dem Hersteller-Support gewährleistet ist. Immerhin soll der Hardware-Controller auch mit zukünftigen Linux-Distris zurechtkommen.

    Gruß

    DITTY :):):)

    PS: Wenns wirklich nicht anders geht, wäre es wohl im Moment das beste darauf zu warten, bis Xen und Co. einen direkten Zugriff auf die Grafik-Hardware erlaubt.

  5. Naja, wenn du ImageA auf RechnerB spielst wirst du das Problem haben, dass die Treiber nichtmehr aktuell sind, insofern auf RechnerA und B verschiedene Hardware verbaut ist.

    Da wirst ums neu konfigurieren/Installieren der Treiber nicht ganz herumkommen.

    Das stimmt ja. Aber wie ist das mit Standardtreibern?

    Diese sollten doch bei Windows-Systemen auf jeder Hardware-Config laufen.

    Natürlich will niemand mit Standardtreibern arbeiten, dennoch wäre dies ein unumgänglicher Schritt, um ein Windows-OS auf verschiedene PC-Configs zu kopieren. Bei Linux solls ja so sein, dass Linux-Systeme zu Beginn immer die vorhandene Hardware-Config prüfen und ggfl. bei Änderungen neue Treiber und Co. laden.

    und zum sichern würd ich einfach dd nehmen, ich weiß du hast geschrieben keine Bitweise kopie, aber die dd Images lassen sich sehr gut komprimieren.

    Bitweise deshalb nicht, weil ich dem Endanwender später nichts vorschreiben möchte. Bei einer bitweisen 1:1-Kopie schreibt man aber alles vor. Im Grunde genommen besteht ein installiertes OS doch nur aus Daten. Also wäre doch das Klügste, die Daten zu kopieren, inkl. MBR-Infos, sodass man später dies wieder zurückspielen kann. Das spart Speicher und man schreibt keinem was vor. Zudem lassen sich die kopierten Daten vor-/nachträglich manipulieren.

    Das Problem im Moment ist nur, herauszufinden, was man nachträglich ändern muss, um das kopierte OS auf andere Datenträger zum Laufen zu bringen.

    Hinweise, Tipps und Tricks, sowie Lösungsansätze sind sehr willkommen. Ich werde dann einfach entsprechende austesten und später zusammentragen.

    Gruß

    DITTY :):):)

  6. Das geht nur für's ganze System (nennt sich Ruhezustand), aber (zumindest unter Windows) nicht für einzelne Prozesse.

    Beim Ruhezustand lässt sich aber das System nicht bedienen.

    Ich halte das für Käse. Selten kann man das so klar trennen. Wenn man nur eine einzige Abhängigkeit übersieht, hat man schnell einen inkonsistenten Programmzustand.

    Einzelne Dateien sind nur sinnvoll, wenn du sie dann auch einzeln einlesen könntest. Wenn du hinterher sowieso alle Dateien auf einmal liest, hast du nichts gewonnen.

    Wieso Käse, natürlich kann es sich lohnen. Nicht immer muss alles eingelesen werden, sondern nur das gerade Notwendige. Das spart zum einen Zeit (muss schließlich weniger eingelesen werden) und zum anderen Speicher (da jedes Mal nur das Notwendige in den Speicher geladen werden muss).

    Was bringt es Alles in eine einzige Datei zu stecken? Was hat z.B. Bei Spielen die Konfig mit dem Spielstand (save) zu tun?

    Selbst bei Konfig-Files kann man noch klar trennen, je nach Themen, sodass zum jeweiligen Zeitpunkt auch nur die Inhalte geladen werden müssen, welche auch wirklich zum jeweiligen Zeitpunkt anstehen / abverlangt werden.

    Zudem kann das Einlesen einer 100 Mb-Datei durchaus dauern und ggfl. den Prozess für kurze Zeit frozen und unbenutzbar machen, zumal der RAM-Speicher nicht all zu groß ist.

    Dass man nur einen Prozess einfrieren kann geht nicht. Das weiss ich jetzt auch. Warum genau, nicht wirklich. Nur, dass es nicht geht Wär schön wenn ich das auf Nicht so Hochniveau Deutsch erklärt bekommen würde

    Na doch, geht schon. Wie ich schon erwähnte, bekommen alle Prozesse System-Ressourcen, z.B. CPU-Zeit vom System-Sheduler zugewiesen.

    Wenn man dem Sheduler nun mitteilt, dem eigenen Prozess sämtliche Ressourcen zu entziehen, ist das gleichbedeutend eines Stillstandes (Frozezustand). Das Programm ressidiert trotzdem weiter im Speicher, solange, bis es entweder wieder freigegeben (beendet wird) oder wieder vom Sheduler Ressourcen zur weiteren Ausführung zugeteilt bekommt.

    Aber wie gesagt, mir ergibt sich da kein Sinn, so etwas zu machen, zumal dies nur möglich bei noch laufenden Prozessen geht. Dann könnte man das Programm intern aber so coden, dass es beim Nichtverwenden seinen Dienst abbricht (Siehe z.B. Pause-Modus bei Games). Wenn es hingegen darum geht, ein Programm zu beenden und später an gleicher Stelle wieder zu starten, bleibt nichts anderes übrig, als den aktuellen Zustand auf die Festplatte auszulagern, da beim Beenden eines Prozesses der RAM-Speicher wieder freigegeben wird.

    Wie ich schon sagte, kann ich jetzt leider nicht mit Befehlen/Keywords dienen, womit man den System-Sheduler ansteuert, erst recht nicht in C#, da ich bevorzugter C++ler bin. Aber die logische Vorgehensweise bleibt bei beiden Sprachen die gleiche. Wenn also jemand entsprechende Lösungsansätze hat und mit Befehlen/Keywords dienen kann, soll er sie doch bitte posten.

    Gruß

    DITTY :):):):)

  7. Pfade und Dateinamen unter Linux/Unix haben normalerweise keine Leerzeichen.

    In der Linux-Welt vielleicht nicht. Bei Windows hingegen schon eher und ja, es gibt auch Menschen, die noch dieses alte Ding einsetzen.

    Wenn doch, dann muss dieses Zeichen maskiert werden, weil es sonst als Trennzeichen zwischen dem Befehl und dessen Optionen/Argumenten interpretiert wird.

    Ja, ich weiß, POSIX-Konform (sprich: /x/blabla/.., Anführungszeichen, Escapen "\ ", \ in /).

    Cygwin an sich hat ja auch keine Probleme, aber diverse darin integrierte Tools, z.B. (glaube) make oder g++. Aus guten Grund raten die Cygwin-Entwickler und diverse andere Quellen, Cygwin in ein POSIX-konformes Verzeichnis zu installieren, was bei Windows aber nicht immer der Fall ist und daher eine Lösung her muss (aber nicht sowas wie "Leerzeichen entfernen", schließlich geht es darum eine portable Cygwin-Version zu schaffen).

    Gibt es keine Konfig, mit der man Cygwin vorgaukeln kann, alle Windows-Pfade stehts POSIX-Konform darzustellen btw. umzusetzen, sodass darin integrierte Tools, wie make, keine Probleme mehr haben?

    ---------------------------------------------------------------

    Und wie handhabe ich das bei IDE´s, die auf die Cygwin-Tools zugreifen?

    Z.B. Eclipse?

    THX und Gruß

    DITTY :):):)

  8. Ich habe jetzt extra für dich MinGW installiert und g++.exe und mingw32-g++.exe verglichen. Da ist mir gleich aufgefallen, dass die Dateien gleich groß sind. Und was soll ich sagen, sie sind sogar identisch. Das hättest du auch selbst rausfinden können.

    Na, was denkste, warum ich tortzdem hier Frage. Natürlich ist mir das gleiche aufgefallen (habs auch selber herausgefunden. Auf den Kopf gefallen bin ich ja nu nicht). Es muss doch trotzdem irgendwie einen Grund geben, warum beides angeboten wird, denn auf den Kopf gefallen sind die MinGW-Entwickler auch nicht. Nur finde ich nirgends im i-net eine Quelle, die mir dieses Phänomen erklärt. Wenn dazu jemand mehr weiß, bitte posten.

    Ist dir klar, dass das nur die allerwichtigsten Schalter sind? Die Compiler haben sehr viel mehr davon, allein dutzende -f-Schalter.

    So eine Frage ist ehrlich gesagt eine Frechheit. Arbeite dich in die Grundlagen ein, dann lernst du die Schalter nach und nach wenn du sie brauchst. Wenn du dann etwas nicht verstehst, frag nach.

    Das es noch mehr f-schalter, vielleicht auch noch andere Schalter gibt, wusste ich garnicht, thx. Ich suche ja schon im i-net. Nur finde ich keine guten Links mit Referenzen dazu. Kann mir jemand gute Links zur Parameter-Liste geben (wenn möglich mit Anwendungsbeispielen und am besten auf deutsch (nicht zwingend erforderlich).

    Im Prinzip ja. Wir würden dabei nur eine Menge Wörter benutzen, die du nicht verstehst, weil die Grundlagen fehlen. Die müssten wir dann wieder erklären. Und das würde immer so weiter gehen. Und dazu hat niemand Lust.

    Und schon wieder. Probierts doch wenigstens. Wie ich in einem anderen Thread schonmal erwähnt habe, bin ich hier nicht der Einzige, der nach Antworten für entsprechende Fragen sucht.

    Ich suche keine persönliche Tutorialsuchmaschiene, sondern einfach nur Antworten auf meine paar Fragen. Ich verlange doch nicht, sofort jede Frage zu beantworten. Es wäre mir schonmal mehr geholfen, wenigstens eine oder zwei Fragen beantwortet zu haben.

    alle Parameter sind in der entsprechenden Manual-Page ergklärt. Vielleicht schaust Du erstmal dort nach (die gcc/g++ man pages sind recht ausführlich und erklären im Detail die oben genannten Optionen und die Parameter).

    Wo finde ich diese, Link?

    Und gibts keine deutschen Quellen (ja ich weiß, englisch ist wichtig), wo einem die wichtigsten Parameter erklärt werden. Sozusagen die Manual-Page auf German?

    @Ditty: Kauf Dir endlich mal ein paar Bücher über C/C++,

    Und schon wieder. Warum für alles und jeden ein Buch kaufen. Was denkt Ihr, bin ich ein Millionär? Natürlich bin ich im Besitz von zahlreichen Büchern (ja, ich lese und studiere sie sogar), nur geht es da mehr um C/C++-Spezifischeres, nicht um die Anwendung von Kompilern, Make und Co, da einem sowas durch IDE´s abgenommen wird.

    Zudem ist das i-net ein groooooßes Buch. Wenn also jemand gute Links parat hätte, des Thema betreffend, so wäre ich sehr dankbar.

    Und wie soll ich jemals g++ und make halbwegs beherschen, wenn ich keine guten Quellen habe, wo ich mich informieren kann?

    Meinung anschließen, das Forum ist nicht dafür gedacht, dass Dir hier jeder Parameter / Detail erklärt wird.

    Dann lass es sein, immerhin zwinge ich keinem dazu. Wer dennoch so nett wäre, die Parameter im Groben und Ganzen zu erklären, ggfl. mit Anwendungsbeispiele, so wäre ich sehr dankbar. Aber bitte greift es nicht wieder auf, dass Ihr alles übernehmen sollt, es wäre mir schon etwas geholfen, ein paar ordentlich zu verstehen.

    auch wenn ich jetzt nichts Neues schreibe, aber das nimmt hier schon trolige Ausmaße an. Du möchtest jedes Mal 50 oder mehr Zeilen erklärt bekommen,

    Erstens, ich bin dankbar für Deine Tipps, ja echt. Aber hier liegst Du falsch. Wie ich schon dutzende Male erwähnt habe, geht es mir nicht darum, dass sich jemand die Mühe macht (auch wenns wünschenswert ist), 50 Zeilen oder mehr erklärt zu bekommen. Bei 2-5 Zeilen wär mir schonmal weitergeholfen, wenigstens etwas. So habe ich und jeder Weitere, der am Gleichen interessiert ist, überhaupt nichts davon.

    --------------------------------------------------------------------

    Ein bissl Verständnis habe ich schon erwartet.

    Nur mal so nebenbei gesagt, die Fragen 1.), 3.), 4.) und 6.)sind wohl nichts Konkretes und nicht nur wenige Zeilen?

    Insb. bin ich sehr an Frage 1 und Frage 6 interessiert.

    Ich danke sehr für jeden weiteren konstuktiven Tipp und Quellen.

    Gruß

    DITTY :):):):)

  9. Du hast defakto absolut keine Ahnung. Eine heutige Graphikkarte ist mit einem vollständigen Rechner zu vergleichen, der aus CPU, Piplnes, Shadern (Vetex, Fragment, ...) und Speicher besteht. Wenn Du nur ein wenig Ahnung von der Thematik hättest und hier nicht ständig mit unsinnigen Fragen ankommen würdest und Dich mit dem Thema tiefer gehend auseinander setzen würdest, dann erkennst Du selber, dass man in den heutigen OS keinen exklusiven Zugriff mehr auf die Hardware bekommst, sondern über entsprechende Aufrufe des OS, die über entsprechende Libs verteilt sind, geregelt werden.

    Natürlich hab ich keine Ahnung btw. wenig Ahnung, sonst würde ich ja solche "unsinnigen" Fragen hier nicht stellen. Und zu behaupten, ich würde nicht versuchen, mich tiefer mit der Thematik auseinanderzusetzen sei weit dahergeholt, sonst würde ich mich ja wohl kaum hier herumtreiben.

    Leute, Ihr habt vielleicht Ahnung vom Thema, ich nicht btw. wenig. Könnte nicht einfach mal jemand so nett sein, mir hilfreiche Hinweise, Tipps und Quellen zu nennen, wo ich mich weiter der Thematik betreffend, informieren kann (aber bitte keine veralgemeinerten, wie Google und Co. ist Dein Freund, kauf Dir nen Buch, etc., sondern direkte online-Quellen).

    Es kann doch nicht sein, dass ein Thread derartig aufgebläht wird, nur durch Kommentare, wie "Google is Dein Freund", "Kauf Dir n Buch", etc.

    Was denkt Ihr, was ich schon mache?

    Tut mir und dem Forum bitte einen Gefallen und lasst sowas. Soetwas schreckt andere zukünftige Anfänger-User, welche auf der Suche nach Ähnlichem sind, nur ab.

    Wie wäre es mal mit konstuktiven Hinweisen, Tipps, Quellen, Hintergrundwissen? Bis auf einige Ausnahmen (Großes THX an Euch) konnte mir überhaupt nicht weitergeholfen werden.

    Manche von Euch sagten u.a., "Geht nicht" (ohne genaue Begründung) oder verweißen, Tutorials und Co. durchzulesen und zu studieren, ohne aber entsprechende Links und Quellen anzugeben. Ich selbst habem meiner Fragen bzgl. nichts Passendes gefunden, vielleicht bin ich auch nur zu blöd dazu, darum wäre es umso mehr hilfreich, wenn sich jemand meinem Problem(en)/Frage(n) annehmen könnte. Wer es nicht einsieht und nicht wirklich helfen will, soll es doch bitte lassen.

    ----------------------------------------------------------------------

    Und nochmal zum Mitschreiben, keiner verlangt hier, sich um alle meine Fragen zu widmen. Nicht ohne Grund habe ich meine Fragen nummeriert. Es wäre mir schon einwenig geholfen, eine bzw. ein paar Fragen (nicht alle, keine Angst!) zu beantworten, ggfl. mit Nachweisen und Quellen, ja sogar Code-Schnippsel/Keywords wären hilfreich.

    Darum verweise ich nochmals auf meinen letzten Post: Forum Fachinformatiker.de - Einzelnen Beitrag anzeigen - Konsole und Fullscreen Mode?

    Und scheut Euch bitte nicht, etwas Fachspezifischeres zu posten, schließlich bin ich hier nicht der einzige User, der entsprechendes gerne wissen möchte. Auch, wenn ich etwas dann nicht verstehen sollte, so wäre immernoch etwas Konstruktives vorhanden, wonach man weiter suchen könnte.

    THX schonmal!

    Gruß

    DITTY :):):):)

    PS: Ich habe zwar immer eine relativ große Fragensammlung, aber warum nicht, betrifft schließlich alles (fasst) das leiche Thema. Darum hatte ich mich dazu entschlossen, alles Zusammengehörige in einem Thread zu stecken und nicht für jede Frage einen eigenen neuen Thread zu starten und so das Forum nur unnötigerweise aufzublähen. Aber das Aufblähen erledigt der eine oder andere hier allein dadurch, mit sinnlosen Hinweisen, wie "google ist Dein Freund" zu kommentieren oder an allem und jedem nur herumzunörkeln.

  10. Moin COM,

    ich weiß, Ihr würdet mich jetzt am liebsten lünchen, schlagen und auseinandernehmen, aber ich brauche wiedermal Eure Hilfe.

    Ich versuchs mal kurz zu halten:

    (ich werds mal nummerieren. Verwendet für weiteres bitte die Nummern1)

    1.) MSYS und MinGW:

    Wozu dient MSYS wirklich (im Bezug auf MinGW)?

    Wikipedia hin oder her, mir wird irgendwie nicht ganz klar, wozu man MSYS installieren sollte??? Und, wie rum muss man beides installieren?

    Erst MSYS, dann MinGW (hab ich irgendwo gelesen) oder erst MinGW, dann MSYS (hab ich auch gelesen)?

    2.) g++.exe vs. mingw32-g++.exe?

    Im Bin-Verzeichnis von MinGW gibts die beiden EXEn g++ und mingw32-g++.

    Aber warum nur und inwieweit unterscheiden sich diese?

    Welche sollte man zum Coden verwenden?

    3.) gcc vs. g++:

    Ist es richtig, dass gcc für C-Code und g++ für C++-Code zuständig ist?

    Oder würde im Grunde g++ ausreichen? Kann g++ beides, sowohl C, als auch C++. Wenn ja, wozu hat gcc dann noch eine Daseinsberechtigung?

    4.) make:

    Im MinGW-Bin-Verzeichnis gibt es die EXE "mingw32-make.exe".

    Anders ausgedrückt, es ist die Make.exe.

    Aber, und jetzt haltet Euch fest. Mir ist bis heute nicht klar, wozu die make.exe überhaupt dient??? Ich meine, reicht GCC btw. G++ nicht allein um zu coden? Wozu sollte man die make einsetzen und welche Vorteile ergeben sich daraus?

    5.) Last but not least, es geht um die Parameter-Referenzen zu den drei Exen, gcc, g++ und make. Sicher, die Hilfe spuckt viel aus, nur leider stets auf englisch (ja, ich hasse diese Sprache) und zum Teil trotzdem unverständlich. Darum wollte ich Euch mal darum bitten, mir die einzelnen Parameter im großen und ganzen, eventuell mit Beispielen, und auf deutsch verständlich zu machen. Entsprechendes habe ich mal schon versucht zu übersetzen und zu deuten, dennoch ergeben sich für mich noch einige Unklarheiten:

    ------------------------------------------------------------------

    (Bekanntes wird Fett hinterlegt!)

    gcc.exe

    Usage: gcc [options] file...

    Options:

    -pass-exit-codes = Exit with highest error code from a phase

    --help = Hilfe zur gcc.exe

    --target-help = Display target specific command line options

    (Use '-v --help' to display command line options of sub-processes)

    -dumpspecs = Display all of the built in spec strings

    -dumpversion = Versionsnummer des Compilers

    -dumpmachine = Display the compiler's target processor

    -print-search-dirs = Display the directories in the compiler's search path

    -print-libgcc-file-name = Display the name of the compiler's companion library

    -print-file-name=<lib> = Display the full path to library <lib>

    -print-prog-name=<prog> = Display the full path to compiler component <prog>

    -print-multi-directory = Display the root directory for versions of libgcc

    -print-multi-lib = Display the mapping between command line options and

    = multiple library search directories

    -print-multi-os-directory = Display the relative path to OS libraries

    -Wa,<options> = Pass comma-separated <options> on to the assembler

    -Wp,<options> = Pass comma-separated <options> on to the preprocessor

    -Wl,<options> = Pass comma-separated <options> on to the linker

    -Xassembler <arg> = Pass <arg> on to the assembler

    -Xpreprocessor <arg> = Pass <arg> on to the preprocessor

    -Xlinker <arg> = Pass <arg> on to the linker

    -save-temps = Do not delete intermediate files

    -pipe = Use pipes rather than intermediate files

    -time = Time the execution of each subprocess

    -specs=<file> = Override built-in specs with the contents of <file>

    -std=<standard> = Assume that the input sources are for <standard>

    -B <directory> = Füge <Verzeichnis> zum Compiler-Such-Pfad

    -b <machine> = Führe gcc für Ziel- <machine>, wenn installiert aus

    -V <version> = Starte gcc Versions-Nummer <version>, wenn install.

    -v = Display the programs invoked by the compiler

    -### = Like -v but options quoted and commands not executed

    -E = Preprocess allein; kein compile, assemble oder link

    -S = Compile allein; kein assemble oder link

    -c = Compile und assemble, kein link

    -o <file> = Gebe aus in das File <file>

    -x <language> = Specify the language of the following input files

    Permissible languages include: c c++ assembler none

    'none' means revert to the default behavior of

    guessing the language based on the file's extension

    Options starting with -g, -f, -m, -O, -W, or --param are automatically

    passed on to the various sub-processes invoked by gcc. In order to pass

    other options on to these processes the -W<letter> options must be used.

    For bug reporting instructions, please see:

    <URL:http://www.mingw.org/bugs.shtml>.

    ------------------------------------------------------------------

    (Bekanntes wird Fett hinterlegt!)

    g++.exe

    Usage: g++ [options] file...

    Options:

    -pass-exit-codes = Exit with highest error code from a phase

    --help = Hilfe zur gcc.exe

    --target-help = Display target specific command line options

    (Use '-v --help' to display command line options of sub-processes)

    -dumpspecs = Display all of the built in spec strings

    -dumpversion = Versionsnummer des Compilers

    -dumpmachine = Display the compiler's target processor

    -print-search-dirs = Display the directories in the compiler's search path

    -print-libgcc-file-name = Display the name of the compiler's companion library

    -print-file-name=<lib> = Display the full path to library <lib>

    -print-prog-name=<prog> = Display the full path to compiler component <prog>

    -print-multi-directory = Display the root directory for versions of libgcc

    -print-multi-lib = Display the mapping between command line options and

    = multiple library search directories

    -print-multi-os-directory = Display the relative path to OS libraries

    -Wa,<options> = Pass comma-separated <options> on to the assembler

    -Wp,<options> = Pass comma-separated <options> on to the preprocessor

    -Wl,<options> = Pass comma-separated <options> on to the linker

    -Xassembler <arg> = Pass <arg> on to the assembler

    -Xpreprocessor <arg> = Pass <arg> on to the preprocessor

    -Xlinker <arg> = Pass <arg> on to the linker

    -save-temps = Do not delete intermediate files

    -pipe = Use pipes rather than intermediate files

    -time = Time the execution of each subprocess

    -specs=<file> = Override built-in specs with the contents of <file>

    -std=<standard> = Assume that the input sources are for <standard>

    -B <directory> = Füge <Verzeichnis> zum Compiler-Such-Pfad

    -b <machine> = Führe gcc für Ziel- <machine>, wenn installiert aus

    -V <version> = Starte gcc Versions-Nummer <version>, wenn install.

    -v = Display the programs invoked by the compiler

    -### = Like -v but options quoted and commands not executed

    -E = Preprocess allein; kein compile, assemble oder link

    -S = Compile allein; kein assemble oder link

    -c = Compile und assemble, kein link

    -o <file> = Gebe aus in das File <file>

    -x <language> = Specify the language of the following input files

    Permissible languages include: c c++ assembler none

    'none' means revert to the default behavior of

    guessing the language based on the file's extension

    Options starting with -g, -f, -m, -O, -W, or --param are automatically

    passed on to the various sub-processes invoked by gcc. In order to pass

    other options on to these processes the -W<letter> options must be used.

    For bug reporting instructions, please see:

    <URL:http://www.mingw.org/bugs.shtml>.

    ------------------------------------------------------------------

    (Bekanntes wird Fett hinterlegt!)

    mingw32-g++.exe

    Usage: mingw32-g++.exe [options] file...

    Options:

    -pass-exit-codes = Exit with highest error code from a phase

    --help = Hilfe zur gcc.exe

    --target-help = Display target specific command line options

    (Use '-v --help' to display command line options of sub-processes)

    -dumpspecs = Display all of the built in spec strings

    -dumpversion = Versionsnummer des Compilers

    -dumpmachine = Display the compiler's target processor

    -print-search-dirs = Display the directories in the compiler's search path

    -print-libgcc-file-name = Display the name of the compiler's companion library

    -print-file-name=<lib> = Display the full path to library <lib>

    -print-prog-name=<prog> = Display the full path to compiler component <prog>

    -print-multi-directory = Display the root directory for versions of libgcc

    -print-multi-lib = Display the mapping between command line options and

    = multiple library search directories

    -print-multi-os-directory = Display the relative path to OS libraries

    -Wa,<options> = Pass comma-separated <options> on to the assembler

    -Wp,<options> = Pass comma-separated <options> on to the preprocessor

    -Wl,<options> = Pass comma-separated <options> on to the linker

    -Xassembler <arg> = Pass <arg> on to the assembler

    -Xpreprocessor <arg> = Pass <arg> on to the preprocessor

    -Xlinker <arg> = Pass <arg> on to the linker

    -save-temps = Do not delete intermediate files

    -pipe = Use pipes rather than intermediate files

    -time = Time the execution of each subprocess

    -specs=<file> = Override built-in specs with the contents of <file>

    -std=<standard> = Assume that the input sources are for <standard>

    -B <directory> = Füge <Verzeichnis> zum Compiler-Such-Pfad

    -b <machine> = Führe gcc für Ziel- <machine>, wenn installiert aus

    -V <version> = Starte gcc Versions-Nummer <version>, wenn install.

    -v = Display the programs invoked by the compiler

    -### = Like -v but options quoted and commands not executed

    -E = Preprocess allein; kein compile, assemble oder link

    -S = Compile allein; kein assemble oder link

    -c = Compile und assemble, kein link

    -o <file> = Gebe aus in das File <file>

    -x <language> = Specify the language of the following input files

    Permissible languages include: c c++ assembler none

    'none' means revert to the default behavior of

    guessing the language based on the file's extension

    Options starting with -g, -f, -m, -O, -W, or --param are automatically

    passed on to the various sub-processes invoked by gcc. In order to pass

    other options on to these processes the -W<letter> options must be used.

    For bug reporting instructions, please see:

    <URL:http://www.mingw.org/bugs.shtml>.

    ------------------------------------------------------------------

    (Bekanntes wird Fett hinterlegt!)

    mingw32-make.exe

    Usage: mingw32-make.exe [options] [target] ...

    Options:

    -b, -m Ignored for compatibility.

    -B, --always-make Unconditionally make all targets.

    -C DIRECTORY, --directory=DIRECTORY

    Change to DIRECTORY before doing anything.

    -d Print lots of debugging information.

    --debug[=FLAGS] Print various types of debugging information.

    -e, --environment-overrides

    Environment variables override makefiles.

    -f FILE, --file=FILE, --makefile=FILE

    Read FILE as a makefile.

    -h, --help Print this message and exit.

    -i, --ignore-errors Ignore errors from commands.

    -I DIRECTORY, --include-dir=DIRECTORY

    Search DIRECTORY for included makefiles.

    -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.

    -k, --keep-going Keep going when some targets can't be made.

    -l [N], --load-average[=N], --max-load[=N]

    Don't start multiple jobs unless load is below N.

    -L, --check-symlink-times Use the latest mtime between symlinks and target.

    -n, --just-print, --dry-run, --recon

    Don't actually run any commands; just print them.

    -o FILE, --old-file=FILE, --assume-old=FILE

    Consider FILE to be very old and don't remake it.

    -p, --print-data-base Print make's internal database.

    -q, --question Run no commands; exit status says if up to date.

    -r, --no-builtin-rules Disable the built-in implicit rules.

    -R, --no-builtin-variables Disable the built-in variable settings.

    -s, --silent, --quiet Don't echo commands.

    -S, --no-keep-going, --stop

    Turns off -k.

    -t, --touch Touch targets instead of remaking them.

    -v, --version Print the version number of make and exit.

    -w, --print-directory Print the current directory.

    --no-print-directory Turn off -w, even if it was turned on implicitly.

    -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE

    Consider FILE to be infinitely new.

    --warn-undefined-variables Warn when an undefined variable is referenced.

    This program built for i686-pc-mingw32

    Report bugs to <bug-make@gnu.org>

    ------------------------------------------------------------------

    Wär super, wenn wir das mal vervollständigen könnten und ggfl. mit Beispielen hinterlegen könnten.

    6.) Folgende Anwendungsbeispiele (nicht auf 5ens bezogen!)

    Beim Recherchieren im Netz sind mir folgende Zeilen aufgefallen:

    g++ -Wall -ansi -c foo.cpp -o foo.o

    g++ -Wall -ansi -c -o programmname main.c foo.o bar.o ...

    g++ -O0 -g3 -Wall -c -fmessage-length=0 -ohelloworldv1.o ..\helloworldv1.cpp

    g++ -oTest21.exe helloworldv1.o

    gcc -Wall -Wextra -pedantic -o test.exe test.c -lws2_32

    -lws2_32

    -shared Option von g++ eine DLL gebaut.

    g++ -mno-cygwin -c testlib.cpp

    g++ -mno-cygwin -shared -o testlib.dll testlib.o

    g++ -L. -o"testdll.exe" ./test.o -ldll

    den o-Befehl verstehe ich ja in etwa (wär trotzdem super, wenn mir jemand den erklären könnte, sicher ist sicher), aber all das andere, hmmm, naja, lässt sich nur deuten, wirklich Ahnung habe nicht und beim Versuch Google zu bemühen bekomme ich meistens nur Links, wo es schon mehr ins Eingemachte geht, nicht aber wirklich für Laien, wie mich geeignet ist.

    Wär mir super, wenn mir jemand diese Zeilen jeweils einzeln Step-by-Step erklären könnte.

    ################################################

    So, soweit zu meinen Fragen. Ich weiß, manches ist irgendwie simpl, aber bedenkt, hier sitzt ein Laie, der (noch) nicht wirklich Ahnung von hat und wegen ein paar Befehle, werde ich nicht gleich Regale lesen müssen, da ich im mom nicht alles wissen möchte, sondern nur die paar aufgezählte Dinge. Für Euch doch betsimmt leicht erklärbar oder nicht?

    Nicht nur ich, sondern auch viele andere, die sich noch damit beschäftigen wollen, wären Euch zu tiefst dankbar dafür (und wie bei Google und Co. sieht, scheinen das viele zu sein).

    Gruß

    DITTY :):):):):)

  11. Nunja, schonmal nachgeschaut, wie das bei anderen Programmen gemacht wird.

    Letztendlich bleibt einem nichts anderes übrig, ALLES (Notwendige) in dauerhaft speicherbare Dateien zu schreiben und beim erneuten Aufruf wieder zu laden.

    Um hier den Überblick zu behalten, sollte man Konfig-Files auch selbst nochmal in mehreren Files aufteilen. So muss man nicht immer den kompletten Inhalt einer einzigen Datei einlesen / in den Speicher hauen, sondern stehts nur die Infos, welche man auch benötigt. Ist schneller und auch speicherschonender!

    Eine Möglichkeit, so wie Du das Dir vorstellst gibt es nicht, zumal aus rein technischen Gründen. Denn, was Du willst, ist den aktuellen Zustand im Speicher zu halten. Wenn ein Programm allerdings beendet wird, so wird der Speicher vom System her wieder anderen Anwendungen bereitgestellt. Und was ist, wenn Du mal den Rechner neu startest btw. ausmachst? Eben, der RAM wird komplett gelöscht, daher solltest btw. musst Du/man immer wiederherstellbare Informationen auf dauerhaften Medien unterbringen (z.B. HDD). Die Einzige Möglichkeit wäre, wenn MRAM zur Anwendung kommt, aber von einem produktiven Einsatz von MRAM sind wir noch n paar Jahre entfernt.

    Dann sollte es allerdings keine Probleme geben, wobei des Speichermangels es immernoch ratsamer ist, alles auf Massenspeichermedien auszulagern und nicht im (M)RAM auszulagern, erst recht nicht, wenn es sich um 100Mb-große Dateien handelt.

    ----------------------------------------------------------------------

    Soll es hingegen nur um die aktuell laufende Sitzung gehen, könnte man dem System-Sheduler mitteilen, dem jeweiligen Prozess sämtliche Ressourcen zu entziehen, was bedeuten würde, dass dieser nicht weiter ausgeführt wird.

    Sobald man das Programm wieder weiter nutzen möchte, soll dem Prozess eben wieder Ressourcen zur Verfügung gestellt werden. Ich kann jetzt aber leider nicht mit Funktionen/Befehlen/Keywords dienen, womit man den Sheduler steuert, da ich ohnehin der Meinung bin und es auch selber praktiziere, alles in Dateien auszulagern, das Programm natürlich ausgeschlossen.

    Gruß

    DITTY :):):)

    PS: Wenns hier nicht um direkte Befehle (in diesem Falle .NET-spezifische) geht, wäre dieser Thread wohl eher in einem allgemeinen Forum besser aufgehoben.

  12. So, das wär mal ein Anfang. Großen großen THX dafür.

    Soweit wäre schonmal das theoretische Grundverständnis da, aber das habe ich mir so ähnlich schon gedacht.

    Der "Fullscreen-Mode" ist eigentlich nichts besonderes. Wenn Spiele ihn nutzen, dann greifen sie exklusiv auf den Framebuffer zu, ansonsten tut dies das Fenster-System.

    Nun, was der Framebuffer ist, glaube ich in etwa zu wissen.

    Gehe ich aber der richtigen Annahme, dass, wenn man mit dem Frambuffer arbeitet, nicht die Auflösung ändern kann oder wie setzt man das bei Spielen um, wo man im laufenden Betrieb die Auflösung ändern kann?

    Der Textbasierte Modus ist einfach ein anderer Modus der Grafikhardware, in dem Textzeichen anstelle von Pixeln verwaltet werden (die Umsetzung in Pixel übernimmt dabei die Garfikhardware).

    Naja, inwieweit unterscheidet sich denn der textbasierte FullScr-Mode vom grafischen FullScr-Mode (wobei es hier auch wieder zwei geben muss, einmal dem des Fenster-Systems und zum Zweiten, dem, der bei vielen Games zur Anwendung kommt)?

    Wie kann man nun eine Fullscreen-Anwendung erstellen? Ich vermute mal einfach, dass es bei der Frage nicht um reine Text-Anwendungen gehen soll.

    Natürlich nicht, wenn schon, eher Richtung Gaming-Bereich.

    Eine der einfachsten Lösungen wäre z.B. ein Fenster im Vordergrund zu erstellen, welches den gesamten Desktop ausfüllt. Allerdings kann man dabei Auflösung und Farbmodus nicht ganz so einfach verändern.

    Gut, wie man ein Fenster beliebiger Größe erstellt weiß ich (ja, seht Ihr, ich kann mich auch selber schlau machen!), wie ich dabei die Auflösung und Farbmodus ändern soll, ka. Wie Du schon sagtest: nicht so einfach. Für weitere Hilfen / Hinweise diesbzgl. wär ich sehr dankbar!

    Direct3D verwendet wird, kann beim Aufruf von IDirect3D9::CreateDevice angeben werden, ob die Anwendung im Fenster oder im Vollbildmodus laufen soll.

    Nun denne, thx, werd ich wohl mal gebrauchen, wenn ich anfange für d3x zu coden. Bei offenen Bibliotheken wirds wahrscheinlich Ahnliches geben (edit: gerade nachgeschaut, gibts).

    ----------------------------------------------------------------------

    Was mich jetzt aber noch wurmt, ist, wie wird der Fullscreen-Mode (in den verschiedenen erwähnten Ausführungen) technisch umgesetzt, denn eigentlich ist das ja das Grundverständnis, nach dem ich suche.

    C/C++-, SDL-, OpenGL- und ASM-Kenntnisse liegen vor, aber da geschieht so gut wie alles im Verborgenen (wird entweder vom System verwaltet oder wird irgendwo in den Bibliotheken umgesetzt, wobei man bei diversen Bibliotheken nicht durchblickt oder man für sein Vorhaben nach der Nadel im Heuhaufen sucht). Ich möchte aber nun selber mal einen Fullscreen-Mode erzeugen/umsetzen. Ich weiß, dass man dafür mittels Funktionen (oder ähnlichen) teilweise auf die Hardware zugreifen muss, aber gibt es nicht irgendwie Möglichkeiten, um einen eigenen Fullscreen-Mode umzusetzen (ich vermute mal, einfach den kompletten Bildschirm schwarz malen)?

    Könnte mir da mal jemand mehr dazu erzählen, wie das technisch (letztendlich software-seitig) umgesetzt werden muss / kann?

    Auf n Kopf gefallen bin ich ja nicht, ein wenig Ahnung von Technik und hardware-naher Programmierung habe ich ja (auch wenns besser sein könnte ;)). Dennoch habe ich ja irgendwie noch Hoffnung, dass das auch einfacher geht (wenn nicht, korregiert mich!).

    Gruß und noch mal THX (auch für zukünftige Hilfen!),

    DITTY :):):):)

  13. Man'o'man, Ihr machts einem echt nicht leicht oder?

    Ich verlange doch nie, dass jemand für mich alles erledigt. Nicht ohne Grund, habe ich meine noch offenen Fragen / Probleme nummeriert.

    Und da es durchaus Quellen im i-net gibt, dem Thema betreffend, vermute ich mal, dass es durchaus Leute gibt, die interessiert daran sind.

    Fachliches Verständnisniveau hin-oder-her, probierts wenigstens.

    Auch, wenn ichs dann nicht verstehen sollte, wäre immer noch was da, was vielleicht einem anderen hilft, der ähnliches umsetzen möchte.

    Zudem kann ich auch Gegenfragen stellen, falls ich etwas nicht verstehen sollte.

    Quid pro quo! Oder wie war das mit dem Forum-Verständnis?

    Nunja, in die Bat-Dateien kann, bzw. hab ich mich schon eingearbeitet, dennoch happerts einwenig an manchen Stellen (Ja doch, Ich weiß, dass ich nichts weiß).

    Wie dem einen oder anderen aus meinen letzten Postings entfallen sein muss, wurmt mich gerade eher das omniöse "Leerzeichen-Problem", weniger die Batch-Dateien und dazu finde ich nunmal nichts Passendes. Es muss doch irgendwie möglich, dass man Cygwin überall hininstallieren kann, ohne, dass es dabei zu Problemen kommt, eben z.B. das angesprochene Leerzeichen-im-Pfad-Problem. Ja ich weiß, über Unsinn lässt sich streiten. Dennoch suche ich nach einer Möglichkeit danach. Ich möchte schließlich am Ende eine portable Cygwin-Version haben und dazu gehört es nunmal, dass es keine Grenzen (mal ausgenommen die 255-Grenze) bzgl. der Pfade geben darf, zumal ich keinem eine Vorgabe aufzwingen möchte (z.B. Cygwin-Ordner nur ins Root-Verzeichnis oder in ein Pfad, ohne Leerzeichen). Es muss doch irgendwie möglich sein, Cygwin (eigentlich wohl eher diversen in Cygwin integrierten Tools) beizubringen, korrekt auch mit solchen Pfaden umgehen zu können.

    Ich wäre dennoch für jeden weiteren TIPP btw. Lösungsvorschlag dankbar.

    Und glaubt nicht, ich würde nicht selber was machen. Ich Recherchiere (Google, Binge, Yahoohe, aske, wikie, etc.) durchaus (mittlerweile mehrere Stunden, wenn nicht Tage).

    Gruß

    DITTY :):):):)

    PS: Wegen dem möglichen Crashen anderer Cygwin-Umgebungen:

    Ich glaube, ich wäre not amused, wenn ein angeblich sandboxed portable Tool vom USB Stick mir mein installiertes Cygwin schrottet, weil mal so eben beim Beenden des Tools freundlich die Cygwin Dlls deregistriert werden.

    Selbstverständlich gehört es auch dazu, Überprüfungen mit einzuarbeiten und eventuelle Änderungen nach dem Beenden der Portablen Cygwin-Version wieder rückgängig zu machen.

    PPS:

    Kurz: hör auf, das komische Zeuch zu rauchen, das bekommt dir wirklich nicht.

    Bis dato rauche ich eigentlich nur Luft, aber ich weiß, 1en und 0en schaden dem gesunden Menschenverstand. ;)

  14. Und was bringt dir das? Dann kennst du ein paar Schlagworte, hast aber nicht die geringste Ahnung was dahinter für Technologien/Konzepte/Logiken stecken.

    Sicher weiß ich das dann nicht. aber dann weiß ich wenigstens, worüber ich mich informieren muss.

    Freilich, um Spiele coden zu können, muss ich/man sich schon in die Materie (z.B. mit Hilfe von Büchern, etc.) einarbeiten.

    Einfachste Sachen zeichnen kann ich ja bereits, dass steht aber nicht zur Debatte. Ich möchte nur gerne etwas mehr zum Thema Fullscreen-Mode erfahren, nicht über alles mögliche, was grafische Bibliotheken so bieten.

    Wenn mir jemand gute Keywords/Schlagworte nennen kann, kann ich mich aber weiter, meinem Thema spezifisch betreffend informieren, nur habe ich im Moment überhaupt kein Plan, nach was ich suchen soll, weil mir eben besagte Keywords (z.B. Funktionen, etc.( fehlen.

    Zudem geht es mir auch nicht primär um Code-Schnipsel oder Keywords, sondern um das theoretische / logische Verständnis, was der Fullscreen-Mode überhaupt ist und wie dieser umgesetzt wird, mal per Kommandozeile, mal grafisch.

    Ich verlange doch auch nicht, dass jemand für mich die Dokus durcharbeiten und mir die Filetstückchen heraussuchen soll. Aber, wenn schon jemand sich in diese Materie eingewühlt hat (von selbst), so wird dieser doch mal ein wenig Hilfestellung leisten können. Wie gesagt, ich erbitte keine Infos über ALLES, sondern nur über den Fullscreen-Mode (von CMD, Bash, GUI´s, OpenGL/SDL, DirectX, Games, etc.).

    Wenn ich erstmal Anlaufstellen habe, kann ich mich auch weiter schlau machen.

    Gruß

    DITTY :):):)

  15. 8.3 Konvention

    Aber bestimmt nicht geeignet für aktuelle Dateisysteme.

    Naja, funktionieren tut Cygwin schon (zum coden/kompilieren verwende ich MinGW), nur möchte ich nicht irgendwann vor Problemen stehen, die daher kommen, weil in den Pfaden irgdenwelche Leerzeichen sind. Gerade eine portable Version einer Software sollte dazu in der Lage sein, ordnungsgemäß mit Pfaden umgehen zu können, auch mit Windows-typischen Pfaden mit z.B. Leerzeichen enthalten.

    s.o. Warum Du das jetzt haben willst ist, wie auch in Deinen anderen Post, nicht verständlich, denn zum kompilieren von nicht portierten Sources benötigst Du Cygwin. Du kannst die Binaries dann direkt kopieren

    Mir geht es, wie bereits gesagt nicht darum, mittels Cygwin zu coden (compilieren, linken usw.), sondern es portabel zu machen. Dazu zählt auch, dass man den Cygwin-Ordner an eine beliebige Stelle kopieren kann und trotzdem alles seinen Dienst verrichtet. Nicht jeder, so wie ich, hat es gern, wenn irgendeine Software sich einfach in Root-Verzeichnis (z.B. C:\) installiert. Ich meine, für irgendwas muss ja der "Program Files"-Ordner taugen.

    Wie wäre es, wenn Du Dich endlich mal selbst in die gefragten Themen einarbeitest, als ständig zu fragen, ob das jemand für Dich macht! Wenn Du Cygwin benutzt, sollten Dir die entsprechenden Unixgrundlagen bekannt sein.

    Na, dass finde ich jetzt aber mal etwas dahergeholt. Würde ich mich nicht selbst schlau machen, hätte ich wohl nie entsprechende Quellen finden können. Nur ist es so, dass man nicht alles versteht und man Hilfe braucht. Ich dachte, für sowas ist ein Forum da?!

    --------------------------------------------------

    Wenn noch jemand nützliche Lösungsvorschläge hat, bitte posten. Insbesondere das Problem mit den Leerzeichen in Pfaden lässt mir keine Ruhe. Hatte zwar bis dato keine Probleme, mich in der Cygwin-Shell durchs System zu navigieren, dass heißt aber nicht, dass einige Programme (z.B. Compiler etc.) innerhalb der Cygwin-Umgebung klar kommen, sonst würden ja auf den diversen Seiten (Cygwin-Install-Tut´s) nicht Hinweise gemacht werden, doch auf Leerzeichen zu verzichten oder wie seht Ihr das?

    Wenn jemand persönlich schonmal Erfahrung gemacht hat mit dem Leerzeichen.Problem, kann er/sie doch mal davon berichten und ggfl. uns mitteilen, wie er/sie das Problem gelöst hat (außer jetzt Leerzeichen zu entfernen!)?

    Gruß

    DITTY :):):)

  16. Hallo COM,

    ich benötige für mein weiteres Vorhaben eine 100%-portable Version von Cygwin. Mein primäres Problem ist es, dass in jedem Tut, auf jeder Seite, die ich finden konnte, steht, dass man beim Installationsvorgang von Cygwin ein Verzeichnis, ohne Leer- bzw. Sonderzeichen verwenden sollte.

    1.) Cygwin und Leerzeichen:

    Daher nun meine erste Frage, wie kann man es erreichen, dass Cygwin auch z.B. im "Program Files"-Ordner (Windows-spezifisch) einwandfrei funktioniert?

    Ich möchte, dass es später möglich ist, Cygwin aus einem beliebigen Verzeichnis heraus verwenden zu können, egal, wie viel Leerzeichen im jeweiligen Pfad stecken (jetzt mal von der 255-Zeichen-Begrenzung abgesehen).

    2.) Cygwin portable machen:

    Um Cygwin an sich schon portable zu zu bekommen, gehe ich nach diesem Tut:

    Mit portable Cygwin Linuxanwendungen überall dabei - und das sogar unter Windows | nailware.de

    2.1) Profil-Datei?

    Hier ist mir aber immernoch nicht ganz klar, was die Profil-Datei genau macht (könnte mir dazu mal jemand Zeile für Zeile erklären, was was bewerkstelligt?)

    2.2) x.bat?

    Gleiches Prinzip. Könnte mir noch jemand Step-by-Step erklären, was die x.bat genau macht?

    2.3) uninstall.bat?

    Nochmal gleiches Prinzip. Könnte mir noch jemand Step-by-Step erklären, was die uninstall.bat genau macht?

    -----------------------------------------------------------

    Hier, noch weitere möglicherweise nützliche Links:

    Cygwin auf dem USB-Stick

    Windows Pfadnamen mit Leerstelle

    Ich danke für jede Hilfe / jeden Tipp.

    Denn ein wirklich portables Cygwin, bringt etliche Vorteile.

    Gruß

    DITTY :):):):)

  17. Du scheinst zu glauben, dass Grafik- und Spieleprogrammierung auf wenigen wichtigen "Keywords" basiert. Das ist nicht der Fall. Es gibt fertige Bibliotheken und Engines, die vieles vereinfachen oder abstrahieren, aber selbst dann sind die Funktionsnamen natürlich davon abhängig, welche Bibliothek du benutzt.

    Wenn jemand wichtige Keywords kennt, egal jetzt von welcher Bibliothek, bitte posten. Auch wären sehr hilfreiche Tutorials hilfreich.

    Ich möchte keines Wegs, dass mir jemand im Einzelunterricht alles vorkaut. Aber so die wichtigsten Anlaufstellen wären wünschenswert.

    Aber nicht solche Sachen: mach Dich in OpenGL / SDL und Co. schlau, denn das mache ich natürlich schon. Doch so ne Dokumentation dazu ist sehr umfangreich. Ich frage hier lediglich nach etwas spezifischeren, eben den Fullscreen-Mode. Was genau ist dieser nun denn und wenn man eine Bibliothek, z.B. SDL/OpenGL bzw. eine andere verwendet, wie wird da ein Fullscreen-Mode realisiert/umgesetzt. Wie kann ich mir das vorstellen. Ein grafisches Fenster oder doch eine Art Kommandozeilenumgebung, auf der man lediglich alles malt?

    Ich brauche keine Einführungen in 3D-Engines und Grafikbibliotheken, sondern nur einen Bruchteil aus diesen, eben des Fullscreen-Mode betreffend. Als bevorzugte Libs/Frameworks verwende ich übrigens OpenGL/SDL/OpenCL.

    Wenn mir jemand noch weitere interessante Libs/Frameworks empfehlen kann, wär ich sehr dankbar (wenn möglich OpenSource).

    Besten Dank und Gruß

    DITTY :):):):)

  18. Hallo COM,

    ich habe mal was neues vor, bräuchte aber mal ein Denkanstöße / Keywords / Befehle / Quellen (nicht Codes).

    Wie der Titelname es schon vermuten lässt, versuche ich eine Art Sandbox-Umgebung zu schaffen.

    Dabei soll es sich aber nicht um virtualisierung, a´la Xen / Hyper-V, etc. handeln.

    Um es mal kurz zu erklären:

    Für eine EXE-Datei soll ein vorhandes Betriebssystem (welches lediglich in Form einer Ordnerstruktur vorliegt), sowie eine eigene Registrie vorgegauckelt werden, sodass diese eben vom Rest des Systems abgeschottet ist.

    Nur habe ich überhaupt keinerlei Idee, wie es möglich sein soll einer EXe-Datei mitzuteilen, dass das Betriebsystem & Festplatte meine Ordnerstruktur ist und nicht das eigentliche. Ebenso hab ich keinen Plan, wie es möglich sein soll, der EXe-Datei zu sagen, sie solle nicht in die echte Registry schreiben, sondern in die eigene (virtuelle).

    Hat dazu jemand eine Idee?

    Danke und Gruß

    DITTY :):):):)

  19. JA Sorry, aber was erwartet Ihr von einem Anfänger auf diesem Gebiet?

    Direkt nach fertigen Quellcode frage ich ja nicht. Es würde mich aber auch nicht stören, wenn jemand ein paar angeführte Beispiele, egal ob jetzt OpenGL/SDL, OpenCL, Qt, DirectX, etc. für Ubungszwecke anführt.

    Bevorzugt würde ich ja persönlich auf OpenSource-Bibliotheken zurückgreifen.

    Was mich vielmehr interessiert sind aber wichtige Keywords / Befehle zum Thema. Dann hat man zumindest eine Anlaufstelle, nach was man suchen muss.

    Und Bücher: werd ich mir auch noch besorgen und studieren. Es wäre trotzdem im Moment praktischer, wenn jemand online verfügbare Quellen zur Hand hätte.

    Gruß

    DITTY :)

  20. Naja, ein Problem hab ich nicht.

    Mich würde aber mal mehr zum Thema Fullscreen-Mode Konsole, als auch grafisches Fenster interessieren.

    Wenn jemand schon damit erfahrung hat, bitte posten.

    Folgendes wäre hilfreich:

    - Codebeispiele (einmal Anwendungsmöglichkeit für Konsole, einmal graifsches Fenster)

    - Befehle

    - Keywords

    - Quellen (Links, etc.)

    Gruß

    DITTY

  21. Falsch, ich sitze nun die ganze Nacht drann und google / yahooe / binge, finde aber nichts Passendes. Nur mal so nebenbei gesagt, mein Eclipse funktioniert soweit, dass ich C/C++ coden kann und daher möchte ich nicht unüberlegt durch Eigeninitiative in den Einstellungen herumpfuschen. Ich dachte, ich frage doch gleich hier nach. Hätt ja sein können, jemand hat passende Antworten.

    Wenn noch jemand dazu hilfreiche Tipps und Antworten hat, bitte posten!

    Im Moment ist es mir sehr wichtig, dass das Ausführen der compilierten EXE-Datei(n) auch in der originalen System-Komandozeile ausgeführt wird und nicht in der Eclipse-integrierten, halt so, wie beim C++Builder/Delphi.

    Hab dann noch weitere Fragen (trotz Recherche), aber die können vorerst warten.

    THX und Gruß

    DITTY

  22. Hab schon die Links angesehen.

    Mir kommt aber der Verdacht auf, dass damit nicht die grafische Konsole gemeint ist, sondern eben die DOS/CMD-Console.

    Was ja nicht weiter schlimm ist. Auf jeden Fall eine gute Anlaufstelle.

    Trotzdem weiß ich nicht so recht, wie das z.B. bei den erwähnten Games ist.

    Ich weiß nämlich, dass man auch in der Konsole Spiele, ja sogar 3D-Games mit entsprechender Engine programmieren und darstellen kann. Angeblich (mir fehlen noch Nachweiße), soll in der Konsole, zumindest im Fullscreen-Mode weniger Ressourcen verbraucht werden, als bei einem Window im Fullscreen-Mode, wobei es dort sowas nicht gibt, da im Grunde das Fenster nur über den ganzen Bildschirm gelegt wird.

    Angesichts der Tatsache, dass beim Starten eines Games ähnliche Verhalten auftreten, wie als wenn man in der Konsole in den Fullscreen-Mode (ALT+Enter) wechselt, vermute ich mal das auf diese Weiße Spiele erstellt werden (Fenster-Games (z.B. Solitär) mal ausgenommen).

    Natürlich kann ich hier nichts belegen, deshalb frage ich ja hier nach. Wenn jemand mehr dazu Erfahrung hat, eventuell nützliche Tipps, Keywords, Befehle, Quellen, Links ==> nur her damit, bitte posten!

    THX und Gruß

    DITTY :):)

  23. OK, Konsolen-Problem ist auch wech, zumindest fasst.

    Es ist nämlich so, dass sämtliche Ein-/Ausgaben in der Eclipse-eigenen-Console gemacht werden (dockt unten irgendwo an: "Console").

    Nun finde ich das irgendwo etwas blöd. Ich möchte schließlich Konsolen-Programme schreiben und dort sind z.B. Hintergrundfarbe: BLACK, TextColor: WHITE.

    Bei der Eclipse-eigenen Konsole genau umgekehrt. Sehr mysteriös ist auch, dass ich bei folgenden Programm:

    #include <iostream>
    
    
    using namespace std;
    
    
    int main(void)
    
    {
    
      cout << "Hello World";
    
      getchar();
    
      return 0;
    
    }
    
    

    erst ins Console-Fenster klicken und dann irgendeine Taste z.B. Enter drücke muss, bevor "Hello World" ausgegeben und das Programm beendet wird.

    Aber wieso? Eigentlich, und so ist es auch in der DOS-Console (muss dazu aber die EXE manuell mit der Maus ausführen), wird erst der Schriftzug "Hello World" ausgegeben und dann muss dank getchar(); noch eine Taste zum beenden getätigt werden, was laut Quellcode auch korrekt so ist.

    Wie gesagt, ist das in der Eclipse-eigenen-Console nicht so. Programm ausführen (Strg+F11), dann ins integrierte Console-Fenster klicken und Enter drücken ==> es passiert folgendes: "Hello World!" wird ausgegeben und das Programm beendet??? Sollte hier nicht erst noch eine Eingabe abverlangt werden ==> getchar();?

    Wäre super, wenn man dieses lästige Problem abstellen könnte.

    Ich möchte gerne mein Programm, genau wie beim C++Builder in der original DOS-CMD ausführen lassen und nicht in der Eclipse-integrierten-Console.

    Ich wäre sehr dankbar für jede HILFE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Gruß

    DITTY :):):):)

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...