D'après la doc de TIGCC/GCC4TI,
int (*x[5])(); An array of pointers to a function which returns an integer
avec une taille indéfinie de tableau de cette écriture doit être int (**x)()La version
ur sur ce truc doit être int (***x)()Et un pointe
(non testé)
Ah, ça s'écrit comme ça ? Un pointeur sur un pointeur de fonction en effet... Merci beaucoup !
C'est, en soi, un pointeur sur une fonction (sans nom). Je sais pas comment lui dire que le type de donnée dans la liste, c'est "pointeur de fonction"
toute fonction implique une paire de parenthèses pour les arguments mon cher.
va_arg (FuncList, (*)())(Sign);
(je crois, hein)
pour comprendre:
void (*ptr)(void) = va_arg(FuncList, void(*)(void));
ouzencor
void (*ptr)() = va_arg(FuncList, void(*)());
puis:
ptr();
?
donc le type c'est void(*)()
et tu dois pouvoir compacter en
va_arg(FuncList, void(*)())(Sign);
ou avec un cast
(void(*)())va_arg(FuncList,void*)();
Et j'y arrive pas. Faut dire que google(va_arg, function, list) renvoie une plétore de réponses évidemment...
Folco: si tu as un doute sur les warning/errors de gcc & consorts, fait passer ton code dans clang, les messages risquent d'etre moins cryptique ^^ Et si ils le sont, il faut le leur dire ^^

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
mission suivante: trouver/builder/installer/exécuter clang.
Ah, un front-end de llvm... M'étonnerait que Debian le propose ce soft, on va voir si la Fée Dora peut me le faire apparaitre.
Il est dans ubuntu au moins

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Ouep... rah ça fait chier, ce code est fait pour être compilé par tigcc (_library etc...). il me faudra faire un fake main juste pour sa gueule. C'est quand même casse-couilles. Je me demande si je ne vais pas coder toute cette fonction en asm, ça sera bien plus simple, court et rapide.
pourquoi il faudrait un fake main? compiler un programme pour voir l'asm généré ne requiert pas d'édition de liens, donc t'auras pas besoin de main...
int pdtlib__ManageArgs (CMDLINE* CmdLine, int (*Callback)(int Status), void (*SwitchFunc)(char Sign), const char* OptList, ...)
?