iOS 64位支持C框架libxml2"隐式转换失去整数精度"

时间:2014-12-12 23:27:29

标签: ios objective-c c 32bit-64bit libxml2

我的应用程序使用libxml2,它包含一个函数" xmlReadMemory(const char * buffer,                      int size,                      const char * URL,                      const char *编码,                      int选项)"

我确实有#34;尺寸"发送,但它是 NSUInteger

这个框架是用C语言编写的,所以它希望我发送一个 int ,它会在我的应用程序中引发警告,因为我现在将arm64包含为一个有效的架构:"隐式转换丢失整数精度: NSUInteger (又名' unsigned long')到 int "。有没有一种安全的方法可以解决此警告?

链接到框架API:http://www.xmlsoft.org/html/libxml-parser.html

1 个答案:

答案 0 :(得分:1)

只要您确信自己永远不需要传递大于最大32位整数的值(非常不可能),只需在前面添加(int)将其转换为int即可函数调用中的参数。无符号32位值超过4 GB,超过iPhone上的内存,并且需要 HOURS 才能通过蜂窝网络下载。