成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在 FreeDOS 上如何使用 C 語言編程

開發
在 FreeDOS 上使用 C 語言編程與在 Linux 上使用 C 語言編程非常類似。

當我第一次開始使用 DOS 時,我喜歡 DOS 自帶的 BASIC 來編寫游戲和其它一些有趣的程序。很長時間后,我才學習 C 編程語言。

我馬上愛上了使用 C 語言做開發!它是一種簡單易懂的編程語言,在編寫有用的程序時,這給予我很大的靈活性。實際上,很多 FreeDOS 的核心實用程序都是使用 C 語言和匯編語言編寫的。

因此,FreeDOS 的 1.3 RC4 包含一個 C 語言可能并不出人意料,此外還有其它編程語言的編譯器。FreeDOS 的 1.3 RC4 LiveCD 包含兩個 C 編譯器:Bruce's C 編譯器(一個簡單的 C 編譯器)和 OpenWatcom C 編譯器 。在 Bonus CD 上,你也可以找到 DJGPP(一款基于 GNU 的 GCC 的 32 位 C 編譯器)和 GCC 的 IA-16 移植(需要 386 或更好的 CPU 來編譯,但是,生成的程序可以在低端系統上運行)。

在 FreeDOS 上使用 C 語言編程與在 Linux 上使用 C 語言編程非常類似,但是有兩個例外:

  1. 你需要知道你使用了多少內存。 Linux 允許程序使用很多內存,但是 FreeDOS 有很多限制。DOS 程序只使用四種 ??內存模式??(大、中、緊湊和小)中的其中一種,具體取決于它們需要多少內存。
  2. 你可以直接訪問控制臺終端。 在 Linux 上,你可以創建 文本模式 的程序,使用一個諸如 ncurses 之類的庫來繪制終端屏幕。但是,DOS 允許程序訪問控制臺終端和視頻硬件。這為編寫更有趣的程序提供了極大的靈活性。

我喜歡在 GCC 的 IA-16 移植或 OpenWatcom 中編寫我的 C 程序,具體取決于我正在編寫的是哪種程序。OpenWatcom C 編譯器更容易安裝,因為它只是個單一的軟件包。這就是為什么我們在 FreeDOS 的 LiveCD 中提供 OpenWatcom 的原因, 在你安裝 FreeDOS 的 1.3 RC4 時,如果你選擇 “完全的安裝(包括安裝應用程序和游戲)Full installation including applications and games”,那么你也自動地安裝 OpenWatcom。如果你選擇安裝 “純 DOS 系統Plain DOS system”,那么,你將需要使用 FDIMPLES 軟件包管理器來安裝 OpenWatcom C 編譯器。

在 FreeDOS 1.3 RC4 上安裝 OpenWatcom

在 FreeDOS 1.3 RC4 上安裝 OpenWatcom

在 DOS 上使用 C 語言編程

你可以在 ??OpenWatcom 項目網站?? 找到文檔和庫指南,以學習 OpenWatcom C 編譯器所提供的獨特的關于 DOS 的 C 語言編程庫。簡單描述幾個最有用的函數:

來自 ??conio.h?? 頭文件:

  • ??int getch(void)??:從鍵盤上獲取一個按下的單個按鍵
  • ??int getche(void)??:從鍵盤上獲取一個按下的單個按鍵,并回顯該按鍵

來自 ??graph.h?? 頭文件:

  • ??_settextcolor(short color)??:設置打印文本時的顏色
  • ??_setbkcolor(short color)??:設置打印文本時的背景顏色
  • ??_settextposition(short y, short x)??:移動光標到行 ??y?? 和 列 ??x??
  • ??_outtext(char _FAR *string)??:從當前光標位置開始,直接將一串字符打印到屏幕

DOS 只支持 ??16 種文本顏色?? 和 8 種背景顏色。你可以使用值 0(黑色)到 15(亮白色)來具體指定文本顏色,以及使用值 0(黑色)到 7(白色)來具體指定背景顏色:

  • ??0??:黑色
  • ??1??:藍色
  • ??2??:綠色
  • ??3??:品藍色
  • ??4??:紅色
  • ??5??:品紅色
  • ??6??:棕色
  • ??7??:白色
  • ??8??:亮黑色
  • ??9??:亮藍色
  • ??10??:亮綠色
  • ??11??:亮品藍色
  • ??12??:亮紅色
  • ??13??:亮品紅色
  • ??14??:黃色
  • ??15??:亮白色

一個花哨的 “Hello world” 程序

很多新開發者學習編寫的第一個程序是為用戶打印 “Hello world” 。我們可以使用 DOS 的 ??conio?? 和 ??graphics?? 庫來制作一個更有趣的程序,并使用彩虹般的顏色打印 “Hello world” 。

在這個實例中,我們將遍歷每種文本顏色,從 0(黑色)到 15(亮白色)。隨著我們打印每一行,我們都將為下一行縮進一個空格。在我們完成后,我們將等待用戶按下任意按鍵,然后,我們將重置屏幕并退出。

