这段代码:
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main(int argc,char **argv)
{
uint64_t val=1234567890;
printf("%"PRId64"\n",val);
exit(0);
}
根据 GCC 4.5适用于C99、C++03、 C++11 ,但根据 GCC 4.7.1在 C++11 上失败。在 GCC 4.7.1之前添加一个空格可以编译它。PRId64
哪一个是正确的?