原创 快慢指針的常見應用

快慢指針:快慢指針是解決數組和鏈表問題的常用方法,該方法也被稱爲“龜兔算法”。從名稱就可以看出氣基本思想是使用兩個指針以不同的速度在數組或鏈表中移動。在處理循環鏈表或數組時,此方法非常有用。 快慢指針的應用: (1)判斷單鏈表是否

原创 嵌入式硬件必知道的基礎知識

硬件基礎知識總線(Bus)總線通信方式串行通信方式分類之同步、異步通信串口通信TTL、RS232和RS485簡介 總線(Bus) 總線是各種信號線得集合,是嵌入式系統中各部件之間傳送數據、地址和控制信息的公共通路。在同一時刻,每條

原创 yed工具的使用(畫流程圖)及流程圖的簡單介紹

在做項目之前,一定要畫流程圖,一個好的流程圖,可以幫你在設計代碼的時候少走彎路,對於畫流程圖,我想對於每一個程序員,是必備的技能吧,對於初次做項目的我而言,深刻的認識到了畫流程圖是如此的重要,我是用yed繪製流程圖,我將分享一下y

原创 當printf以十六進制打印char類型數組時引發的bug

以下代碼是我做項目時,遇到的問題,我將以代碼出現的問題,進行此次的總結。 代碼如下: /***********************************************************************

原创 數據庫sqlite3之 sqlite3_exec()第三個參數回調函數的使用

在寫這篇文章之前大家先了解我之前寫的關於用c語言操作sqlite3的博客,鏈接地址如下: https://blog.csdn.net/makunIT/article/details/105192076 關於sqlite3_exec

原创 Linux下的調試工具gdb的使用

文章目錄gdb的介紹gdb的常用基本命令gdb調試代碼示例 gdb的介紹 gdb是GNU開源組織發佈的一個強大的Linux下的程序調試工具。 一般來說,gdb主要幫助你完成下面四個方面的功能: 1、啓動你的程序,可以按照你的自定義

原创 Linux下的檢測工具valgrind的使用(memcheck)

Valgrind 是在linux系統下開發應用程序時用於調試內存問題的工具。它尤其擅長髮現內存管理的問題,它可以檢查程序運行時的內存泄漏問題。 文章目錄1、Valgrind的安裝2、Valgrind一 工具集介紹3、Valgrin

原创 淺談自定義通訊協議——TLV(封裝)

最近在寫一個溫度實時監控的項目,要用到TLV通訊協議,看了很多博客,慢慢的從裏面明白了TLV的實現方式及用c語言實現TLV的編碼,下面我將淺談一下TLV,在講TLV之前我們先講一下什麼是通訊協議。 文章目錄通訊協議什麼是自定義通訊

原创 Linux下的Makefile的簡單使用(簡單粗暴)

文章目錄Makefile的簡介Makefile的通用結構Mkfile的簡單示例 Makefile的簡介 Makefile 是和 make 命令一起配合使用的. 很多大型項目的編譯都是通過 Makefile 來組織的, 如果沒有 M

原创 gcc的編譯過程

文章目錄gcc的使用方法和選項gcc的編譯過程 我們在linux下寫的.c文件,編譯的時候只需要gcc xxxx.c 默認生成可執行文件a.out,其實編譯的過程要經歷四個過程,在此之前我先不講這四個過程,我先講一下,Lin

原创 snprintf()函數的使用

最近一直在寫一個小項目,要用到snprintf()函數,所以今天想寫一篇博客記錄一下 有什麼錯誤的地方還請大家指出來,謝謝! 一、snprintf()函數的原型 int snprintf(char* dest_str,size_t

原创 linux下C語言編程操作數據庫sqlite3

文章目錄1、安裝數據庫2、sqlite的相關函數2.1 sqlite3_open()2.2 sqlite_close()2.3 sqlite3_exec()2.4 sqlite3_get_table()3、代碼示例3.1 創建一個

原创 進程通信——消息隊列

文章目錄什麼是消息隊列消息隊列用到的函數消息隊列的代碼示例 什麼是消息隊列 消息隊列的概念 消息隊列(Message,簡稱MQ):消息隊列提供了一種從一個進程向另一個進程發送一個數據塊的方法。每個數據塊都被認爲是有一個類型,接收者

原创 進程通信——管道和命名管道

文章目錄管道(pipe)的概念管道的特點管道函數管道用法示例命名管道(FIFO)的概念命名管道的特點命名管道函數命名管道用法示例 管道(pipe)的概念 管道:管道是UNIX系統IPC的最古老的形式,所有的UNIX系統都提供此種通

原创 進程通信——信號量

文章目錄淺談什麼是信號量ftok()函數獲取IPC關鍵字信號量的相關函數信號量的使用代碼示例 淺談什麼是信號量 在講信號量之前,先了解兩個概念同步和互斥:一條食品生產線上,假設A、B共同完成一個食品的包裝任務,A負責將食品放到盒子