4

さて、これは本当に奇妙な質問であり、どのように表現するかはわかりませんが、正しい用語を使用していないためか、どこにも何も見つからないようです。また、これはオペレーティングシステム固有の可能性があります。そうである場合は、Debianを使用しています。

基本的に、古いコンピューターや最新のサーバーコンピューターを起動するとき、またはそれらの線に沿って起動すると、ターミナル画面が起動します。あなたがするのはタイプのものだけです。また、グラフィカルに何かを実行したい場合は、通常、デスクトップ環境をダウンロードします。

しかし、デスクトップ環境なしでグラフィックを描画するにはどうすればよいのでしょうか。

MS-DOSに戻って、QBASICを使用して画面モードを変更し、そのように画面に色付きの線を描くことができたことを覚えています。C ++ではおそらくはるかに複雑ですが、それでも正しい方向を示したいと思います。

この質問が少し具体的でない場合は申し訳ありませんが、私は本当に正しい方向に向けられたいと思います。

4

5 に答える 5

6

これは、フレームバッファコンソールを使用して実行されます。次に、それを利用できるフレームワーク/ライブラリを使用します。たとえば、DirectFBlibFBのように、いくつかの小さなライブラリが浮かんでいます。SDLもフレームバッファを使用できると思います。しかし、自分で試したことはありません。

次に、GUIウィジェットが必要な場合は、Gtk+やQtなどのGUIツールキットのフレームバッファーバージョンがあります。

グラフィックカードと直接通信するSVGAlibもありますが、今では時代遅れになっています。推奨されません。一般的に、あなたは「Linuxフレームバッファグラフィックス」を探しています。それはあなたにいくつかの出発点を得るはずです。

フレームバッファコンソールを取得するには、それに応じてカーネルを構成する必要があります。通常、グラフィックカードのKMSドライバーを有効にし、KMSフレームバッファーも有効にします。カード用のKMSドライバーがない場合は、ほとんどのハードウェアで動作する汎用VESAフレームバッファーコンソールを使用できます(ただし、汎用VESAであるため、低速で高速化されていません)。

于 2012-11-12T00:14:34.033 に答える
0

一般に、「デスクトップ環境」(Linux上)は、XWindowのようなグラフィックス「ライブラリ」と「ウィンドウ管理」(Gnome、KDE、Xcfeなど)の2つの部分で構成されています。したがって、私があなたの質問を理解していれば、ウィンドウマネージャなしでXWindowシステムをセットアップするだけで済みます。

于 2012-11-12T00:18:24.487 に答える
0

MS-DOSでは、ビデオコントローラによって共有されているRAMの範囲に書き込むか、BIOS APIを呼び出すことにより、画面に書き込むソフトウェアを作成できます。

新しいO/S(つまり、Windows)では、これらのいずれも実行できなくなります。代わりに、ハードウェアに出力するO/S固有のビデオデバイスドライバーを呼び出すO/SAPIを呼び出します。

于 2012-11-12T00:19:49.857 に答える
0

私が読んでいると、あなたはグラフィックハードウェアを直接扱う方法を尋ねています。

それはハードウェアに依存します。

古いPCを手元に置いて実験したい場合は、特定のOSでそのハードウェア上で実行できる古い開発ソフトウェア、つまりMS-DOSで実行されていた当時のCコンパイラが必要です。これは、Windowsの「DOSボックス」(コンソールウィンドウではなく、古いPCのエミュレーション)で実行できる場合があります。64ビットのWindows7はDOSボックスをサポートしていませんが、DOSboxと呼ばれる無料の代替手段があります。

そして、そのルートに行けば、ネット上で「グラフィックアダプタ」のグラフィックモードなどを検索できます。

基本的に、古いPCアーキテクチャとDOSで実行されているプログラムでは、DOSサービスを使用してグラフィックモードを切り替えてから、モードの既知のメモリアドレスでグラフィックメモリにアクセスしました。

于 2012-11-12T00:31:38.777 に答える
-1

cursesまたはncurses)ライブラリは、Unixフレーバーでそれを行う古い方法ですが、最近はおそらくもっと良いものがあります...

于 2012-11-12T00:08:56.173 に答える