Aller à la documentation de ce fichier.
20# ifndef __UTILITES_H__
21# define __UTILITES_H__
30#error _IN already defined
35#error _OUT already defined
40#error _INOUT already defined
45#error _UNUSED already defined
60 fprintf(stderr, "%s [%d] : " , __FILE__ , __LINE__ ) ;\
73# ifdef INFOS_COMPILATION
74# error INFOS_COMPILATION already defined
76# define INFOS_COMPILATION {\
78 fprintf(stdout, "%s [%d] : " , __FILE__ , __LINE__ ) ;\
79 fprintf(stdout,"Compilation le %s" , __DATE__);\
80 fprintf(stdout," a %s" , __TIME__ );\
81 fprintf(stdout,"\n\n\n" );\
95# error ATTENTE already defined
97# define ATTENTE(secondes) {\
99 fprintf( stderr, "ATTENTE de %d secondes" , secondes);\
102 fprintf( stderr, "\n" );\
115# error EXECUTION already defined
118# error INTERRUPTION already defined
121# error ISCRUTE already defined
124# error RSCRUTE already defined
127# error SSCRUTE already defined
130# error CSCRUTE already defined
133# error XSCRUTE already defined
136# error MESSAGE already defined
142# define IFORMAT_int "%d"
143# define IFORMAT_long "%ld"
144# define IFORMAT_llong "%lld"
145# define IFORMAT IFORMAT_int
150# define MED_IFORMAT_int "d"
151# define MED_IFORMAT_long "ld"
152# define MED_IFORMAT_llong "lld"
153# define MED_IFORMAT MED_IFORMAT_int
159#define MED_EXP2_(msg1,msg2) msg1 msg2
160#define MED_ERR_(rt,r1,r2,r3) { rt = r1 r2; MESSAGE(MED_EXP2_(r1 ## _MSG,r2 ## _MSG)); MESSAGE(r3); }
163#if ! defined(MESGERR)
164#error "Explicit error messages must be either activated or deactivated, hence MESGERR macro must be defined."
165#error "Verify that you include med_utils.h after med_config.h, thanks."
168# if MESGERR == 1 || defined(MED_MESGERR_FOR_TOOLS)
173# define EXECUTION(instruction) {\
175 fprintf( stderr,"INSTRUCTION %s" , #instruction ) ;\
179 fprintf( stderr," FRANCHIE\n" ) ;\
192# define INTERRUPTION(code) {\
194 fprintf( stderr," INTERRUPTION code = %d",code) ;\
195 fprintf(stderr,"\n") ;\
209# define ASSERT(condition) if( !(condition) ){\
211 fprintf(stderr,"condition %s VIOLEE\n",#condition);\
220# define NOFINALBLANK(chaine,label) if (chaine) if (strlen(chaine)) if( ( chaine[strlen(chaine)-1] == ' ' ) ){ \
222 fprintf(stderr,"La chaine |%s| ne doit pas finir par un caract貥 blanc.\n",chaine);\
234# define ISCRUTE(entier) ISCRUTE_int(entier)
236# define ISCRUTE_int(entier) {\
238 fprintf(stderr,"%s = %d\n",#entier,(int) entier) ; \
241# define ISCRUTE_int8(entier) {\
243 fprintf(stderr,"%s = %hd\n",#entier,entier) ;\
246# define ISCRUTE_long(entier) {\
248 fprintf(stderr,"%s = %ld\n",#entier,(long) entier) ; \
251# define ISCRUTE_llong(entier) {\
253 fprintf(stderr,"%s = %lld\n",#entier,(long long) entier) ; \
256# define ISCRUTE_size(entier) {\
258 fprintf(stderr,"%s = %llu\n",#entier,entier) ;\
261# define ISCRUTE_id(entier) ISCRUTE_long(entier)
262# define RSCRUTE(reel) {\
264 fprintf(stderr,"%s = %f\n",#reel,reel) ;\
267# define XSCRUTE(pointeur) {\
269 fprintf(stderr,"%s = %p\n",#pointeur,pointeur) ;\
272# define CSCRUTE(car) {\
274 fprintf(stderr,"%s = %c\n",#car,car) ;\
277# define SSCRUTE(chaine) {\
279 fprintf(stderr,"%s = \"%s\"\n",#chaine,chaine) ;\
282# define MESSAGE(chaine) {\
284 fprintf(stderr,"%s\n",chaine) ;\
289 fprintf( stderr , "} FIN %s\n\n\n" , nom ) ;\
292# define DEBUT(nom) {\
293 fprintf( stderr , "\n\n\n") ;\
295 fprintf( stderr , "{ DEBUT %s\n" , nom ) ;\
304# define EXECUTION(instruction) instruction
305# define INTERRUPTION(code)
308# define ASSERT(condition)
311# define NOFINALBLANK(chaine,label)
313# define ISCRUTE(entier)
314# define ISCRUTE_int(entier)
315# define ISCRUTE_int8(entier)
316# define ISCRUTE_long(entier)
317# define ISCRUTE_llong(entier)
318# define ISCRUTE_size(entier)
319# define ISCRUTE_id(entier)
320# define XSCRUTE(pointeur)
321# define RSCRUTE(reel)
323# define SSCRUTE(chaine)
324# define MESSAGE(chaine)
334# ifdef WITH_EXCEPTIONS
336# define EXIT_IF(expression,message,arg) {\
337 if ( ( expression ) != 0) \
338 throw MEDerreur(__FILE__,__LINE__,message,arg); }
340# error Impossible d'activer l'option WITH_EXCEPTIONS avec un compilateur C
343# define EXIT_IF(expression,message,arg) { exit_if(__FILE__,__LINE__,expression,message,arg); }
347# ifdef WITH_EXCEPTIONS
349# define MED_ERR_EXIT_IF(expression,r1,r2,arg) {\
350 if ( ( expression ) != 0) \
351 throw MEDerreur(__FILE__,__LINE__,MED_EXP2_(r1 ## _MSG,r2 ## _MSG),arg); }
353# error Impossible d'activer l'option WITH_EXCEPTIONS avec un compilateur C
356# define MED_ERR_EXIT_IF(expression,r1,r2,arg) { exit_if(__FILE__,__LINE__,expression,MED_EXP2_(r1 ## _MSG,r2 ## _MSG),arg); }