2016-09-29 7 views
0

Stdioライブラリにfprintfの機能があります。UEFIのfprintfの使い方

しかし、どのように使用するのですか?

最初の引数はFILEタイプです。

しかし、私はから得たEFI_FILE_PROTOCOL* Fileを持っています。 FILEタイプへのマップ方法は?

+1

できません。そのようなことはない。 UEFIのために移植されたstdlibを使用しなければなりません。これはUEFI SHELLプロトコルを使ってすべての魔法を実行します。それでは、CやstdlibをWindowsやLinuxとまったく同じように使うことができます。 – Alex

答えて

0

ホストされている環境とフリースタンディング環境があります。

C標準から:

実装を準拠した2つの形式は、ホストされ、自立しています。適合したホストされた実装は、厳密に適合するプログラムを受け入れなければならない。適合自立実装は、<stdint.h>ライブラリ節(節7)で指定された機能の使用は、標準ヘッダ<float.h><iso646.h><limits.h><stdalign.h><stdarg.h><stdbool.h><stddef.h>の内容に限定される任意の厳密な適合プログラムを受け入れなければなりません、および<stdnoreturn.h>。準拠している実装は、厳密に適合するプログラムの動作を変更しない限り、拡張機能(追加のライブラリ関数を含む)を持つことができます。

だから、(あなたが記述しているUEFI環境など)自立した環境で、Cの標準は、宣言/定義するfprintf()機能を必要としないとのいずれかに定義されるようにFILEタイプを必要としません。したがって、あなた自身でそれらをコーディングする必要があります。

関連する問題