Posté le 28/06/2018 16:07
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 130 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 28/06/2018 18:40 | #
C'est sûrement pas supporté en C89 ça
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 28/06/2018 20:40 | #
Bonjour Zezombye,
Du c89 c'est pas du c99 t'es sur ?
Aurais tu une idée pour aboutir à mon but ?
merci d'avance pour ta réponse.
EDIT:
J'ai tester ce code:
#define VARIABLE 3
#define NAME2(fun,suffix) fun ## _ ## suffix
#define NAME1(fun,suffix) NAME2(fun,suffix)
#define NAME(fun) NAME1(fun,VARIABLE)
int NAME(some_function)(int a){printf("ok\n");return 0;}
int main()
{
some_function_3(5);
printf("Hello, World!\n");
return 0;
}
avec la commande gcc 7.2.1 suivante:
et il compile sans le moindre problème. donc c'est conforme c89
Citer : Posté le 08/07/2018 15:51 | #
Coucou,
pour ceux qui en doutent, si, l'opérateur ## existe en ANSI C (C89, même avant que l'ISO reprenne ça à son compte) :
Et en ISO C99, du coup :
Après, tu feras gaffe, j'ai fait quelques tests sur GCC pour voir et les noms que tu produits c'est lca__test et ___test (un underscore en trop), vire l'underscore que tu concatènes dans PASTER(x,y) (histoire de passer à une logique de préfixes).
Quant à l'origine de l'erreur C2125 que tu rencontres, je ne pense pas qu'elle vienne de ce code-là (j'ai enquêté dans le manuel mais il semble que l'opérateur ## soit supporté, c.f. les erreurs C5050 et C5051)… je ne saurais donc te dire.
Mon blog ⋅ Mes autres projets