好记性不如铅笔头

C && C++, 编程

sizeof的32位和64位兼容问题

本文参考【sizeof的32位和64位兼容问题 | 第七根弦的技术博客 (junzimu.com)

在64位系统中,sizeof返回的size_t类型定义为long unsigned int。 在32位系统中,sizeof返回的size_t类型定义为unsigned int。 那如果程序需要在32和64位系统保持兼容性,不希望产生该warning,如何处理呢?

printf已经为该兼容性定义了新的格式字符z
测试源代码:

#include <stdio.h>
int main()
{
    printf("sizeof int=%zu\n",sizeof(int));
}

再编译,32位和64位系统都不会有warning。

发表评论

18 + 5 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据