こんにちは私はIARcコンパイラを使用しています、私は次のような浮動小数点値を出力しようとしています
printf("version number: %f\n",1.4);
しかし、私はいつもコンソールで以下のようになっています
version number:ERROR
事前に感謝してくださいkudi
こんにちは私はIARcコンパイラを使用しています、私は次のような浮動小数点値を出力しようとしています
printf("version number: %f\n",1.4);
しかし、私はいつもコンソールで以下のようになっています
version number:ERROR
事前に感謝してくださいkudi
このエラーは、おそらく dlib 構成が原因です。リソース制限のある組み込みターゲットに重点を置いているため、iar c ライブラリ (dlib) の動作/機能セットは構成可能です。
プロジェクト/オプション/一般オプション/ライブラリ オプションを見てください。
ドキュメントから:
PRINTF FORMATTER の選択 printf 関数は、_Printf というフォーマッターを使用します。デフォルトのバージョンは非常に大きく、多くの組み込みアプリケーションでは必要のない機能を提供します。メモリ消費量を削減するために、標準の C/EC++ ライブラリには 3 つの小さい代替バージョンも用意されています。
#define _DLIB_PRINTF_SPECIFIER_FLOAT は、printf が float を認識している場合に使用できます。
関数のフォーマット文字列は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 のコピーがまったく役に立たないと思わせる一例にすぎません。申し訳ありません。