Variable Anzahl an Funktionsparametern



  • @paranoiac.org

    C bietet doch die Möglichkeit Funktionen mit einer variablen Anzahl von Argumenten zu verarbeiten.

    Sollte ich was falsch verstanden haben? Willst du das alles selber machen?



  • Original erstellt von <Gombolo>:
    **@paranoiac.org

    C bietet doch die Möglichkeit Funktionen mit einer variablen Anzahl von Argumenten zu verarbeiten.

    Sollte ich was falsch verstanden haben? Willst du das alles selber machen?**

    Ja, ich wollte das selber machen.



  • Original erstellt von todo:
    **häähh??? EDLIN is Käse 🙂
    **

    <OT>*g*
    Nein - nach dem 'vi' ist 'edlin' einer der besten Editoren überhaupt. Zu DOS 3.x Zeiten hab' ich damit noch meine Pascal & meine ersten C-Sources geschrieben....

    btw: Wäre doch mal eine nette Programmieraufgabe, einen edlin-clone zu schreiben. IMH sollte das ohne Probleme mit Standard-C möglich sein....
    </OT>



  • @paranoiac:
    Lern Assembler, dann ist das Ganze kein Problem. Wenn du es in C++ versuchen solltest, keine Chance.



  • Original erstellt von Gary:
    @paranoiac:
    Lern Assembler, dann ist das Ganze kein Problem. Wenn du es in C++ versuchen solltest, keine Chance.

    Was redest du da für Käse?? 🙄

    para
    😃



  • Original erstellt von Gary:
    Lern Assembler, dann ist das Ganze kein Problem. Wenn du es in C++ versuchen solltest, keine Chance.

    1. geht es hier um C und 2) was hat assembler damit zu tun?

    Wenn du printf in assembler schreiben wuerdest, dann braeuchtest du auch einen format-string - woher solltest du denn sonst wissen, wieviele Elemente du poppen musst?

    Die Frage wurde ja schon geklaert - es geht in C (und somit auch in C++) mit hilfe von
    va_list, va_start, va_arg, va_end



  • paranoiac wollte die va_list doch selbst machen (so hab ichs jedenfalls verstanden). Das geht nicht in C !?! Da muss man sich schon mit ASM auseinandersetzen.



  • Das geht nicht in C? Sicher geht das in C, du musst ja nur Pointer manipulieren. Siehe dir mal die Implementierung in der glibc an, die ist auch in reinem ISO C



  • Original erstellt von Gary:
    paranoiac wollte die va_list doch selbst machen (so hab ichs jedenfalls verstanden). Das geht nicht in C !?! Da muss man sich schon mit ASM auseinandersetzen.

    meinst du C zaubert?

    ich hab ne schlechte Nachricht fuer dich: va_list, etc. sind alles nur makros... dh mit ner Menge Aufwand kann man sie selbst schreiben - die Frage nur warum?

    Ich kann aus paranoiac.orgs Frage nur herauslesen, dass er eine Funktion mit variablen Funktionsparametern schreiben will. Ich lese hier nichts davon, dass er die Standard Library nicht benutzen will.



  • Für va_list,... braucht man doch einen Stackpointer, es sei denn, die Funktionsargumente werden nicht auf dem Stack abgelegt (wahrscheinlich eher in den Registern, aber das weiß ich nicht). Kann mir dann bitte jemand sagen, wie man einen Stackpointer in C realisiert? Da gibts nämlich sicher tolle Verwendungszwecke für.


Anmelden zum Antworten