宣告:本文內容為本人學習嵌入式linux所遇問題後,將自己所理解的注意事項作出總結,以便日後學習,如有錯誤,請大神能予以指出,小弟不勝感激!
環境:vmware-workstation-full-10.0.4-2249910 和 ubuntu 12.04
此文件為我自己學習嵌入式c時,所學到的一些東西,前面有一部分並非c知識,但對於在linux下程式設計,熟悉其基本操作還是很有必要的。
1、開啟終端 ctrl + alt + t
2、活動視窗切換 alt + tab
3、進入ubuntu後,分為使用者模式和root模式
1)使用者模式登入,使用者目錄在/home目錄下;
2)root模式登入,root使用者的目錄在根目錄下;
4、cd 表示切換工作目錄,cd命令的預設路徑是當前使用者目錄;
1、使用者模式
2、root模式
5、& 後台執行 gedit main.c & 後台執行編輯程式,對於程式除錯編譯時,比較方便,不需要隨時關閉編輯器,就可以使用terminal;
6、man的使用
1)作用
linux的man手冊很強大,該手冊分成很多section,使用man時可以指定不同的section來瀏覽,很是強大。(小弟初學,一直不是很明白各個版本之間的區別)
2)使用方法
在shell中輸入 man+數字+命令/函式 即可以查到相關的命令和函式。若不加數字,那linux man命令預設從數字較小的手冊中尋找相關命令和函式。(初學的我個人覺得最主要是用於使用man來了解某個庫函式的標頭檔案,以及使用方法等,非常方便)
舉例:man 2 關鍵字
man 3 關鍵字
還有,如果想顯示1-9所有section,我們可以這樣做:
man -a 查詢的關鍵字
每顯示完乙個section按q鍵進入下乙個section 如想直接跳出,按: ctrl + z
7、在計算機內部,所有的資料、影象等資訊全部需要轉換成0/1的資料進行儲存;
8、變數:就是描述一片記憶體空間,即在記憶體中申請特定型別的記憶體空間存放相應型別的值;
特徵:1)記憶體的組織方式 (唯一的編號,即位址,也叫指標)(0-2^32-1 根據實際情況確定大小)
2)大小(每種型別所佔的大小)
3)解釋(型別)
9、定義變數,就要涉及到型別的問題:
基本資料型別大致可以分為三類:整數 和 實數 和 空型別
1)整數型別:short, int, long, long long,char (unsigned, signed)
//不同的計算機的體系結構中所佔位元數有可能不同;
2)實數型別(浮點型別):float (32bit), double (64bit)
//實數不區分un/sngned ,都是有符號數 ,不同的計算機的體系結構中所佔位元數固定;
3)void
//空型別並非無型別,它本身也是一種資料結構,常用在資料型別的轉換和引數傳遞的過程中;
10、unsigned 和 signed 整數的有符號與無符號不能相同表示,在嵌入式開發中,經常會考慮可移植性問題,字元的有符號表示和無符號表示區別較大,一般採用,把儲存於int型別的變數的值限制在signed 和 unsigned int的交際中,這樣可以獲得最大程度的可移植性,又不犧牲效率。(書上看到的)
11、sizeof 長度運算子
sizeof 是乙個使用頻率極高的操作符,若運算物件為變數,則是求變數占用記憶體空間的位元組數;若運算物件為資料型別,則求資料型別佔記憶體空間的位元組數;
sizeof與strlen的區別:
1)用sizeof來返回型別以及靜態分配的物件、結構或陣列所佔的空間,返回值跟物件、結構、陣列所儲存的內容沒有關係。獲得保證能容納實現所建立的最大物件的位元組大小;
sizeof返回定義arr陣列時,編譯器為其分配的陣列空間大小,不關心裡面存了多少資料。
2)strlen:返回字串的長度。該字串可能是自己定義的,也可能是記憶體中隨機的,該函式實際完成的功能是從代表該字串的第乙個位址開始遍歷,直到遇到結束符'\0'。返回的長度大小不包括'\0'。
strlen只關心儲存的資料內容,不關心空間的大小和型別。
嵌入式C語言學習(二)
c語音基礎 1.函式 形參與實參 函式呼叫 區域性變數和全域性變數 extern 動態儲存變數和靜態儲存變數 static 內部函式 定義加static 和外部函式 定義和使用時加extern 2.預編譯處理 2.1巨集定義 define 識別符號 字串 巨集名用大寫 巨集定義不是語句,不加分號 巨...
19 9 21 嵌入式C語言學習
準備再深入學習c語言為了更好的了解嵌入式程式設計 為後續的深入學習打下基礎,目前就自己感覺而言linux的學習不是走一條線,而是多線並進。c語言的學習的是必須掌握的,經常做題已經對裡面程式設計語法的熟悉 linux是作業系統的學習,了解其內部的執行原理,核心,以及一些命令的使用 要一直走在學習的路上...
嵌入式C語言 學習筆記
一 位運算 符號運算規則 與 兩個位都為1時,結果才為1 從真假方面看,只有當兩個位都為真時,結果才為真 或 兩個位都為0時,結果才為0 從真假方面看,如果兩個運算物件中相應的乙個位為真或者兩個位都為真,那麼結果為真 異或 兩個位相同為0,相異為1 從真假方面看,如果兩個運算物件中相應的乙個位為真且...