原创 C語言學習總結(二)——GCC和GDB

一、GCC是什麼 GCC是什麼,GCC是一個軟件,GNU編譯器套件(GNU Compiler Collection),最初由GNU組織爲C語言開發,之後發展爲一個套件。 二、GCC編譯過程 1、預處理 預處理的過程是編譯器去將頭

原创 C語言學習總結(三)——C語言的基本語法

一、C語言的關鍵字 C語言的關鍵字是一些編譯器預先定義的具有一定具體含義的字符串。關鍵字共有32個,分爲五大類: 1. 基本數據類型——(9個) 關鍵字 含義 char 軟件操作的最小數據單元 8bit int

原创 system 調用 Qt 程序的問題

system 調用 Qt 程序的問題 在公司做了一個嵌入式系統的引導程序,進程在系統開始後自啓動(這裏使用的是 rc.local 添加啓動項的方法),隨後按照相應的順序依次啓動相應的程序,之前一直沒有出現什麼問題,直到增加了一個啓

原创 C語言學習總結(一)——開篇

開篇 怎麼去開始這個話題,我想從C語言的特性說起,其實,在剛剛開始進入嵌入式領域的時候,我就經常在想,爲什麼是C語言? C語言的獨特性在哪裏? 我已經聽過太多關於“C語言可以操作底層”,“C語言的指針是其它語言所不具備的”,“

原创 在windows下打出tar.gz的嘗試

作爲一名嵌入式開發人員,Linux是必須使用的,但是不可避免的有些時候手頭上沒有裝有Linux的電腦,或者不想去打開虛擬機。尤其是當你僅僅只是需要打個tar包的時候。這時候當然你可以使用7z的桌面版程序,就可以解決這種簡單的需求。

原创 環境變量總結

環境變量是什麼: 環境變量是操作系統中指定操作系統或者應用程序運行的一些參數,可以看作是系統的全局變量。可以分爲系統級變量和用戶級變量。 當要求系統運行一個程序卻沒有指定完整的路徑時,首先會在當前目錄下尋找相應的可執行文件,當沒

原创 Linux學習總結(八)——線程

進程,它是資源分配的最小單位,進程中的事情需要按照一定的順序逐個進行,那麼:如何讓一個進程中的一些事情同時執行? 這時候就需要使用線程。線程,有時又稱輕量級進程,它是 程序執行的最小單位,系統獨立調度和分派 cpu 的基本單位,它是進程中

原创 Linux驅動開發(四)——I/O操作

對於 Linux 設備來說,設備是當作文件來處理的。所以,很多設備的 I/O 操作都是很重要的一個部分。這篇博客總結了 Linux 驅動開發中 I/O 相關的一些內容。包含阻塞和非阻塞 I/O 、I/O 輪詢、異步 I/O 等。 一、

原创 Linux驅動開發(七)——設備驅動模型

設備驅動模型提供了硬件的抽象,內核使用這樣的抽象可以完成很多硬件重複的工作,這些抽象工作包括幾個部分: 電源管理 設備驅動模型使電源管理子系統可以以正確的順序遍歷系統上的設備。 熱插拔設備 設備驅動模型自動捕捉插拔信號,加載驅動程序

原创 Google C++ Style Guide

最近把 Google C++ Style Guide 從頭到尾看了一遍,把相應的內容記錄在這裏,也規範下以後自己的代碼。 Header Files 通常每一個 .cpp 文件都應該有一個對應的 .h 頭文件,對於一個頭文件來說(

原创 Linux學習總結(五)——高級I/O

高級I/O包含了很多內容,本篇會首先解釋下幾個相關的概念:阻塞、非阻塞、同步、異步等的概念;接着介紹下 Linux I/O 操作的具體過程;最後討論下多路複用、記錄鎖等幾個相關函數。 一、概念說明 Linux 的每個進程都是擁有自己的

原创 C語言學習總結(四)——數據結構

程序 = 數據結構 + 算法。 當我們需要解決一個計算機問題,大致的步驟是這樣的: 1. 從一個具體的問題抽象出一個適當的數學模型 2. 設計一個解決這個模型的算法 3. 編寫相應的程序,測試、調整直到得到最終解答。 所以:數據

原创 《程序員的修煉之道》讀書筆記

最近看了《程序員的修煉之道-從小工到專家》,裏面講的是怎樣成爲一個注重實效的程序員。講的是程序員,但是其實中間的很多道理作爲一個職場人來說,都是適用的。因爲最近看得個人管理方面的書籍比較多,還是按照很多大師經常提到的道、術、器、用四個字來

原创 Linux學習總結(九)——網絡編程

網絡編程離不開的基礎是網絡體系結構,通常說的是 OSI協議參考模型,它是一個七層網絡協議模型。而我們通常使用的 Internet 是基於 TCP/IP 協議的,TCP/IP 協議是 OSI 協議的一個4層簡化模型,他們之間的對應關係如下圖

原创 Linux驅動開發(三)——併發控制

併發的定義是:多個執行單元同時、並行的執行。併發會導致競態:併發的執行單元對共享資源的訪問。以下幾種情況會發生競態: 對稱多處理器(SMP)的多個 CPU。 單個 CPU 內部的多個進程。 中斷與進程之間。 解決競態的途徑是保證對共享