✔ 最佳答案
我也是來講一些觀念,版主現在學習的C語言,有使用printf() 顯示文數字嗎? 假如你學習的程式用printf() 與 scanf() ,表示你學的C語言程式是一種純文字模式的程式 (主控台應用程式(console application) ,它是類似早期DOS文字模式的程式,是在Windows作業系統底下虛擬DOS環境執行,微軟讓早期DOS文字模式的程式還可以在視窗環境執行(黑底視窗框架) ,DOS文字模式只是讓初學者學習程式,這種程式現在應該沒什麼用途,現在程式都是視窗程式,C語言程式你要改學真正的視窗應用程式,才能顯示圖檔,我們現在使用視窗應用程式,它是GUI圖形界面視窗程式,才適合顯示圖檔。
假如你有用C語言寫一般的視窗應用程式,C語言呼叫Windows API建立Windows Form 應用程式,使用C程式語言寫視窗應用程式,你應該知道程式碼很複雜,建議你改使用C++程式語言寫視窗應用程式,有些寫視窗程式的C++編譯器有提供顯示圖檔的元件,你不用寫程式指令,編譯器會幫你寫,用滑鼠點選拉下編譯器顯示圖檔元件放入的程式,可輕易把圖檔的圖像顯示在你的程式畫面,想製作遊戲人物圖可在靜態背景圖移動,需要把移動人物圖及靜態背景圖兩張點陣圖,兩RGB圖素做數值與邏輯運算。
可以在視窗程式顯示圖檔,跟寫遊戲軟體又是另外一回事,視窗程式是一種多工的程式,視窗作業系統可以同時執行很多個視窗應用程式,電腦的螢幕及繪圖顯示卡是多個應用程式共同使用,多個應用程式大家共用繪圖顯示卡的記憶體資源,作業系統只配置部份資源給你的視窗程式,這樣無法發揮遊戲軟體2D及3D的效能,微軟有開發遊戲繪圖的引擎 DirectX (還有別廠商OpenGL繪圖引擎) ,假如你常玩遊戲軟體應該知道DirectX,有些遊戲軟體要安裝微軟DirectX才能運作,它是一種繪圖顯示卡驅動程式,寫遊戲軟體要用C++語言呼叫DirectX API,把整個繪圖顯示卡資源提供給這一個遊戲軟體,一個遊戲軟體會霸佔全螢幕及整個繪圖卡記憶資源,這樣遊戲軟體的畫面動作才會順暢。
更新: TO阿明
所以說C++的編譯器可以插入動態和靜態圖檔
那C的編譯器可以嗎?如果不行的話,為何說他能製作幾乎所有應用程式?
C++的視窗編譯器,編譯器廠商有幫你寫好各種功能的視窗元件 (C++視窗編譯器有附加元件的類別庫),你從編譯器的元件模板拉下來,你的程式就可以使用這些視窗元件,你不用瞭解這些元件的程式碼怎樣寫,就可以使用它,這些元件也是用Windows API函數寫的,視窗C++ 編譯器廠商把各種的API函數組合某功能元件(物件) ,當然你也可以自己寫編譯器廠商沒提供的元件(物件類別),自己創造新的視窗元件,C++是物件導向語言(視窗元件是一種物件)。
C的編譯器都沒提供,所有視窗元件都要靠自己用Windows API函數慢慢寫,只要你懂Windows底層的運作及API函數,你願意一行一行API函數慢慢寫(很複雜很長的程式碼),幾乎所有視窗應用程式都可以寫。 (坐公車、火車、捷運、沒辦法到達的地方,假如你願意用走路,幾乎台灣所有地方都可到達)