Logging mit oder ohne Singleton?



  • hustbaer schrieb:

    dfgfdfhhd schrieb:

    hustbaer schrieb:

    Und kann man tatsächlich einen neuen Thread starten, bevor überhaupt main() augerufen wird? Ich habe das nie ausprobiert, aber es kommt mir irngendwie unwahrscheinlich vor.

    natürlich kann man das. oder sagen wir so: es kann sein dass man es kann. kommt auf die implementierung an, also auf OS, compiler, linker, runtime-library. um das genauer zu erklären müsste ich jetzt zu weit ins detail gehen, und das würde zu lange dauern. du könntest aber einfach davon ausgehen dass ich weiss wovon ich rede, und es mir glauben. natürlich kannst du auch weiterhin davon ausgehen dass ich mist verzapfe.

    Muss man sein Programm so schreiben, dass es auf allen OS dieser Welt sicher laufen könnte, wenn es sowieso nur auf einem (bei den meisten hier Windows) läuft? Und Windows startet soweit ich weiß nicht irgendeinen Teil meines Programms als Thread, wenn ich es ihm nicht sage.

    Was weiss ich schon was du musst?

    Ich weiß, dass hier oft alles verkompliziert wird, nur weil einer irgend nen Spezialfall kennt (und damit angeben will), 1 Byte ist nicht immer 8 Bit usw... Die Fragen hier kommen doch zu 99% von Anfängern die vor ihrem Desktop PC sitzen. Wer an solchen spezial Rechnern sitzt wird sehr wahrscheinlich keine Anfängerfragen in nem C++ Forum stellen.



  • dfgfdfhhd schrieb:

    Ich weiß, dass hier oft alles verkompliziert wird, nur weil einer irgend nen Spezialfall kennt (und damit angeben will), 1 Byte ist nicht immer 8 Bit usw... Die Fragen hier kommen doch zu 99% von Anfängern die vor ihrem Desktop PC sitzen. Wer an solchen spezial Rechnern sitzt wird sehr wahrscheinlich keine Anfängerfragen in nem C++ Forum stellen.

    Dass jemand angeben will, wenn er auf einen Spezialfall hinweist (oder so) ist eine ziemlich fiese Unterstellung! Wie gut, dass du hier anonym postest...

    Mag sein, dass der weitaus größte Teil der Fragen hier von Anfängern gestellt werden, aber das bedeutet nicht, dass es sich um ein Anfänger-Forum handelt. Bist du wirklich der Meinung, alle User hier sollten sich auf ein Niveau begeben, das Anfängern angenehm ist?! Und von wem würden dann die Anfänger etwas lernen?

    Bei einem Teil der Diskussion hier ging es nicht um Spezialfälle (zumindest nicht hauptsächlich), sondern darum, was der Standard definiert und was nicht. Solche Dinge zu wissen, ist vielleicht für viele hier nicht wichtig, die nach dem Motto "Geht doch!" arbeiten. Für jemanden aber, der ernsthaft in C++ programmiert, ist es von großer Wichtigkeit, unterscheiden zu können, was der Standard definiert und was vielleicht nur mit dem gerade eingesetzten Compiler funktioniert. Nicht umsonst übersetzen viele Programmierer ihren (wichtigen) Code mit mehr als einem Compiler.

    Mir persönlich ist es sehr wichtig, hier von Leuten wie hustbaer darauf hingewiesen zu werden, wenn ich mich in bestimmten Punkten irre - oder eben von "Spezialfällen" ausgehe, ohne dass meine Annahmen im Standard definiert sind. Aus diesem Grunde lese ich hier mit, stelle eigene Fragen oder poste Ideen. Ich möchte mich verbessern und dazu lernen - obwohl ich ganz sicher kein Anfänger mehr bin.

    Also ärgere ich mich über Beiträge wie deinen. Und wünsche mir ein Bischen mehr Respekt. Falls du etwas nicht verstehst oder überflüssig findest, oder falls du der Meinung bist, jemand wolle nur angeben, blättre doch einfach weiter und suche einen Beitrag, der deinem Niveau angemessen ist.

    Teufel noch eins!

    Stefan.



  • DStefan schrieb:

    Und kann man tatsächlich einen neuen Thread starten, bevor überhaupt main() augerufen wird? Ich habe das nie ausprobiert, aber es kommt mir irngendwie unwahrscheinlich vor.

    Klar kann man. Ich hatte zum Beispiel mal die Nase voll von der lahmen Konsoleausgabe in WinXP. Also habe ich cout reimplementiert, daß ich in einen Bildschirmgroßen lokalen Puffer schreibe und nur alle 10ms und nur wenn neue Daten da sind den Puffer auf die Konsole herausschreibe. Wenn ich da ein cout brauche, lege ich es gewöhnlich global an. Und schwupps, ist der Rausschreib-Thread vor dr main gestartet.



  • volkard schrieb:

    DStefan schrieb:

    Und kann man tatsächlich einen neuen Thread starten, bevor überhaupt main() augerufen wird? Ich habe das nie ausprobiert, aber es kommt mir irngendwie unwahrscheinlich vor.

    Klar kann man. Ich hatte zum Beispiel mal die Nase voll von der lahmen Konsoleausgabe in WinXP. Also habe ich cout reimplementiert, daß ich in einen Bildschirmgroßen lokalen Puffer schreibe und nur alle 10ms und nur wenn neue Daten da sind den Puffer auf die Konsole herausschreibe. Wenn ich da ein cout brauche, lege ich es gewöhnlich global an. Und schwupps, ist der Rausschreib-Thread vor dr main gestartet.

    Erschüttert! 😉 😉
    (Und genau darum ist dieses Forum so gut.)

    Stefan.


Anmelden zum Antworten