Delphi 實作軟體試用期限制:註冊表加密存儲、試用天數倒數與防竄改機制
需求分析 軟體發布試用版需限制使用天數(如 30 天),並防止使用者竄改系統時間、刪除註冊表、重裝軟體繼續試用。 核心設計 機制實作要點
Delphi Pascal 關鍵字與保留字完整對照表(含指令、運算子、型別、結構)
分類彙總 程式結構 program, unit, library, package, uses, interface, implementation, ini
Delphi 高精度毫秒級倒計時實作:QueryPerformanceCounter 微秒計時與多媒體定時器結合
核心需求 Windows 標準 Timer 元件精度約 10-15 ms,無法滿足毫秒級顯示需求。解決方案: QueryPerformanceCounte
組合語言 cmpxchg8b 指令無效 Opcode 錯誤分析與 Pentium 處理器勘誤修正方案
錯誤現象 在 Pentium、Pentium MMX、Pentium OverDrive 處理器上,若對 cmpxchg8b 指令加上 lock 前綴,且目的操
Swift Extension 全方位指南:計算屬性、初始化器、方法、下標、嵌套類型與協定擴充實戰
Extension 能力總覽 新增計算實例/類別屬性 新增實例/類別方法 新增便利初始化器(不可新增指定初始化器或反初始化器) 新增下標
Swift 底層架構深度剖析:物件模型、虛表、Name Mangling 與 Runtime Hook 實戰
核心發現:Swift 物件 = Objective-C 物件 在 Mach-O __objc_classlist 中,Swift 類別以標準 objc_clas
Swift 型別轉換完全指南:is/as 操作符、向下轉型、Any/AnyObject 與模式匹配實戰
核心操作符 is:型別檢查,回傳 Bool。 as?:條件式向下轉型,成功回傳 Optional,失敗回傳 nil。 as!:強制向下轉型,失敗觸
Swift 函數指標底層機制與 SWRoute 動態替換實戰:從 Trampoline 到 Runtime Hook
背景:Swift 無原生函數指標 Swift 函數是「第一類值」,但編譯器不直接暴露原始位址。傳遞函數作為泛型參數時,實際傳遞的是 Trampoline(彈簧板
Swift 可選鏈完整解析:語法語意、模型層級應用、下標與方法鏈實戰
核心定義 可選鏈:在可選值上以 ? 存取屬性、呼叫方法、下標。若可選為 nil,整條鏈短路回傳 nil;否則繼續傳遞解包後的值。 基本語法對比 class P
在 macOS 終端機運行 Swift REPL 與腳本:完整指令、別名設定與除錯技巧
啟動 Swift REPL Xcode 內建 swift 執行檔位於 Toolchain 目錄。最快啟動方式: ~/.zshrc source ~/.zshr
Swift Optional 深度實踐:以類型系統消除佔位符、解決巢狀 Optional 與空合運算符模式
從 Objective-C 佔位符說起 ObjC NSDictionary 的 objectsForKeys:notFoundMarker: 需要 NSNull
Swift 手勢辨識完整實作:從 UIGestureRecognizer 子類到多點觸控協調實戰
專案架構概覽 建立 Single View App,主視圖放置 6 個 UIView 分別對應 6 種手勢:點擊、滑動、長按、縮放、旋轉、拖曳。每個視圖掛載對應
Swift 與 C 指標互操作實戰:Unsafe Pointer、記憶體佈局與安全邊界
背景:為什麼需要跟 C 指標打交道? Cocoa、Accelerate、Core Graphics 等系統框架大量使用 C 指標 API。Swift 提供 Un
Swift 泛型完整指南:從語法基礎到有序字典實戰與類型安全進階
為什麼需要泛型? 強型別語言面臨「演算法相同、型別不同」的重複程式碼問題。C++ 用模板,Java/C# 用泛型,Swift 同樣採用泛型解決:同一套邏輯、支援
Swift 自動參考計數 (ARC) 深度解析:記憶體管理、強參考循環與閉包捕獲實戰
ARC 核心機制 Swift 使用 自動參考計數 (Automatic Reference Counting, ARC) 管理類別實例的記憶體生命週期。編譯器在
Swift 值類型與引用類型:核心差異、記憶體語意與最佳選擇指南
前言:為什麼要搞懂值與引用? 在 Swift 開發中,「值類型」與「引用類型」的區分不只是學術概念,更直接關係到記憶體管理、執行緒安全、資料一致性以及效能表現。
Swift 函數完整指南:參數標籤、預設值、可變參數、Inout、泛型、函數型別與柯里化實戰
參數標籤與內部名稱 // 預設:第一參數無標籤,後續參數名即標籤 func greet(name: String, age: Int, city: Strin
Swift 二維陣列定義與遍歷實戰:語法變體、初始化模式與索引存取技巧
二維陣列宣告語法 // 方式一:型別推斷 var matrix1 = [[Int]]() // 方式二:完整泛型語法 var matrix2 = Array