C++ 基礎 Day 2:流程控制語句完整速查
條件判斷 if (condition) { ... } else if (condition) { ... } else { ... } switch (ex
C++ 基礎 Day 3:函式設計與遞迴、多載、傳值傳址
自訂函式三大優勢 可讀性:將複雜邏輯封裝為有意義的名稱。 可維護性:修改集中在單一位置。 程式碼重用:避免重複撰寫相同邏輯。 函式宣告與定義 int ra
C++ 基礎 Day 4:陣列與字串核心觀念
陣列 固定數量、相同型別元素,在記憶體中連續儲存。 必須初始化,否則值不可預期。 函式參數傳遞時退化為指標(按參考傳遞),不會複製整個陣列。 多維陣列對程式設
Windows掃雷外掛原理分析:進程內存讀寫實現自動標記
掃雷外掛程式碼解析 本文分析一款經典的 Windows 掃雷外掛原理,其核心思路是通過 Windows API 讀寫掃雷進程內存,將未點擊的格子強制標記為「旗幟
POJ 2115 C Looooops:線性同餘方程求最小正整數解
題目轉化 給定 a, b, c, k,求最小正整數 x 滿足: c * x ≡ b - a (mod 2^k) 即解線性同餘方程 ax ≡ b (mod n),
Windows 程式設計入門(八):親手編譯 CRT 原始碼完整流程
前置準備 確認 nmake 可用(參考第 2 篇)。 從 VC6 安裝媒體複製 3 個檔案至 VC98\CRT\SRC:MAKEFILE、MAKEFILE.I
C 語言指標進階:函式指標、回呼與邏輯演算法分離
回傳指標的函式 語法:型別 *函式名(參數表)。例:int* func(int x, int y) 回傳指向 int 的指標。注意 * 僅修飾回傳型別,非函式名
C 語言指標進階:指標陣列與字串管理實戰
指標陣列定義 陣列元素皆為指標型別,稱為指標陣列。語法:型別 *陣列名[常數運算式]。例:int *x[10] 為 10 個指向 int 的指標陣列。32 位元
C 語言指標進階(一):指向指標的指標(二級指標)詳解
什麼是二級指標? 指標儲存記憶體位址。指標變數本身佔用記憶體,因此也有自己的位址。若有一個指標變數儲存另一個指標變數的位址,它就是「指向指標的指標」,即二級指標
Windows 程式設計入門(七):完全不依賴 CRT 的最小程式
前提回顧 自訂入口點可行,但若使用 CRT 函式(如 printf)卻未執行 CRT 初始化,執行期會崩潰。 CRT 也是微軟撰寫的程式庫,理論上可被替換或繞
Windows 程式設計入門(六):更換入口點與連結器錯誤深度剖析
案例:將 main 改為 myentry #include <stdio.h> int myentry() { printf(hello
Windows 程式設計入門(五):自訂入口點導致的執行期崩潰分析
實驗:將入口點強制設為 main 在 VC6 專案屬性 → Link →「Entry-point symbol」填入 main,或命令列 link /entry
Windows 程式設計入門(四):從 libc.lib 看 CRT 靜態單執行緒庫原始碼
C 執行期庫(CRT)版本總覽 VC6 提供 6 種 CRT 組合:單/多執行緒 × 靜態/動態連結 × Debug/Release。對應的 .lib 檔案與
Windows 程式設計入門(三):hello.c 的疑惑與 CL 編譯器深度解析
從 CL.EXE 開始抽絲剝繭 上一篇拋出的六個問題,本文將從 hello.c 編譯產生 hello.exe 的過程切入,層層剖析。核心工具是 CL.EXE——
程式碼高爾夫挑戰:單行文字處理,極致精簡
挑戰規則 將 1.txt 內容依「|」分隔,分別輸出到「身份證.txt」、「金額.txt」、「代號.txt」三個檔案。 為公平起見,程式碼必須寫成單行(以檔案
Windows 程式設計入門(二):脫離 IDE,掌握命令列編譯環境
為什麼要拋棄 IDE? 若想深入理解程式碼的每一個細節,脫離整合開發環境(IDE)是最好的方式。當你不再依賴 Visual Studio 等工具自動產生專案檔、
Windows 靜態庫分析:使用 lib.exe 列出 LIBC.LIB 包含的 OBJ 模塊
背景:.lib 文件本質 靜態庫 = 多個 .obj 目標文件的歸檔包(類比 Linux .a)。鏈接器按需提取其中的 OBJ 解決符號引用。 工具:Micr