4

私は Linux システム コールを初めて使用します。私の質問は、Linux に画面上にポイントをプロットするためのシステム コールがあるかどうかです。Google で検索しましたが、簡単な説明が見つかりませんでした。C グラフィック ライブラリの助けを借りずに画面上に点を直接プロットする単純な C プログラムを Linux で作成したいと考えています。

そのようなシステム コールがない場合、画面上にポイントをプロットするための独自のシステム コールを作成するにはどうすればよいですか?

4

2 に答える 2

3

Linux のハードウェアに依存しない最低レベルのグラフィックス インターフェイスは、フレーム バッファです。/dev/fb0これは、カーネルに要求を送信する手段であるため、システム コールに相当するデバイス ノード (通常は ) に書き込むことによって操作されます。したがって、これにはライブラリは必要ありません。

一般的なアプローチはmmap()、画面を表すユーザー空間メモリのチャンクを作成し/dev/fb0、それを操作することです。ioctl()フレームバッファ表示に関する情報を取得するための呼び出しがいくつかあります。情報の出発点としては、カーネル ソース内のドキュメントが適してsrc/Documentation/fbいます。これはディレクトリ全体です。たとえば、「framebuffer.txt」と「api.txt」を参照してください。オンラインで見ると、チュートリアルなどがいくつかあります。どのカーネル バージョンのソースを見るかは特に問題ではありません。「api.txt」の最後のリビジョンは 2011 年で、「framebuffer.txt」はその 10 年前です (したがって、インターフェイスは非常に安定しています)。

X 内からフレームバッファを使用できないことに注意してください。X 内でグラフィック処理を行いたい場合は、少なくともXlibを使用するか、その上に構築されたより高いレベルのライブラリを使用する必要があります。

于 2013-09-10T16:06:09.753 に答える