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); }