你可以使用任何文本編輯器來編寫你的 C 源文件代碼。我喜歡使用一些與眾不同的編輯器,如 ??FreeDOS Edit?? 和 ??Freemacs??,但是,我最近一直在使用 ??FED editor?? ,因為它提供 語法高亮 功能,使其很容易在我的程序源文件代碼中看到關鍵字、字符串(LCCT 譯注:C 語言中沒有字符串)、變量。

使用 C 語言編寫一個簡單的測試程序

使用 C 語言編寫一個簡單的測試程序

在你使用 OpenWatcom 編譯前,你將需要設置 DOS 的 ??環境變量??,以便 OpenWatcom 可以找到它的支持文件。OpenWatcom C 編譯器軟件包中包含了一個為你做這件事的設置 ??批處理文件??:??\DEVEL\OW\OWSETENV.BAT??。運行這個批處理文件可以自動為你的 OpenWatcom 設置環境變量。

在你的開發環境準備好后,你可以使用 OpenWatcom 編譯器來編譯這個 “Hello world” 程序。我已經將我的 C 源文件文件保存為 ??TEST.C?? ,因此,我可以輸入 ??WCL TEST.C?? 來編譯和連接該程序為一個名稱為 ??TEST.EXE?? 的 DOS 可執行文件。在 OpenWatcom 的輸出信息中,你將看到 ??WCL?? 實際上調用 OpenWatcom C 編譯器(??WCC??)來編譯,并調用 OpenWatcom 鏈接器(??WLINK??)來執行 對象/目標object

使用 OpenWatcom 編譯測試文件

使用 OpenWatcom 編譯測試文件

OpenWatcom 會打印一些無關的輸出信息,這可能會使發現錯誤和警告變得困難。為了告訴編譯器來抑制這些大量的額外信息,請在編譯時使用 ??/Q??(“Quiet”)選項:

使用 OpenWatcom 編譯

使用 OpenWatcom 編譯

在編譯 C 源文件文件時,如果你沒有看到任何錯誤信息,那么你現在就可以運行你的 DOS 程序了。這個 “Hello World” 示例的程序名稱是 ??TEST.EXE?? 。在 DOS 命令行中輸入 ??TEST?? 來運行新的程序,你應該會看到這個非常漂亮的輸出:

運行測試程序

運行測試程序

C 語言是一種非常高效的編程語言,在像 DOS 之類的資源有限的系統上進行編程也可以很好的工作。在 DOS 上,你可以使用 C 語言來做更多的事。如果你是 C 語言的初學者,那么,你可以跟隨我們在 FreeDOS 網站上的 《??使用 C 語言編寫 FreeDOS 程序??》 的自學電子書,以及在 ??FreeDOS YouTube 頻道?? 上的配套的 入門指南how-to

(題圖:MJ:Legacy sci-fi computer programming::1.7 celestial::1 edison bulb::1 satellite imagery::1 wooden::1 in high resolution, very detailed, 8k)

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-12-26 09:00:07

VirtualBoxFreeDOSLinux

2022-07-20 21:03:05

FreeDOS文本編輯器

2021-11-10 14:33:08

FreeDOSLinux

2021-07-10 11:20:44

FreeDOS歸檔文件

2021-11-29 14:26:53

FreeDOSLinux

2010-01-18 17:14:50

C++語言

2021-12-24 11:25:37

FreeDOS批處理文件Linux

2021-11-18 15:54:17

FreeDOSLinux

2020-11-24 09:52:22

MQTT

2010-01-11 09:40:02

C++語言

2021-03-20 22:00:00

FreeDOS開源

2021-11-26 15:07:53

FreeDOSLinux

2021-07-04 19:48:07

LinuxFreeDOS復制文件

2022-05-17 09:33:52

FreeDOS聽音樂Linux

2015-09-16 15:11:58

C#異步編程

2021-06-16 12:57:27

FreeDOS

2021-11-24 15:20:04

FreeDOSLinux

2021-06-21 06:40:41

FreeDOS操作系統

2010-03-11 15:39:01

Python編程語言

2014-08-01 15:16:05

SwiftC語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费看片国产 | 瑟瑟免费视频 | 精品国产乱码久久久久久影片 | 欧产日产国产精品视频 | 日韩精品一区二区三区中文在线 | 在线观看国产视频 | 欧美综合一区 | 国产精品久久久久久久免费大片 | 色婷婷av一区二区三区软件 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 色综合久久久久 | 欧美日韩在线免费观看 | 久久色视频 | av大片| 曰韩一二三区 | 精品日韩一区二区 | 另类 综合 日韩 欧美 亚洲 | 久久精品免费一区二区三 | 国产小u女发育末成年 | 久久久久免费 | 国产精品久久久久久中文字 | av在线免费不卡 | 成人一区二区三区 | 国产成人小视频 | 国产精品久久久久久久免费观看 | 97超碰人人 | 性高湖久久久久久久久3小时 | 精品一区二区三区在线播放 | 国产成人精品a视频一区www | 久久精品成人一区 | 91pao对白在线播放 | 99久久成人| 91在线精品播放 | 美女视频网站久久 | 成在线人视频免费视频 | а_天堂中文最新版地址 | 国产视频一区在线 | 久草视频观看 | 欧美日韩国产中文字幕 | 久久精品在线播放 | 香蕉视频91 |