客户文件大小为4815060992 byte,测试文件如下:
#include <linux/byteorder/little_endian.h>
#include <stdio.h>
#include <stdint.h>
int main() {
uint64_t value = 4815060992;
uint64_t le32 = __le32_to_cpu(value);
uint64_t le64 = __le64_to_cpu(value);
printf("org: %10lu\nle32: %10lu\nle64: %10lu\n", value, le32, le64);
return 0;
}
运行得:
org: 4815060992
le32: 520093696
le64: 4815060992
因此是le32 导致的截断问题
758

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



