2

こんにちは私はIARcコンパイラを使用しています、私は次のような浮動小数点値を出力しようとしています

printf("version number: %f\n",1.4);

しかし、私はいつもコンソールで以下のようになっています

version number:ERROR

事前に感謝してくださいkudi

4

2 に答える 2

2

このエラーは、おそらく dlib 構成が原因です。リソース制限のある組み込みターゲットに重点を置いているため、iar c ライブラリ (dlib) の動作/機能セットは構成可能です。

プロジェクト/オプション/一般オプション/ライブラリ オプションを見てください。

ドキュメントから:

PRINTF FORMATTER の選択 printf 関数は、_Printf というフォーマッターを使用します。デフォルトのバージョンは非常に大きく、多くの組み込みアプリケーションでは必要のない機能を提供します。メモリ消費量を削減するために、標準の C/EC++ ライブラリには 3 つの小さい代替バージョンも用意されています。

#define _DLIB_PRINTF_SPECIFIER_FLOAT は、printf が float を認識している場合に使用できます。

于 2010-06-20T11:08:23.217 に答える
-1

関数のフォーマット文字列はprintf、より明示的な文字列で浮動小数点表現を指定できます。

printf("version number: %3.1f\n", 1.4);

これがエラーメッセージの原因だと思います。

'%3.1f' は、printf に 3 文字 (小数点以下1 文字)を使用するように指示します。出力は

version number: 1.4

編集: Kudi、IAR コンパイラの printf() 関数は、K&R の printf() 関数とはかなり異なるようです。

このリンクは、私の K&R のコピーがまったく役に立たないと思わせる一例にすぎません。申し訳ありません。

于 2009-12-16T10:46:12.223 に答える