關於 C 語言能夠長盛不衰的原因,人們有許多不同的看法。有人認為是因為它的語法簡潔明了,也有人認為是因為它被認為是一種實用的語言,可以在任何平台上編譯運行,而不依賴其他高級語言。 C 語言無疑是一種強大的語言,我認為它之所以能夠長盛不衰,與它作為其他技術基礎的方式密不可分。以下是我喜歡的 5 種基於 C 語言的技術,希望它們能幫助您更多地了解 C 語言。
C 語言不是物件導向程式設計的語言。它沒有 class
關鍵字。有些人用 C 進行物件導向編程,但是還有一些人堅持用 C 和 GObject 函式庫。 GObject 函式庫為 C 語言提供了一個 class
結構體,GTK 專案以提供可透過 C 存取的工具包而聞名。沒有 GTK ,就沒有 GIMP (GTK 就是為此開發的)、GNOME 和其他成千上萬流行的開源應用。
了解更多
GObject 和 GTK 是使用 C 開始進行 GUI 程式設計的絕佳方式。它們“裝備精良”,可以讓你用 C 語言進行圖形應用的編程,因為開發者為你做了許多“繁重工作”。他們定義了類別和資料類型,創建了工具包,你所要做的就是將所有東西放在一起。
#如果 GTK 超過了你的需求,你或許會認為一個終端使用者介面(terminal user interface)(TUI)更適合你。 Ncurses 庫可以在終端機創建“小部件”,創建一種在終端機視窗上繪製圖形的應用程式。你可以使用方向鍵控制介面,選擇按鈕和元素,就像不用滑鼠來使用 GUI 應用一樣。
了解更多
利用 Ncurses 函式庫使用 C 語言寫一個 猜數字🔗 opensource.com 遊戲。
Lua 是一種腳本語言,它可以使用內建的 C API 存取 C 語言庫。它十分精巧、快捷以及簡單,擁有約 30 個函數和少量內建程式庫。你可以使用 Lua 進行系統自動化、遊戲修改和腳本編寫、使用 LÖVE 之類的前端進行遊戲開發,或者使用 GTK 進行一般應用程式開發(例如 Howl 文字編輯器🔗 opensource.com)。
Lua 十分好的一點是你可以從它開始學習掌握基本的程式設計理念,然後當你有足夠勇氣直面基礎程式語言時,再探索它的 C 語言 API 。另一方面,如果你只會 Lua ,那也沒事。 Lua 有許多的 外部函式庫🔗 opensource.com ,使其成為各種開發方式的絕佳選擇。
#Lua 不是唯一有 C 介面的程式語言。 Cython🔗 cython.org 是一種編譯器和程式語言,旨在使為 Python 編寫 C 擴充功能就像編寫 Python 程式碼一樣容易。本質上,你可以寫 Python 並最終得到 C 語言程式。最簡單的範例:
print("hello world")
建立一個 setup.py
腳本:
from setuptools import setupfrom Cython.Build import cythonizesetup( ext_modules = cythonize("hello.pyx"))
執行該 setup
腳本:
$ python3 ./setup.py
最後你會在同一個目錄中得到一個 hello.c
和 hello.cpython-39-x86_64-linux-gnu.so
檔案。
Cython🔗 opensource.com 是 Python 的一個超集,支援 C 語言的函數和資料類型。它不可能幫你直接學習 C 語言,但它為希望學習 C 程式碼並將其整合到 Python 中的 Python 開發人員開闢了新的可能性。
#了解更多 C 語言的最佳方式是編寫 C 程式碼,沒有什麼比寫你可以真正使用的程式碼更令人興奮的了。 FreeDOS 專案是 DOS 的開源實現, 而 DOS 是 Windows 的前身。或許你已經用過 FreeDOS 了,或是作為運行 BIOS 更新程式的便捷開源方法,或是在模擬器中玩經典的電腦遊戲。你可以用 FreeDOS 做更多事。它是學習 C 語言的理想平台,其中包含一系列工具,鼓勵你編寫自己的命令和簡單(或不那麼簡單,如果你願意)的應用程式。當然你可以在任何系統上寫 C 程式碼,但 FreeDOS 的便利性可能會讓你感到耳目一新。天空有極限,但即使在地面上,你也可以用 C 做一些非常有趣的事情。
以上是在 Linux 上學習 C 語言的五種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!