Я написав дуже простий тестовий код printf uint64_t:
#include <inttypes.h>
#include <stdio.h>
int main()
{
uint64_t ui64 = 90;
printf("test uint64_t : %" PRIu64 "\n", ui64);
return 0;
}
Я використовую ubuntu 11.10 (64 біт) та gcc версії 4.6.1, щоб компілювати його, але не вдалося:
main.cpp: In function ‘int main()’:
main.cpp:9:30: error: expected ‘)’ before ‘PRIu64’
main.cpp:9:47: warning: spurious trailing ‘%’ in format [-Wformat]
Те ж без помилок: stackoverflow.com/questions/9225567 / ...
—
Чіро Сантіллі郝海东冠状病六四事件法轮功
За допомогою gcc або clang, корисно вказати
—
Девіслор
-std=c11
або версію стандарту, який ви використовуєте. Це вловлює цю та інші помилки. Я також рекомендую -Wall -Wextra -Wpedantic -Wconversion
принаймні.
main.c
і компілюєте його з gcc, все має працювати добре.