Parameter -> Eigenschaften rausfinden



  • Hi,

    ich bin absoluter Einsteiger in C++ und muss eine Code analysieren. So nun habe ich eine Frage:

    Wo finde ich (hab MS Visual C++ Express Edition) die Eigenschaften des Parameter k und i im Quelltext??

    #define skldfh(k,i) \
    {   k[4*(i)+4] = ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; \
        k[4*(i)+5] = ss[1] ^= ss[0]; \
        k[4*(i)+6] = ss[2] ^= ss[1]; \
        k[4*(i)+7] = ss[3] ^= ss[2]; \
    }
    

    Wo finde ich die Beschreibung, was k und i bedeutet??

    Zusatzfrage: Was bedeutet das ss ?

    (ich hab schon in Büchern und im Internet geschaut, aber nix brauchbares gefunden)



  • Gratuliere, das ist häßlicher C code.

    Dieses Define ist eine einfache Textersetzung. Irgendwo im Code steht
    "skldfh(parameter, parameter)" - dieser Text wird durch das Makro komplett ersetzt. Wenn du also wissen willst, was k und i für Parameter sind, musst du überall dort schauen, wo das Makro benutzt wird. Dort im Scope muss auch "ss" gültig sein.



  • Naja, so eine Scheisse. Das Komplette Projekt hat mehrere Millionen Zeilen und den zu analysierenden Code ist über 200 Zeilen lang 😞

    200 Zeilen sind zwar nicht schwer, aber wenn man lauter solchen hässlichen Code hat, dann schon (man darf auch nicht vergessen, dass ich Anfänger bin)

    Ich habe schon heute 7 h nur mit Suchen einer Textstelle verbracht (und ja ich kenne Strg + F 😉 )

    Danke!

    Edit: Hab noch eine Frage: Was bedeutet das ^= ??



  • keyboard-freak schrieb:

    Edit: Hab noch eine Frage: Was bedeutet das ^= ??

    http://de.wikipedia.org/wiki/Bitweiser_Operator#XOR

    wobei a ^= b eine Abkürzung ist für a = a ^ b



  • keyboard-freak schrieb:

    Naja, so eine Scheisse. Das Komplette Projekt hat mehrere Millionen Zeilen und den zu analysierenden Code ist über 200 Zeilen lang :-(...

    Positiv kann man verbuchen: Du hast nun eine ziemlich guten Eindruck davon bekommen, was "schlechter Code" bedeutet/bewirktund wirst nun umso motivierter sein, sowas zu vermeiden, wenn DU selbst Code produzierst. 😉

    Ganz im Ernst: Das ist bei Anfängern ein ziemlich häufiges Problem, dass sie schlechten Code produzieren und unterschätzen mit dem Argument: "Wieso? Läuft doch? Solanges tut, was es soll, ist doch alles in Ordnung."

    Wenn Du irgendwann einmal diesen Impuls verspüren solltest: Erinnere Dich an diese 7 Stunden. 🕶

    Gruß,

    Simon2.


Anmelden zum Antworten