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 IFORMAT_int
149 # define MED_IFORMAT_int "d"
150 # define MED_IFORMAT_long "ld"
151 # define MED_IFORMAT MED_IFORMAT_int
157 #define MED_EXP2_(msg1,msg2) msg1 msg2
158 #define MED_ERR_(rt,r1,r2,r3) { rt = r1 r2; MESSAGE(MED_EXP2_(r1 ## _MSG,r2 ## _MSG)); MESSAGE(r3); }
161 #if ! defined(MESGERR)
162 #error "Explicit error messages must be either activated or deactivated, hence MESGERR macro must be defined."
163 #error "Verify that you include med_utils.h after med_config.h, thanks."
166 # if MESGERR == 1 || defined(MED_MESGERR_FOR_TOOLS)
171 # define EXECUTION(instruction) {\
173 fprintf( stderr,"INSTRUCTION %s" , #instruction ) ;\
177 fprintf( stderr," FRANCHIE\n" ) ;\
190 # define INTERRUPTION(code) {\
192 fprintf( stderr," INTERRUPTION code = %d",code) ;\
193 fprintf(stderr,"\n") ;\
207 # define ASSERT(condition) if( !(condition) ){\
209 fprintf(stderr,"condition %s VIOLEE\n",#condition);\
217 # ifndef NOFINALBLANK
218 # define NOFINALBLANK(chaine,label) if (chaine) if (strlen(chaine)) if( ( chaine[strlen(chaine)-1] == ' ' ) ){ \
220 fprintf(stderr,"La chaine |%s| ne doit pas finir par un caract貥 blanc.\n",chaine);\
232 # define ISCRUTE(entier) ISCRUTE_int(entier)
234 # define ISCRUTE_int(entier) {\
236 fprintf(stderr,"%s = %d\n",#entier,entier) ;\
239 # define ISCRUTE_long(entier) {\
241 fprintf(stderr,"%s = %ld\n",#entier,entier) ;\
244 # define ISCRUTE_llong(entier) {\
246 fprintf(stderr,"%s = %lld\n",#entier,entier) ;\
249 # define ISCRUTE_size(entier) {\
251 fprintf(stderr,"%s = %llu\n",#entier,entier) ;\
254 # define ISCRUTE_id(entier) ISCRUTE_int(entier)
255 # define RSCRUTE(reel) {\
257 fprintf(stderr,"%s = %f\n",#reel,reel) ;\
260 # define XSCRUTE(pointeur) {\
262 fprintf(stderr,"%s = %p\n",#pointeur,pointeur) ;\
265 # define CSCRUTE(car) {\
267 fprintf(stderr,"%s = %c\n",#car,car) ;\
270 # define SSCRUTE(chaine) {\
272 fprintf(stderr,"%s = \"%s\"\n",#chaine,chaine) ;\
275 # define MESSAGE(chaine) {\
277 fprintf(stderr,"%s\n",chaine) ;\
282 fprintf( stderr , "} FIN %s\n\n\n" , nom ) ;\
285 # define DEBUT(nom) {\
286 fprintf( stderr , "\n\n\n") ;\
288 fprintf( stderr , "{ DEBUT %s\n" , nom ) ;\
297 # define EXECUTION(instruction) instruction
298 # define INTERRUPTION(code)
301 # define ASSERT(condition)
304 # define NOFINALBLANK(chaine,label)
306 # define ISCRUTE(entier)
307 # define ISCRUTE_int(entier)
308 # define ISCRUTE_long(entier)
309 # define ISCRUTE_llong(entier)
310 # define ISCRUTE_size(entier)
311 # define ISCRUTE_id(entier)
312 # define XSCRUTE(pointeur)
313 # define RSCRUTE(reel)
314 # define CSCRUTE(car)
315 # define SSCRUTE(chaine)
316 # define MESSAGE(chaine)
326 # ifdef WITH_EXCEPTIONS
328 # define EXIT_IF(expression,message,arg) {\
329 if ( ( expression ) != 0) \
330 throw MEDerreur(__FILE__,__LINE__,message,arg); }
332 # error Impossible d'activer l'option WITH_EXCEPTIONS avec un compilateur C
335 # define EXIT_IF(expression,message,arg) { exit_if(__FILE__,__LINE__,expression,message,arg); }
339 # ifdef WITH_EXCEPTIONS
341 # define MED_ERR_EXIT_IF(expression,r1,r2,arg) {\
342 if ( ( expression ) != 0) \
343 throw MEDerreur(__FILE__,__LINE__,MED_EXP2_(r1 ## _MSG,r2 ## _MSG),arg); }
345 # error Impossible d'activer l'option WITH_EXCEPTIONS avec un compilateur C
348 # define MED_ERR_EXIT_IF(expression,r1,r2,arg) { exit_if(__FILE__,__LINE__,expression,MED_EXP2_(r1 ## _MSG,r2 ## _MSG),arg); }