Keine Ideen?

Also ich bin inzwischen davon überzeugt, daß sich stdarg.h (leider) nicht zur Lösung meines Problems nutzen lässt...


Daher verfolge ich jetzt einen anderen Ansatz:

Die Funktion "execute_function" wird in Assembler implementiert und sichert natürlich erstmal alle relevanten Register. Anschließend wird die Parameterliste abgearbeitet, und jeder Parameter im passenden Register bzw. auf dem Stack abgelegt (siehe avr-libc FAQ: function call conventions). Prinzipiell muss die Funktion dann nurnoch per Call aufgerufen, und hinterher wieder aufgeräumt werden (Register wiederherstellen).


Das sollte es mir schonmal ermöglichen, beliebige Funktionen mit beliebigen Parametern korrekt auszuführen. Dann würde nurnoch der Rückgabewert der Funktion fehlen, aber den auch noch zu berücksichtigen dürfte - wenn der Rest funktioniert - ziemlich trivial sein.