UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 19592

11.1 EDK - C 言語の printf() 関数でメモリが多く使用される理由について

説明

キーワード : stdio.h, C 言語, 関数

C 言語の printf() 関数でメモリが多く使用されるのはなぜですか。たとえば、MicroBlaze プログラムで printf() を追加すると、Hello World プログラム (サンプル デザインに含有) のサイズが 51,788 バイト増加します。

ソリューション

次の表に、PRINT 文に関するコマンドを示します。これらのコマンドが Hello World に標準出力するのに必要なコード サイズおよびデータ スペースを示します。

関数 サイズ 制限
-------------- ------- ------------------
printf() 51788 すべての機能をサポート
iprintf() 18294 浮動小数点のサポートなし、リエントラント可能
xil_printf() 2953 浮動小数点およびリエントラントのサポートなし (シングル スレッドのみサポート)、LONGLONG (64 ビット整数)のサポートなし
putnum() 284 16 進整数のみサポート、その他のファーマットに非対応
print() 185 数値出力は不可、文字列のみサポート。

これらすべての関数は、<stdio.h> を含めて宣言できます。


AR# 19592
日付 04/25/2009
ステータス アクティブ
種類 一般
このページをブックマークに追加