Beiträge von J.Petso

    Zitat von sommeralex

    Ich hab folgendes Problem, und hoffe, dass mir hier wieder jemand helfen kann. Wie erstellt man eine verlinkte Liste von structs X, die selbst aber WIEDER eine verlinkte liste von structs Y haben?

    (...)

    wie zum beispiel würde ein struct X aussehen?


    ich würde es so machen:

    Code
    struct Y {
        Y* next;
    }
    struct X {
        X* next;
        Y* head;
    }


    Du hast den Anfang einer Y-Liste, nennen wir ihn head, in jeder Instanz von X, während Y-Struktur selbst die eigentliche Liste, also den Verweis aufs nächste Element, enthält. Den head der struct X kannst du immer noch in deiner globalen Variable speichern.

    Zumindest erscheint mir das so logisch.

    Zitat von sommeralex

    also meinst du, dass ich einfach beispielsweise nur von 0-5 inkrementiere, stoppe, auf die benutzer eingabeaufforderung warte, "wollen sie bei 5 stoppen oder weiterinkrementieren"

    :shinner:

    verdammt. als eingefleischter gui-mensch hab ich nicht dran gedacht, dass die input-abfragen blockieren. in dem fall funktioniert mein system natürlich nicht. sorry, schwerer fehler.

    Zitat von sommeralex

    Gibt es vielleicht eine Möglichkeit, in C "quasi-threads", ohne posix o.ä zu erzeugen?

    hmmm... kann ich nicht sagen, ist mir mit meinem bescheidenen Wissen nichts bekannt...

    Zitat

    Beispielsweise sollte eine Variable von 0 auf 100 laufen, mit der Option, diese Inkrementierung über die Konsole zu stoppen und den stop-wert auszugeben.


    Wenns nur darum geht, dann sollte das doch kein Problem sein mit folgender, nicht-gethreadeter Vorgangsweise:
    1. Du zerlegst die Thread-Arbeit, sagen wir Inkrementierungen von 0 auf 100, in mehrere Iterationen und machst bei jedem Aufruf der Iterationsfunktion dort weiter, wo du vorher aufgehört hast.
    2. Jedes Mal, wenn die Iterationsfunktion zurückkommt, behandelst du user inputs und was weiß ich noch alles.
    3. Das ganze in eine while-Schleife verpacken und beenden, wenn die Aufgabe erledigt ist oder der Benutzer abgebrochen hat.

    Kann aber auch sein, dass du aus irgendeinem speziellen Grund, den ich nicht kenne, unbedingt Threads brauchst. Dann kann ich dazu nichts sagen.

    Deutschsprachige Infos gibts eher weniger. Ich sehe auch keinen Grund, sich nicht in internationale Communities einzuleben, selbst wenn dein Englisch nicht so toll sein sollte (das macht gar nix, nur die ständigen "I'm sorry, I don't speak English well" nerven).

    Kurzes Googlen nach "Mono" verrät einem die Hauptseite des Projekts, von wo aus sich Seiten wie GotMono inkl. Mono-Handbuch oder auch eine schlecht besuchte deutsche Community-Seite ganz leicht finden lassen. (Im Handbuch sind dann auch ein paar Sachen über die Windows.Forms und GTK# drinnen, ich selber kenn mich da zu wenig aus.)

    Im Allgemeinen weiß ich über GTK#, dass es das ebenfalls plattformübergreifende GTK-Toolkit benutzt (no na), während die derzeitige Windows.Forms-Implementation seine Steuerelemente mit System.Drawing selber zeichnet und deshalb auch plattformunabhängig ist. Schau's dir halt an und entscheide selbst. Es gibt Informationen, man muss nur danach suchen.

    Zitat von TheButcher

    Hi!
    Ich bekomme beim ausfuhren von ./configure folgende Fehler:
    GLIB >= 1.2.2 not installed -- please install first!

    ./configure von welcher Software? Obwohl, eigentlich nicht so wichtig. Tschuldigung.

    Zitat

    Also die Frage ist, was das GLIB ist und wo kann ich das finden?

    GLib ist eine Bibliothek aus GNOME-Gefilden und wird normalerweise von Linux-Distributionen in irgendeiner Form mitgeliefert. Frag mal deinen package manager, was er von GLib hält.

    [edit] GLib findet sich übrigens als Bestandteil von GTK+ auf http://www.gtk.org/, und 1.2.x ist die urältere Version, aktuell ist 2.6.irgendwas. [/edit]

    Zitat von ORCUS

    Hmm ... evtl. bin ich hier einfach im falschen Forum gelandet: Scheinbar interessiert Euch der Inhalt wohl eher überhaupt nicht - that's life.


    Ja, sorry.

    Andererseits musst du bedenken, dass das hier ein Forum ist, in dem grob geschätzt 90% der Mitglieder nur wegen Zusammenarbeit und Hilfen für diverse Lehrveranstaltungen mitmachen und an Profi-Tricks für Software-Entwicklung wenig Interesse haben, insbesondere in deinem Spezialfall. Der Rest mag immer noch beträchtlich sein, aber dein Trick ist doch sehr speziell angesichts der Tatsache, dass

    • viele Leute hier in anderen Umgebungen als Visual Studio arbeiten und sich viel eher für Java, PHP oder Open Source interessieren
    • VS 6 auch schon einige Zeit durch VS.NET überholt wurde, auch wenns noch verwendet wird
    • ATL nicht umbedingt die verbreitetste Technologie ist, sozusagen am Untergehen
    • Probleme wie das von dir genannte nur in sehr wenigen Fällen auftreten.


    In Anbetracht dessen müsste dir durchaus bewusst sein, dass du mit einem Beitrag, der ein bisher offensichtlich kaum aufgetretenes Problem behandelst, auf wenig Interesse stößt. Überhaupt dann, wenn es als Eigeninitiative und nicht als Antwort auf einen existierenden Thread mit dem Thema vorkommt. Falls wer schon einmal auf dieses Problem gestoßen ist, hat er/sie dies mit großer Wahrscheinlichkeit zu einem anderen Zeitpunkt als jetzt gelöst oder umgangen. Vielleicht findet irgendwann mit viel Glück einmal jemand dein Posting und kanns hilfreich verwenden.

    Aber ansonsten bist du mit einem solchen Thema sicher in internationalen ATL-Foren besser aufgehoben als in diesem hier.

    Zitat

    Du wirst sicherlich nachvollziehen können, daß ich nur begrenzt Lust/Zeit habe einen Beitrag der fix & fertig einfach per Link in das Forum zu stellen geht nochmals explizit aufzubereiten.

    Vielleicht liegts einfach nur an der überflüssigen HTML-Formatierung, die von Spammern auch sehr oft verwendet wird.

    Zitat von spitzi_pezi

    3) apt-get haut bei mir no ned wirklich hin (liegt aber wahrscheinlich daran das ich ein Linux NOOB bin :shinner: )

    Äh, wie? SuSE funktioniert mit apt-get? ...da hab ich wohl eine Entwicklung versäumt. Ich dachte immer, das geht mit rpm und Yast :shinner:

    Zitat von mtintel

    ...aber nach der isntallation alles eingestellt, und jetzt geht (fast) alles ;)

    ...schon klar, dass sich installierte Systeme meistens fixen lassen. Als Live-CD eignet sie sich damit halt nicht wirklich so cool, und überdies fehlt partimage auf der CD. Ich werd für Live-CDs wohl bei Knoppix bleiben, oder Kanotix einmal probieren.

    Auf meinem 1400x1050 Notebook-LCD startet die c't-LiveCD nur mit 640x480er Auflösung, und die anderen Modi funktionieren nicht gescheit. Keine Ahnung, wer da was verbockt hat, aber das macht diese CD ziemlich unbrauchbar für mich. Schade. Aber immerhin, besser ein SuSE als gar keins ;)

    Zitat von colo

    Wieso sollte LVM2 oder gar EVMS nur am Server zu Hause sein?

    Ist eine sehr praktische Sache, und nicht toedlich kompliziert. GNU/Linux ist ja keine durch Lizenzuebestimmungen kuenstlich verkrueppelte Muellsoftware, die dir tolle Features "for the enterprise" nur in den kostenintensiven Varianten bietet.


    Mein Stein des Anstoßes war, dass du behauptet hast:

    Zitat

    Ich denke du brauchst LVM, (...)

    was so nicht den Tatsachen entspricht. Natürlich spricht nichts gegen den Einsatz von Servertechnologien an Desktopsystemen, Sachen wie Xen oder Asterisk könnten sich mittelfristig auch am Heimcomputer durchsetzen.

    Ich bin jetzt auch mit LVM und EVMS nicht vertraut genug, um dafür oder dagegen argumentieren zu können - ich wollte nur sagen, dass es zum Vergrößern bzw. Verkleinern der Festplatte nicht _gebraucht_ wird. Wie praktisch es ist, oder ob ein Linux-Neuling damit was anfangen kann, ohne zu wissen, was mounten heißt, das sind andere Fragen, und die will ich jetzt hier nicht beantworten.

    Wie? äh? War LVM nicht irgendeine Mehr-Festplatten-Technik, die eher für Server und dergleichen gedacht ist? Das ist ja wohl eher ein Kanonenschuss auf Spatzen, IMHO. Nein, vergrößern/verkleinern geht auch so, man braucht nur das richtige Programm (ext2resize, oder was auch immer).

    Zitat von MrBurns

    naja, weiss nicht ... lies mal

    http://www.blachford.info/computer/Cells/Cell0.html

    ... hoert sich ziemlich irre an ... und nix von wegen nur für konsolen ... eher der uber-chip schlechthin ... interessant der absatz cell vs. mac (allerdings vor dem anouncement von apple geschrieben) ...


    Einer der Hauptgründe für den Umstieg war ja auch die mangelnde Notebook-Fähigkeit der IBM-Prozessoren, und da macht sich der Cell auch nicht wirklich besser...

    Ganz davon abgesehen, dass für den Cell grundlegende Entwicklertools noch nicht vorhanden sind (wie schauts aus mit einem 9-Prozessorkern-Debugger?), die Portierung mindestens genauso schwierig wäre und überhaupt alles noch schwer einzuschätzende Zukunftsmusik ist. Apple hat sich da wohl eher auf verlässliche Fakten als auf vielversprechende Ankündigungen verlassen. Und selbst wenn sie OS X hinkriegen würden, bräuchten Sachen wie Photoshop inkl. Plugins auch noch Zeit, die sich Apple nicht nimmt.

    Zitat von ruffy

    was bedeutet "gemountet"?

    Eine Partition mounten (oder ein CD-ROM Laufwerk, oder einen USB-Stick, oder sonstwas) heißt, dass der Inhalt dieser Partition ins Dateisystem eingebunden wird.

    Nein, wart. Etwas informeller. Unter Windows hast du die Laufwerke C:, D:, E: usw., die gibt es unter Linux nicht. Stattdessen gibt es ein Dateisystem, wo alles drinnen ist. Das Stammverzeichnis dieses Dateisystems heißt "/" oder root. Im root-Verzeichnis sind zunächst nur Dateien aus einer Partition auf deiner Festplatte.

    Wenn du auf eine andere Partition oder ein sonstiges Laufwerk zugreifen willst, muss es vorher gemountet werden - beim Mounten des CD-ROM Laufwerks wird dann z.B. das leere Verzeichnis /mnt/cdrom mit den Dateien auf der CD gefüllt. (Muss nicht /mnt/cdrom heißen, ich weiß nicht, wie es bei SuSE heißt.) Wenn du die CD wieder auswerfen willst, musst du sie vorher wieder unmounten, oder irgendein automatischer Mechanismus macht das.

    Jedenfalls, so lange ein Laufwerk gemountet ist, heißt das, dass darauf zugegriffen wird. Deine Partition mit Linux drauf ist beim Booten auch gemountet worden, und zwar ins root-Verzeichnis "/". Du kannst sie nicht unmounten, weil sonst logischerweise das Linux nicht mehr funktionieren würde (wäre ja blöd, wenn alle Dateien durchs Unmounten verschwinden würden). Ein gemountetes Laufwerk kann man aber nicht größenverändern, das ist _wirklich_ gefährlich (also kein standard "klick mich weg" dialog). Es probiert ja auch keiner, im Windows-Betrieb die C:-Festplatte zu vergrößern, das ist auch gefährlich :)

    Also, die Lösung, wie von Wolfibolfi bereits erwähnt: Du startest von einer Live-CD, z.B. Knoppix - nachdem von CD gebootet wird, wird nicht deine Linux-Partition, sondern der CD-Inhalt als root-Verzeichnis gemountet. Dann ist deine Linux-Partition nicht gemountet und du kannst sie nach Lust und Laune größenverändern.

    Nachteile:
    - Knoppix hat nicht alle Programme, die auf deinem SuSE-System drauf sind
    - Du musst das CD-Image herunterladen

    Vorteile:
    - Es geht überhaupt einmal

    Wenn das zu kompliziert war oder du sonst noch Hilfe brauchst, hilft dir Wolfibolfi gegen Bezahlung urgern weiter :P
    Viel Glück! (Du wirst es brauchen, bruhaha)

    Nachtrag: lasst sich die SuSE-CD nicht auch als Live-CD mit Partitionierungsfunktionen verwenden? Dann sparst du dir einen Knoppix-Download. Keine Ahnung, kenn mich nicht aus.