Je veux imprimer une variable de type size_t en c, mais il semble que size_t est un alias de différents types de variables sur les différents architextures. Par exemple sur une machine (64-bit), le code suivant n'est pas de jeter des réchauffements:
size_t size = 1;
printf("the size is %ld", size);
mais sur mon autre machine (32_bit) le code ci-dessus génère le message d'avertissement suivant:
avertissement: format '%ld' attend de type 'long int *', mais l'argument de 3 a type 'size_t *'
Je suppose que c'est dû au fait qu'il faut une machine 64 bits, et l'autre est en 32 bits, alors que sur ma machine 64 bits size_t est un alias pour un long int (%ld), alors que sur ma machine 32 bits size_t est un alias vers un autre type.
Est-il un spécificateur de format spécifiquement pour size_t?