Beiträge von djmaecki

    Zitat von amok

    der standard reserviert die nutzung von identifieren die mit _<grossbuchstabe> sowie __ beginnen (ISO/IEC 9899:1999 7.1.3). auch wenn es hier in diesem fall keine gefahr ist sollte man genau sowas nicht verwenden um nameclashes mit zukuenftigen library versionen zu verhindern.


    Aha, C99 hab ich mir noch nicht reingezogen, bin eher C89 gewöhnt ;-). Oder war das damals auch schon so? Man lernt ja nie aus.

    Ich nehme an, dass die Konstanten in colprintf.h nicht extern deklariert sind:

    Code
    #ifndef _COLPRINTF_H
        #define _COLPRINTF_H
    
       /* [...] */
    
        extern int COLOR_SPECIAL_RESET;
    
       /* [...] */
    
        #endif /* _COLPRINTF_H */



    Diese Konstanten müssen dann in einem (1) C File definiert werden:

    Code
    int COLOR_SPECIAL_RESET = 0;
       /* [...] */



    Aber besser wäre es wohl, du würdest den Präprozessor verwenden:

    Code
    #ifndef _COLPRINTF_H
         #define _COLPRINTF_H
    
        /* [...] */
    
       #define COLOR_SPECIAL_RESET 0;
    
        /* [...] */
    
         #endif /* _COLPRINTF_H */



    Dann kann es dir nämlich nicht mehr passieren, dass der Linker sich über Nameclashes bei den globalen Variablen aufregt.

    Wahrscheinlich nicht der schönste und tollste Code, aber wenn man in Kürze weggeht, sollte es wohl genügen. Wenn du i mit 10000 initialisierst, dann kannst du 5stellige Zahlen behandeln, usw. Fst kannst du in der Schleife zB in ein Array platzieren.

    Zitat von michi204

    es gibt sicher viele unter euch, die gerne den vi bzw vim als editor verwenden. ich war bisher eher für emacs zu begeistern, den gibt es allerdings auf dem solaris-rechner, den ich im moment berufsbedingt verwende, nicht.


    Ich hab mal für meine Arbeit auf 'nem Solaris Hobel auch den Emacs kompiliert. Einfach zu http://www.gnu.org/software/emacs/ wandern und downloaden. Zum Builden führe folgende commands aus:

    Code
    $ ./configure --prefix=$HOME/local
     $ make; make install
     $ export PATH=$HOME/local:$PATH   # kommt auf die shell an...



    Danach ist emacs in deinem $HOME/local installiert und einsatzbereit ;-).

    Wenn du einen root Account hast (oder jemand es für dich installieren kann), dann bekommst du den emacs sogar von Sun: http://wwws.sun.com/software/solaris/freeware/

    Zitat von amok

    nein. empfangene udp oder tcp pakete werden nie an raw sockets uebergeben.
    falls du raw sockets mit dem linux SOCK_PACKET interface verwechselst so wuerdest du mit kanonen auf spatzen schiessen weil du damit auf den data link layer zugreifst.
    etwas low level fuer so eine applikation.


    Ach ja, bootp rennt über udp. Hab ich falsch in Erinnerung gehabt.

    Zitat von Paladin_FRW

    So, ich hab mir das jetzt angesehn, ist eigentlich total cool und wäre die perfekte lösung für mich, wenn das ganze nicht für eine GROSSE Firma wäre, die das produkt, für das ich dieses Plug-In schreiben soll, im endeffekt verkaufen will.


    Du kannst für keine grossen Firma arbeiten, wenn sie dich Plugins schreiben lässt, bei der du keine Helperlibraries verwenden darfst. Glaub mir, ich kenn den Unterschied zwischen kleinen Firmen und grossen Firmen, da ich schon für beide Gattungen gearbeitet habe ;-).

    Zitat von Paladin_FRW

    Und nachdem dieses ACE open-source ist (Was ja durchaus förderungswürdig ist, versteht mich nicht falsch!), könnte es da unter umständen probleme geben. deswegen habe ich von meinem Boss die direktive bekommen, alles, nur keine open-source gschichtln zu verwenden, weil das nur schwierigkeiten macht.


    Sag deinem Boss, dass er absolut keine Ahnung hat. Ich kenne ACE von meiner Arbeit bei Siemens. Und die nenne ich eine grosse Firma. Und die verwenden natürlich (so wie jede normale Firma auf dieser Erde) Open Source Lösungen.

    Sieh dir http://www.cs.wustl.edu/~schmidt/ACE-copying.html an, und du wirst erkennen, dass es ein sehr laxes Copyright hat.

    Zitat von Paladin_FRW

    Punkt 1: Wie kann ich (syntaktisch) in C++ einen Socket eröffnen, der mit einem DHCP Server kommunizieren kann?


    Ich kenn mich zwar mit DHCP nicht ganz so gut aus, aber ich denke, dass das wahrscheinlich mit RAW sockets gehen sollte. Siehe dazu die manpage packet(7).

    Zitat von Paladin_FRW

    Punkt 2: Welche Parameter (mir fällt kein besseres wort ein, es ist ja auch noch früh) hat der Socket, welche braucht der DHCP Server und wie kann ich dem (wiederum: es geht mir nur um die Syntax, die RFC's mit den erläuterten Optionen habe ich schon entdeckt) eigene Optionen schicken?


    Siehe oben.

    Aber da du ja das ganze in C++ implementierst, empfehle ich dir für das ganze socken-zeuch die ACE Library: http://www.cs.wustl.edu/~schmidt/ACE.html

    Adaptive Common Environment ist eine geniale Middleware, die dir sehr viel Arbeit abnehmen wird.

    Zitat von Paladin_FRW

    Punkt 3: Danke bereits im voraus, ich bin optimistisch, dass sich jemand findet, der mir helfen kann.


    Natürli ;)

    Zitat von Troy

    VFS: Cannot open root device "303" or unknown-block(3,3)
    Please append a correct "root=" boot option
    Kernel panic: VFS: Unable to mount root fs on unknown-block(3,3)

    Ah, der unknown-block ist der Hund. Du hast wahrscheinlich den IDE Treiber bzw. deinen Chipset Treiber nicht drinnen. Siehst du bei den Kernel Meldungen irgendwo die Initialisierung der Festplatte?

    Hier kannst du ein wenig nachlesen: [1]

    1. http://www.mail-archive.com/vox-tech@lists…g/msg07860.html

    Du hast wahrscheinlich vergessen, den richtigen FS Driver ins bzImage zu kompilieren. Ist der ext2 Driver wirklich hineinkompiliert, oder hast du ihn als Modul kompiliert?


    Das kapier ich nicht, wieso sollte 194 0.016921 zur ID 33847 gehören?

    Zitat von leviathan

    P.S.: mti C unter Unix wollte ich nur andeuten das da nicht windows spezifische sachen drinnen stehen soll. das ein buch was so heist nicht ideal ist ist mir schon klar.


    Falls du ein Buch brauchst, dass wirklich tief in die Unix Materie geht, dann empfehle ich "Advanced Programming in the UNIX Environment" von W. Richard Stevens (Addison Wesley). Aber Vorsicht, du musst schon C können, um mit diesem Buch weiterzukommen.

    Zitat von wolk

    hey danke djmaecki, den treiber bei [1] hab ich natürlich schon probiert mit der anleitung auf dlink.de/forum, aber beim "make" kommen bei mir statt den vielen Zeilen ausgabe, viele Zeilen Fehlermeldungen, weswegen ich die karte auch noch nicht zum laufen gekriegt hab


    Hm, was kommt denn so auszugsweise daher? Vielleicht fehlt dir nur ein Package, dass du noch nicht installiert hast, um diesen Treiber korrekt zu compilizen.