C 語言調用 Shell 命令的三種方式:system、popen、vfork+exec 實戰對比
方式一:system() —— 最簡單,但開銷大且不安全 #include <stdlib.h> int system(const char *co
Linux 下換行符 \r\n 深度解析:從終端顯示到協議解析的坑與對策
現象回顧:九個 printf 實驗 代碼輸出解析 printf(dddddd); printf(12345);無輸出無換行,行緩衝區未刷新 printf(dd
Linux 進程資源限制:getrlimit/setrlimit 與 ulimit 完全指南
核心概念:軟限制 vs 硬限制 Soft Limit (rlim_cur):內核實際強制執行的上限,進程可在 0~Hard Limit 範圍內自行調降。 Ha
C/C++ 混合編程全攻略:extern "C"、跨語言調用與構建系統實戰
核心難點:名字修飾 C++ 支援函數重載,編譯器對函數名進行 Name Mangling(如 void foo(int) → _Z3fooi);C 不修飾(通常
C 語言 AT 指令解析器:帶括號參數的輕量級字串分析實現
場景與協議格式 嵌入式模組常用 AT 指令格式:AT+CMD[param1][param2][param3],參數用方括號包裹,最多三個,每個 ≤ 20 字節,
Linux 時間函數完全手冊:獲取、轉換、設置時間的標準庫實踐
核心時間 API 概覽 函數用途關鍵點 time()獲取 Unix 時間戳(秒)參數為 NULL 時僅返回值;非 NULL 同時寫入指針 gettimeofd
C 語言實現嵌入式 Shell 命令解析器:從命令表到執行引擎
架構概覽 嵌入式 Shell 核心三步走: 定義命令表結構:命令名、處理函數指針、幫助文本。 實現各命令處理函數:help、ls、cd 等。 編寫命令行解析引
嵌入式開發板 DHCP 動態獲取 IP 兩大方案實戰
DHCP 協議速覽 DHCP(Dynamic Host Configuration Protocol)基於 UDP,主要用途: 自動分配 IP 位址、子網掩碼
Linux 多執行緒同步核心:互斥鎖與條件變量完全指南
前言 在中大型專案中,為了穩定性與調度靈活性,幾乎每個模組都會獨立一條執行緒。執行緒間的協作與資源保護,核心靠兩大同步原語——互斥鎖 與 條件變量。二者底層均基
C程式啟動代碼深度解析:從映像結構到堆棧初始化
一、映像文件的核心段結構 當可執行映像文件被載入記憶體時,其佈局可分為載入時域與運行時域兩個視角。載入時僅包含 RO(Read-Only) 與 RW(Read-
Linux 系統進程與線程限制深度解析:最大線程數、進程數與文件描述符優化指南
一、單進程最大線程數限制 在 Linux 系統中,單個進程能創建的最大線程數受 PTHREAD_THREADS_MAX 限制,該值可在 /usr/include
C 語言除錯利器:精準鎖定錯誤位置的宏技巧與實戰
專案開發中,若能瞬間定位到「哪個檔案、哪個函式、哪一行」出錯,將大幅縮減除錯時間。本文介紹利用 C 語言預處理器內建宏(__FILE__、__LINE__、__
Linux 進程間通訊深度解析:System V 消息佇列完整指南
在 Hi3515 平台上調試 Qt 與 DVR 程式時,發現它們採用消息佇列進行通訊。閒暇之餘整理了這方面的知識,發現消息佇列不僅概念清晰,在實際應用中更展現出
C 語言遊戲開發必備:Windows/Linux 光標定位與顏色控制完整指南
控制台遊戲開發需掌握光標定位、顏色設置、清屏操作。本文提供 Windows API 與 ANSI 轉義序列(Linux/macOS/現代 Windows Ter
Linux grep 命令實戰詳解:正則表達式、常用參數與場景案例
grep(Global Regular Expression Print)是 Linux 文本搜索神器。本文系統整理核心參數、正則元字符、實戰案例,並對比 gr
C 語言 sizeof 操作符深度詳解:原理、陷阱與最佳實踐
sizeof 是編譯期單目操作符(非函數),以字節為單位返回類型/表達式的存儲大小。本文系統梳理用法規則、結構體對齊陷阱、數組/指針退化差異、常見面試考點。
海量數據處理利器:C++ 實現 Bitmap 算法詳解
Bitmap(位圖)用一個 bit 標記一個元素是否存在,極大節省內存。適用於「數據範圍 ≤ 10 倍 int 範圍」的快速查找、去重、排序。本文講解原理、實現