В моем коде C я fprintf
набираю "%lu"
и даю uint32_t
для соответствующего поля.Но когда я компилирую с -Wall
в GCC (версия 4.2.4), я получаю следующее предупреждение:
writeresults.c:16: warning: format '%4lu' expects type 'long unsigned int', but argument 2 has type
`uint32_t'
Не являются ли uint32_t
и long unsigned int
одинаковыми на 32архитектура?Можно ли избежать этого предупреждения, не удаляя переключатель компилятора -Wall
или не используя типизацию (и если да, как)?
Да, я все еще использую 32-битный компьютер / arch / OS / compiler (слишком бедный в настоящее время, чтобы позволить себе новое 64-битное HW).Спасибо!