7

を使用してターゲット プラットフォーム用のコードを書いていますNO C-runtimeNo stdlibno stdio。のような文字列フォーマット関数が必要ですが、それはCライブラリではなく、そう snprintfでなければなりません。able to run without any dependencies

memory alloc functionsせいぜい私が提供するもの に依存することができます。

チェックアウトしましTrioたが、 が必要stdio.h headerです。これは使えません。

編集

ターゲット プラットフォーム : PowerPC64 home made OS(私によるものではありません)。ただし、ライブラリは OS 固有のものに依存するべきではありません。

編集2

Trio ( http://daniel.haxx.se/projects/trio/ )、snprintf、miniformat ( https://bitbucket.org/jj1/miniformat/src )など、サードパーティのオープン ソース ライブラリをいくつか試しました。しかし、それらはすべて、string.h、stdio.h、または (さらに悪いことに) stdlib.h などのヘッダーに依存しています。時間が浪費され、バグが発生しやすいため、既に存在する場合は独自の実装を作成したくありません。

4

3 に答える 3

7

uclibc の snprintf 実装を使用してみてください。これは、依存関係が最も少ない可能性があります。少し掘り下げると、snprintf が vfprintf の観点から実装されている vsnprintf の観点から実装されていることがわかります (奇妙なことに)、偽の「ストリーム」を使用して文字列に書き込みます。

これはコードへのポインタです: http://git.uClibc.org/uClibc/tree/libc/stdio/_vfprintf.c

また、簡単なグーグル検索でもこれが見つかりました:

うまくいけば、いずれかがあなたの目的に適しています。これは完全なリストではない可能性があります。

ここに別のリストがあります: http://trac.eggheads.org/browser/trunk/src/compat/README.snprintf?rev=197

于 2013-10-17T07:14:17.737 に答える