Linux 核心原始程式碼中,許多地方出現紅黑樹的蹤影,例如 hr_timer 使用紅黑樹來記錄計時器 (timer) 端發出的要求、ext3 檔案系統使用紅黑樹來追蹤目錄內容變更,以及 CFS (Completely Fair Scheduler) CPU 排程器,由於需要頻繁地插入跟移除節點 (任務),因此開發者選擇用紅黑樹 (搭配一些效能調整)。VMA(Virtual Memory Area)也用紅黑樹來紀錄追蹤頁面 (page) 變更,因為後者不免存在頻繁的讀取 VMA 結構,如 page fault 和 mmap 等操作,且當大量的已映射 (mapped) 區域時存在時,若要尋找某個特定的虛擬記憶體地址,鏈結串列 (linked list) 的走訪成本過高,因此需要一種資料結構以提供更有效率的尋找,於是紅黑樹就可勝任。
7/26/2024Qt 是由 Trolltech 公司(現為 Qt Group)開發的一個跨平台程式開發框架。在 X 底下,Qt 可以被視為一套功能完整的使用者介面(UI)工具包,採用類似 C++ 的語法,並具備物件導向的特性。Qt 的跨平台特性使得使用 Qt 撰寫的軟體只需編寫一次程式碼,便可在 Microsoft Windows 95/98/2000、Microsoft Windows NT、MacOS X、Linux、Solaris、HP-UX、Tru64(Digital UNIX)、Irix、FreeBSD、BSD/OS、SCO 和 AIX 等多種平台上執行。雖然 Qt 是商業公司的產品,但它走的是開放原始碼的路線,並遵循同樣的遊戲規則。除了提供免費下載外,全部原始碼皆開放,非商業用途則採用 GPL 的版權宣告。著名的開放原始碼專案 KDE 便是使用 Qt 開發的。
7/25/2024安裝與設定
7/25/2024複習數值系統,從應用案例引導學員掌握 bitwise 操作,從而邁向專業的程式開發
7/24/2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up