#if defined(_MSC_VER)
#define JL_SIZE_T_SPECIFIER "%Iu"
#define JL_SSIZE_T_SPECIFIER "%Id"
#define JL_PTRDIFF_T_SPECIFIER "%Id"
#elif defined(__GNUC__)
#define JL_SIZE_T_SPECIFIER "%zu"
#define JL_SSIZE_T_SPECIFIER "%zd"
#define JL_PTRDIFF_T_SPECIFIER "%zd"
#else // TODO figure out which to use.
#if NUMBITS == 32
#define JL_SIZE_T_SPECIFIER something_unsigned
#define JL_SSIZE_T_SPECIFIER something_signed
#define JL_PTRDIFF_T_SPECIFIER something_signed
#else
#define JL_SIZE_T_SPECIFIER something_bigger_unsigned
#define JL_SSIZE_T_SPECIFIER something_bigger_signed
#define JL_PTRDIFF_T_SPECIFIER something-bigger_signed
#endif
#endifsize_t在printf的正确输出方法
最新推荐文章于 2025-09-22 15:02:18 发布
本文介绍了如何根据不同编译器(_MSC_VER 和 __GNUC__)定义特定的数据类型规格符,适用于32位和64位系统。对于 _MSC_VER 和 __GNUC__ 定义了 JL_SIZE_T_SPECIFIER, JL_SSIZE_T_SPECIFIER 和 JL_PTRDIFF_T_SPECIFIER 的宏。
1637

被折叠的 条评论
为什么被折叠?



