Я пытаюсь избавиться от ложного предупреждения в своей программе. В Windows 64 (в Linux такого предупреждения нет) этот оператор:
printf("%llu",UINT64_MAX);
генерирует следующее предупреждение:
warning: unknown conversion type character 'l' in format [-Wformat]|
Вывод выглядит правильным, и предупреждения быть не должно. Наиболее релевантным сообщением, связанным с gcc, которое я могу найти, является этот отчет об ошибке за 2008 год http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37768
. Если я правильно понимаю, это предупреждение связано с тем, что под капотом gcc вызывает MSVC printf, который не совместим с C99 и не может понять формат unsigned long long в printf. На той же странице предлагается решение — использовать что-то под названием gnu_printf. Я пытался погуглить, но не нашел заголовка для включения.
Итак, вопрос в том, как с этим обращаться, чтобы быть переносимым? Я просто хочу избавиться от предупреждения правильным и небрежным способом.