原创 步步學GDB-《2》

GDB的命令概貌啓動gdb後,就你被帶入gdb的調試環境中,就可以使用gdb的命令開始調試程序了,gdb的命令可以使用help命令來查看,如下所示:    /home/hchen> gdb    GNU gdb 5.1.1    Copy

原创 14.system/WIFEXITED/WEXITSTATUS函數-linux

system:感性認識:systerm兩層含義:1、正確退出後。還需要再判斷,操作成功或者操作失敗。2、錯誤退出。[cpp] view plain copy#include <stdio.h>    #include <stdlib.h>

原创 17.arm架構的異常與中斷

注:以下內容學習於韋東山老師arm裸機第一期視頻教程 一.arm架構的異常與中斷的處理    1.1 ARM對異常的處理流程         1.1.1 軟件初始化             a. 設置中斷源,讓他可以產生中斷      

原创 10.MQTT源碼交叉編譯與移植

基於MQTT源碼的嵌入式LINUX移植,網上可參看資料幾乎沒有,估計是用的不多,沒什麼人弄,又或者太簡單,沒人寫參考。這裏記錄下編譯與移植過程。大致有三部分,交叉編譯openssl、交叉編譯MQTT、安裝MQTT服務器。1 交叉編譯OPE

原创 2.步步學GDB-基本命令

一:列文件清單 1. List (gdb) list line1,line2 二:執行程序 要想運行準備調試的程序,可使用run命令,在它後面可以跟隨發給該程序的任何參數,包括標準輸入和標準輸出說明符(<和>)和外殼通配符(*、?、[、]

原创 2.MQTT再學習 -- 搭建MQTT服務器及測試

最近在搞 PM2.5 採集,需要用到 MQTT 傳輸協議。協議部分看了幾天的,講的七七八八。本身在 intel 上有 寫好的MQTT 的源碼,現在的工作其實也就是移植到單片機上或者DM368板卡上。不過,對於之前沒有接觸過的我來說,還是從

原创 步步學GDB-基本命令簡寫

命令解釋示例file <文件名>加載被調試的可執行程序文件。因爲一般都在被調試程序所在目錄下執行GDB,因而文本名不需要帶路徑。(gdb) file gdb-samplerRun的簡寫,運行被調試的程序。如果此前沒有下過斷點,則執行完整個

原创 3.MQTT再學習 -- 安裝MQTT客戶端及測試

上一篇文章我們已經講了 MQTT 服務器的搭建,參看:MQTT再學習 -- 搭建MQTT服務器及測試接下來我們看一下 MQTT 客戶端。一、客戶端下載首先,客戶端也有多種,我們需要面臨選擇了。參看:基於mqtt的消息推送(三)客戶端實現現

原创 步步學GDB-《3》

四、維護停止點上面說了如何設置程序的停止點,GDB中的停止點也就是上述的三類。在GDB中,如果你覺得已定義好的停止點沒有用了,你可以使用delete、clear、disable、enable這幾個命令來進行維護。    clear    

原创 1.步步學GDB-《1》

GDB開題GDB是一個強大的命令行調試工具。大家知道命令行的強大就是在於,其可以形成執行序列,形成腳本。UNIX下的軟件全是命令行的,這給程序開發提代供了極大的便利,命令行軟件的優勢在於,它們可以非常容易的集成在一起,使用幾個簡單的已有工

原创 9.tcp設置超時檢測和檢測網線是否斷開

使用在客戶端中 //設置超時時間 struct timeval timeout = {5, 0}; err = setsockopt(this->sock_client,SOL_SOCKET, SO_SNDTIMEO,(const

原创 1.MQTT再學習 -- 漫談MQTT協議

MQTT 服務器搭建我們已經完成了,現在回過頭來看協議。參看:MQTT 官網參看:MQTT_V3.1_Protocol_Specific參看:MQTT協議中文版參看:MQTT協議中文版上面這幾篇文章,已經說明了一切。下面着重講一下 MQT

原创 1.linux自實現printf

#include <stdio.h> #include <stdarg.h> /* 使用va_list、va_start等必須包含的頭文件 */ #include <string.h> #include <math.h> /* l

原创 CURL的學習

https://curl.haxx.se/libcurl/c/libcurl-tutorial.html

原创 15.TCP長連接與短連接、心跳機制

轉自: 1. TCP連接 當網絡通信時採用TCP協議時,在真正的讀寫操作之前,server與client之間必須建立一個連接,當讀寫操作完成後,雙方不再需要這個連接時它們可以釋放這個連接,連接的建立是需要三次握手的,而釋放則需要4次握手,