C++ 實作桌面快捷方式與開始選單建立完整教學
前言 在 Windows 應用程式開發中,安裝程式建立桌面捷徑與開始選單項目是基本功能之一。本文將詳細解析如何使用 C++ 透過 COM 介面 IShellLi
C 語言 sizeof 深度解析:類型、陣列、結構體、指標與跨平台陷阱
本質:編譯期運算子,非函數 sizeof 在編譯階段計算類型/運算式佔用位元組數,結果類型為 size_t(無號整數)。 三種語法:sizeof(type)、
編譯原理實戰:四則運算表達式詞法/語法/語義分析與組合語言代碼生成
專案概覽 完整實現一個迷你編譯器前端 + 代碼生成後端,輸入整數四則運算表達式(含括號),經歷: 詞法分析:有限狀態機 (FSM) 識別 Token 語法分析
Linux C 從零手寫 ls 命令:支援 -l -a -R -i -t -r 完整參數解析
專案目標 純 C 實現 ls 核心功能,支援組合參數: -l 長格式(權限、連結數、擁有者、大小、時間、名稱) -a 顯示隱藏檔 -i 顯示 inode 號
C 語言實作修改文字檔指定行內容(類 sed 功能)
需求場景 設定檔 cc.cfg 內容如下: wireless.1.authmode=1 wireless.1.compression=0 wireless.1
C 語言利用 switch 統計字元:數字、空白與其他
問題描述 從標準輸入讀取字串直到 EOF,統計: 各數字 0-9 出現次數 空白字元(空格、\t、\n)總數 其他字元總數 核心演算法:switch 多標
Windows 控制台程式偵測滑鼠左鍵點擊並輸出文字
需求場景 在 Windows 控制台應用程式中,即時偵測滑鼠左鍵點擊位置,並在該座標輸出「Hello World!」。適用於簡易互動式 CLI 工具、教學示範或
C 語言動態陣列操作完整實作:插入、查詢、修改、刪除與記憶體管理
前言 動態陣列是資料結構基石,也是 C 語言手動記憶體管理的最佳練習場。本文提供一個功能完整的互動式程式,涵蓋隨機初始化、指定位置插入、多重查詢、修改、刪除所有
Linux C 獲取當前進程名稱與執行路徑:/proc/self/exe 實戰範例
前言 在 Linux 系統程式開發中,守護行程、日誌系統、插件載入器常需要知道「我是誰、我在哪」。標準 C 庫無直接 API,但 Linux 提供虛擬檔案系統
C 語言實作帕斯卡三角形(楊輝三角):動態記憶體優化版完整教學
前言 帕斯卡三角形(楊輝三角)是經典演算法練習,展現二項式係數的幾何排列。本文提供一個使用動態記憶體(malloc/free)逐列計算、逐列釋放的優化版本,適合
函數指標與指標函數完全指南:複雜聲明一步步拆解
核心概念區分 函數指標:指向函數的指標,本質是指標變數。聲明形式 返回類型 (*指標名)(參數列表)。 指標函數:返回指標的函數,本質是函數。聲明形式 返回類
VC++ 6.0 經典除錯技巧全攻略:斷點、單步執行、斷言與選單操作詳解
前言 Visual C++ 6.0 雖然歷史悠久,但其除錯器架構奠定了現代 Visual Studio 除錯體驗的基礎。掌握 VC6 除錯技巧,不僅能維護舊專案
C++ 宏字串化運算子 # 在 Unicode 環境下的正確使用技巧
前言:宏字串化的基本用法 在 C/C++ 預處理器中,# 運算子(Stringizing Operator)可將巨集參數轉換為字串字面常數。這在除錯輸出、日誌記
C++ 前置聲明深度解析:解決循環依賴與避開常見陷阱
前言:為什麼需要前置聲明? 在 C++ 開發中,類之間的相互依賴是常見場景。假設類 A 需要持有類 B 的對象,而類 B 也需要持有類 A 的對象,若直接在頭文
C 與 C++ 空參數列表函式宣告差異:void vs 空括號的編譯期陷阱
核心差異一覽 宣告方式C 語言含義C++ 含義 int fun();參數未指定(可接受任意參數)等同 int fun(void),不接受任何參數 int fu
C++ 函式映射表實戰:map 與陣列替代 switch/if-else 的效能與擴充性比較
痛點:分支過多時的 switch/if-else 程式碼膨脹,維護困難。 if-else 連鎖判斷,平均 O(N) 比較次數,效能隨分支數線性下降。 新增分支
C++ sizeof 運算元深度解析:空類、虛函數、靜態成員、繼承全攻略
sizeof 三種語法形式 sizeof(expression) // 運算元為運算式,不評估運算式 sizeof type_name // 運算元為