原创 sscanf函數講解

#include<stdio.h>  定義函數 int sscanf (const char *str,const char * format,........);  sscanf()會將參數str的字符串根據參數format字符串來轉換

原创 契約式編程與防禦式編程

背景 事情的來由還要從幾十幾億年前的一次星球大爆炸說起,sorry,背錯臺詞了,是從幾天前討論接口返回數據和幾個月前討論課件本地數據結構說起,簡單的說,就是碰到約定好的內容出現異常,是我們在程序中內部作兼容處理,還是拋出去。 打個比

原创 FTP協議講解

FTP 概述 文件傳輸協議(FTP)作爲網絡共享文件的傳輸協議,在網絡應用軟件中具有廣泛的應用。FTP的目標是提高文件的共享性和可靠高效地傳送數據。 在傳輸文件時,FTP 客戶端程序先與服務器建立連接,然後向服務器發送命令。服務器收

原创 linux 下串口編程VTIME和VMIN的設置

1、串口的配置: struct termios options;  // 串口配置結構體tcgetattr(fd,&options); //獲取當前設置bzero(&options,sizeof(options));options.c_c

原创 Makefile基礎講解

1、makefile基本語法 在Makefile中我們經常看到 = := ?= +=這幾個賦值運算符,那麼他們有什麼區別呢?我們來做個簡單的實驗 新建一個Makefile,內容爲: ifdef DEFINE_VRE     VRE =

原创 Linux 線程同步方法:互斥鎖

1、互斥鎖出現的原因 在單線程條件下,由於對數據操作,在同樣的時間下,只有一個線程來操作。所以不用擔心數據的同步問題。現代的操作系統,大都提供併發機制,雖然有時候是表面的併發。在Linux中,併發用的最多的是基於線程的併發,進程的代價太高

原创 gdb和gdbserver的介紹與anzhuang

一、 就目前而言,嵌入式 Linux系統中,主要有三種遠程調試方法,分別適用於不同場合的調試工作:用ROM Monitor調試目標機程序、用KGDB調試系統內核和用gdbserver調試用戶空間程序。這三種調試方法的區別主要在於,目標機