2012-07-18 36 views
0

我想知道 - 在Android上開發其他本地庫時,android庫提供的功能如何「安全」? 有沒有像微軟的strsafe.h或bstring?或者那些可以移植過來?原生android開發的安全字符串函數?

+0

如果你想要安全,你應該使用C++和std :: string。但是如果我們談論C - 那麼它與其他C(Linux上的gcc或Windows上的MSVC)是一樣的。一切都取決於你。 – 2012-07-18 18:03:32

+0

我正在談論針對'安全'字符串操作開發的特定C庫。例如。微軟公司在用visual studio開發時,需要使用更安全的替代方法來提供字符串函數,而不是常規函數。而這種情況發生在整個Windows世界,甚至Windows Mobile OS都是以這種方式開發的。在android世界中有類似的東西嗎? – 2012-07-20 09:23:52

回答

1

通常會有的,你可以用它來保證一般檢測和引進不易察覺的錯誤只有在執行以後發現之前處理的任何操作問題,不安全的功能安全的變體。如果我正確地理解了你的問題,你可能想看看snprintf代替printf,strncat而不是strcat,以及在創建遵循'成功或死亡'約定的字符數組時使用malloc變體。

我發現這些有用的參考用C爲Android編碼時,(我知道本機庫是缺少位)。

http://www.cplusplus.com/reference/clibrary/cstring/

http://en.wikipedia.org/wiki/C_string_handling#Overview_of_functions

使用需要其他信息的變種,如最大緩衝區大小或觸發容易失敗發現錯誤一般是有幫助的,以避免微妙的錯誤,可以是一個麻煩以後。