J'ai téléchargé une bibliothèque et il déclare les fonctions de la manière suivante:Quel est le rôle de cette macro dans la déclaration de fonction?
#if !defined(__ANSI_PROTO)
#if defined(_WIN32) || defined(__STDC__) || defined(__cplusplus)
# define __ANSI_PROTO(x) x
#else
# define __ANSI_PROTO(x) ()
#endif
#endif
int httpdAddVariable __ANSI_PROTO((httpd*,char*, char*));
Quel est le rôle de __ANSI_PROTO
ici? Pourquoi est-il préférable de déclarer simplement
int httpdAddVariable (httpd*,char*, char*);
a macros pour déclarer des fonctions et des arguments avec ou sans * ANSI C prototypes –
Peut-être pour faire face à des compilateurs C précoces qui n'ont pas de signature d'argument? – chux