Я пытаюсь printf
некоторую информацию об уровне Solaris
ядра с типом uint64_t
(например timestamp
) с использованием DTrace
сценария. Как я могу напечатать uint64_t
безопасно и точно в моем коде DTrace
.Как напечатать uint64_t должным образом в языке D (DTrace)
Я знаю, правильный способ печати uint64_t
в С:
#define __STDC_FORMAT_MACROS
#include <sys/inttypes.h> //sys: Kernel level
uint64_t timestamp;
printf("%"PRIu64"\n", timestamp);
Что эквивалент в DTrace
D? (%d
и `% llu являются неточными и опасными).
ПРИМЕЧАНИЕ Не путать с другими языками программирования под названием «D» (язык программирования на языке C++, разработанный Уолтером Брайтом).
Означает ли это, что я могу безопасно «printf' использовать переменную' uint64_t', используя '% d', или я должен печатать ее через'% Y'? –
Спасибо. Я отредактировал свой ответ, чтобы предложить, какие целочисленные форматы использовать, а также '% Y'. –