最近描画ツールで文字や色を表すのにVRAMへアクセスして書き込むというものがありました。
そこで思ったのですが、printf()などの関数ではなく、VRAMに文字データを送ってくれるC言語あるいはC++言語の関数を使ったほうが良いのではないでしょうか?
ただ、私がみたVRAMへアクセスしてデータを送るのはアセンブリ言語でした。
参考にしたサイトがこちらです。
https://qiita.com/Wanwannodao/items/1d999aeb3653 …
ただ、文字表示などはosのする仕事なので、この人はosを使わないでVRAMに直接書き込んだのですかね。
No.1ベストアンサー
- 回答日時:
前の回答にも書きましたけど、OSの管理を抜け出して勝手にハードウェア資源にアクセスすると、OSの管理が破綻します。
なのでまともなOSではそんなことは許しません。そんな無茶ができるのは、DOSみたいにそうした管理機構を持たず、リアルモードだけで動作するものならではです。その記事もリアルモードでの話と書いてあるから、プロテクトモードによる保護機構を使わない(OSがない)前提です。ただリアルモードだとi8086互換なので、メモリは1MBしかない上にセグメントで64KB単位に区切られたぶつ切りになるという、今となっては悪い冗談のような不自由な状態になりますが…。
その記事のベースになってる本は見ていませんが、おそらく画面表示はピュアVGA(描画アクセラレータを一切持たない)で行っているはずです。これだったらすべてをCPUで操作しなきゃいけないから、VRAMアクセスの話は当然出てきますけど、それはWindowsなどのOSには全く通用しないことなので、よりローレベルな動作を勉強するくらいにしか役に立たないですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- CAD・DTP 「機能ブロック図」の描画用フリーソフトを教えてください 1 2022/09/23 16:12
- PDF 2つのPDFを重ねる方法はありますか? 4 2023/01/30 14:04
- C言語・C++・C# 必ずyou bet と表示されます 2 2023/07/28 22:19
- ノートパソコン 中古パソコンの買い方 7 2023/03/07 16:53
- マンガ・コミック 漫画家はみな書道が得意か? 漫画家で悪筆の人はいるか? 5 2023/08/16 09:05
- 流行・カルチャー カタカナ文字の氾濫について 6 2022/04/25 09:32
- ドライブ・ストレージ 複数のパソコンが自宅にあり、互いの固有のHD、光学ドライブを相互にアクセスする方法。その2 3 2022/12/16 09:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
NVIDIAのシェーダーキャッシュ
-
[VB.net] DataGridViewの列ヘッ...
-
画面全体を再描画させたい
-
MFC ビットマップ描画で残像が残る
-
エクセルでガンチャートを作成...
-
ちらつきを何とかしたい
-
Wave波形の描画について
-
TextBoxに文字を書いても表示さ...
-
OneNote 2010 文字と描画がずれる
-
C++にて、塗りつぶされた円を描...
-
楕円を描くプログラミング
-
陰関数のグラフを表示させるには
-
FlexGridの一部のみ表示を更新...
-
MFC DrawText 背景色とフォント
-
OpenGLでの描画のタイミング
-
ピクチャーコントロールへの描...
-
DirectXとGDIの違い
-
InvalidateRectの使い方について
-
塗りつぶしモード ALTERNATEと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
NVIDIAのシェーダーキャッシュ
-
VB6,リストボックスの特定行の...
-
[VB.net] DataGridViewの列ヘッ...
-
word
-
UpdateData( FALSE); による文...
-
TextBoxに文字を書いても表示さ...
-
VC++プログラムをつかったBMP画...
-
MFCでOnPaintのタイミング
-
エクセルでガンチャートを作成...
-
InvalidateRectの使い方について
-
FlexGridの一部のみ表示を更新...
-
VB.NETでPictureBoxへの描画に...
-
MFCのタイマーのつかい方を教え...
-
CStaticコントロールの静的イメ...
-
VBAにGDI+を参照させる方法
-
画面全体を再描画させたい
-
Labelの文字をスクロールする際...
-
Form1 Load で実行されない。
-
panelのスクロール表示について
-
CScrollViewの使用方法について
おすすめ情報