powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как правильно вывести int64_t в printf() ?
2 сообщений из 2, страница 1 из 1
Как правильно вывести int64_t в printf() ?
    #39797979
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получил:
Код: plaintext
1.
2.
warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64_t {aka long int}’ [-Wformat=]
  printf("Init end: %lld msec\n", time);


компилятор g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

Нашел почему так
https://github.com/gflags/gflags/issues/24 Indeed from /usr/include/stdint.h from the libc6-dev package on debian/testing amd64:

# if __WORDSIZE == 64
typedef long int int64_t;
# else
__extension__
typedef long long int int64_t;
#endif
Т.е. в x64 надо писать ‘%ld’, а в x86 ‘%lld’.

Но вопрос остался: что писать в printf() чтобы не было предупреждений ни в x64, ни в x86 ?
...
Рейтинг: 0 / 0
Как правильно вывести int64_t в printf() ?
    #39798051
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНо вопрос остался: что писать в printf() чтобы не было предупреждений ни в x64, ни в x86 ?

PRId64
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как правильно вывести int64_t в printf() ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]