可配置語法分析器開發紀事(六):構造真正可用的狀態機(下)
右遞歸處理 上文已處理左遞歸,本文解決右遞歸。右遞歸產生 reduce 循環(左遞歸是 shift 循環)。 狀態機構造回顧 非終結符引用通過 shift/
printf 在 Windows 和 Linux 下打印 long long / _int64
格式化字符串差異 環境類型格式符 Windows (MSVC)__int64%I64d Linux (GCC)long long%lld MSVC 6.0
Linux 不同環境下 C/C++ 程序移植方法
問題現象 開發機 GCC/GLIBC 版本高,線上環境低,編譯出的可執行文件報錯: /usr/lib64/libstdc++.so.6: version `G
TCP 連接探測:Keepalive 與心跳包對比
問題背景 TCP 連接空閒時,一方異常斷電、斷網、路由故障,另一方無法感知,除非發送數據才收到錯誤。需及時檢測失效連接並優雅清理。 兩種方案 1. TCP K
Linux 下 C/C++ 程序調試:段錯誤定位方法總結
段錯誤成因 訪問非法內存:空指針解引用、數組越界、釋放後使用、棧溢出等。CPU 檢測到保護異常發送 SIGSEGV 信號,默認處理為終止進程並生成 core 文
C/C++ 中的字符串模糊匹配:fnmatch 實戰
需求場景 准入授權配置採用 company|product|sys 格式,支持通配符 *: sina|weibo|pusher 精確匹配 sina|*|pus
C++ 實現類似 Common Lisp 的多參數加法與比較
靈感來源 Common Lisp 支持 (+ 1 2 3) 返回 6,(< 1 2 3) 返回 T。C++11 變參模板可實現類似功能。 實現代碼 #i