0

私は疑問に思っていました-Androidで他のネイティブライブラリの開発を行うときに、Androidライブラリによって提供される機能はどの程度「安全」ですか? Microsoft の strsafe.h や bstring のようなものはありますか? または、それらを移植できますか?

4

1 に答える 1

1

通常、安全でない関数の安全なバリアントがあり、操作の問題を一般的に検出して対処するために使用できます。検出が困難なバグが発生する前に、後で実行時に気付くだけです。私があなたの質問を正しく理解していれば、printf の代わりに snprintf、strcat の代わりに strncat、および「成功するか死ぬか」規則に従う文字配列を作成するときに malloc のバリアントを使用するなどの方法を検討することをお勧めします。

これらのリファレンスは、C 言語で Android をコーディングするときに役立ちます (ネイティブ ライブラリには少し欠けていることはわかっています)。

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

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

最大バッファ サイズなどの追加情報を必要とするバリアントを使用したり、失敗時にエラーを簡単に特定できるようにしたりすることは、後で面倒になる可能性のある微妙なバグを回避するのに役立ちます。

于 2012-07-20T16:42:25.793 に答える