2014-12-12 35 views
0

我的應用程序使用的libxml2,其中包含一個函數「xmlReadMemory(常量字符*緩衝液, INT大小, 常量字符* URL, 常量字符*編碼, int options)「使用C框架的libxml2 iOS的64位支持「的隱式轉換失去整數精度」

我確實有一個」大小「發送,但它是一個NSUInteger

這個框架是用C寫的,所以希望我發送INT,它拋出一個警告,在我的應用程序,因爲我現在包括arm64作爲一個有效的體系結構:「隱式轉換損失整數精度:NSUInteger (aka'unsigned long')至int「。有解決此警告的安全方法嗎?

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

+0

這看起來像是一個類似的問題:http://stackoverflow.com/questions/24148817/ios-7-1-commoncrypto-library-complains-implicit-conversion-loses-integer-precis – Chicowitz 2014-12-12 23:29:04

+0

int isize =( int)usize;如果(isize <0 || isize!= usize)Handle_Error(); else xmlReadMemory(buffer,isize,URL,rncoding,options);' – chux 2014-12-13 05:01:03

回答

1

只要你有信心,你再也不需要通過它比最大的32位整數(不太可能)大的值只投它通過添加爲int (int)在函數調用的參數前面。未簽名的32位值超過4 GB,超過iPhone上的內存,並且需要小時才能通過小區網絡進行下載。

相關問題