在Linux開發環境上學習C語言,對于一個從零開始學習嵌入式的門外漢來說,是一個很好的選擇,學習了C語言,又熟悉了Linux 作業系統。
1. 開發工具下載下傳及安裝:
虛拟機 VMware 10
下載下傳位址:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.0-1295980.exe
Ubuntu 12.04
下載下傳位址:http://releases.ubuntu.com/12.04/
VMware虛拟機上安裝在Windows中的一個虛拟電腦的軟體。因為我們需要用到linux的真實環境,又不能完全脫離windows的一些檔案操作,再在虛拟機中安裝Ubuntu 12.04系統。
安裝步驟
注冊
後一步要求輸入許可證密鑰,本站提供親測可用的注冊密鑰,授權形式為批量,并且永不過期,即永久激活,注冊碼位址:http://www.ihacksoft.com/vmware-workstation-10-0.html
VMware Workstation 10另外一個特點是内置了簡體中文,
如上圖:在虛拟機上安裝了ubuntu, windows和Linux切換起來非常友善
2. GCC編譯環境的安裝
1、gcc
要進行C語言程式設計,首先得有個C語言的編譯器,Linux下常用的是GNU C Compiler gcc。
比如cpp-4.1和gcc-4.1、cpp-3.3和gcc-3.4
2、cpp
gcc要進行程式編譯,首先需要進行一個預編譯過程。該過程對程式源代碼進行預處理。
3、libgcc1
gcc還依賴于libgcc1這個軟體包。libgcc1是用于gcc軟體自身的必須元件。
4、libc6
C語言程式要能夠運作,需要一些運作時庫檔案和一些庫檔案操作指令。libc6這個軟體包就是用來提供這些的。這個軟體包幾乎是Linux系統自帶的,因為所有C程式的運作都離不開此軟體包。
5、binutils
程式從源代碼到可執行程式的過程中,必然需要一些工具來輔助完成。binutils軟體包就是提供一些工具的,這個軟體包提供下面這些非常有用的指令:
6、locales
這個軟體包提供本地語言環境支援
雖然上面列了這麼多必需的軟體包,但實際上因為他們之間有依賴關系,是以在安裝完系統後我們隻需要輸入下面一個指令:
apt-get install gcc
系統就會自動幫忙把這些軟體包安裝上。
2.在Ubuntu配置VIM配置編輯環境
編譯和調試環境安裝好了,該裝編輯器了,VIM是個入門難,但用熟了會極大提高編輯效率的工具,其實入門也不算難,用一周基本長常用的20%的功能就都熟悉了,老樣子用apt-get install vim安裝,裝好後運作vim指令,確定版本是7.1以上。裝好後為了編輯友善,先啟用文法高亮顯示,自動縮進,顯示行号等,用VIM編輯VIM的配置檔案vim /etc/vim/vimrc,在末尾加上如下設定
嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和内容,導緻工資要不上去!
無償分享大家一個資料包,差不多150多G。裡面學習内容、面經、項目都比較新也比較全!某魚上買估計至少要好幾十。加微信領取資料
1. syntax on
2. set autoindent
3. set cindent
4. set nu
先簡單設定這些,以後再設定配色方案,自動提示,檔案清單等功能,VI的使用,大家可以看看VI的中文手冊
編寫簡單的C程式
我們先寫一個統計字元個數的程式
然後程式設計程式,執行程式
3. vi編輯器的指令
(1)強制退出
底行指令:
:q!
(2)打開其他檔案
底行指令:
:e 檔案路徑
:e! 檔案路徑 ---- 忽略修改
(3)讀取其他檔案内容到光标所在的下一行
底行指令:
:r 檔案路徑
(3)儲存vi編輯器中的内容到另外的檔案
底行指令:
:w 檔案路徑
(4)移動光标
h j k l ----- 左 下 上 右
(5)翻頁
ctrl+u ------- 向前翻半頁
ctrl+d -------- 向後翻半頁
ctrl+b ------- 向前翻一頁
ctrl+f -------- 向後翻一頁
(6)移動光标
^:移動到光标所在的行的第一個非空格字元
Home鍵:移動到光标所在的行的第一個字元
$/End鍵:移動到光标所在的行的後一個字元
w:移動光标到下一個單詞的首字母
b:移動光标到前一個單詞的首字母
e:移動光标到下一個單詞的尾字母
注:以上3個指令前加數字表示移動多少個單詞
G:前面加數字移動到指定的行,不加數字移動到後一行
(7)設定行号
底行指令:
:set nu
(8)進入編輯模式
A:移動到本行末進入編輯模式
cw:删除光标所在位置到所在單詞末尾的字元,進入編輯模式
c$:删除光标所在位置到本行行尾的字元,進入編輯模式
c^:删除本行行首到光标所在位置(不包括)的字元,進入編輯模式
(9)編輯模式下的按鍵操作
方向鍵移動光标
Home鍵:移動到本行第一個字元
End:移動到本行後一個字元
PageUp/PageDown:向上/向下翻頁
倒退鍵/del鍵:删除光标前一個/所在的字元
(10)删除(剪切)指令
dw:删除光标到所在單詞尾的所有字元,包括單詞後的空格鍵
de:删除光标到所在單詞尾的所有字元,不包括單詞後的空格鍵
d$:删除光标到所在行行尾的所有字元,包括光标
d^:删除光标所在行行首到光标的所有字元,不包括光标
dG:删除光标所在行到檔案尾
dgg:删除檔案開頭到光标所在行
J:删除本行的後換行符,相當于将下一行合并到本行末尾
注:把上述指令的d改成c就會在完成操作後進入編輯模式
(11)撤銷操作
u:撤銷上一次的操作
U:撤銷對目前行的上一次操作
ctrl+r:u的反操作
(12)拷貝指令
yw:拷貝光标到所在單詞尾的所有字元,包括單詞後的空格鍵
ye:拷貝光标到所在單詞尾的所有字元,不包括單詞後的空格鍵
y$:拷貝光标到所在行行尾的所有字元,包括光标
y^:拷貝光标所在行行首到光标的所有字元,不包括光标
yG:拷貝光标所在行到檔案尾
ygg:拷貝檔案開頭到光标所在行
(13)查找檔案内容
底行指令:
/word ---------- 在檔案中向下查找word内容
?word ----------- 在檔案中向上查找word内容
n/N:定位前一個/後一個查找到的内容
注:*可以快速查找光标所在的單詞
查找的時候可以隻查找單詞開頭部分或者結尾部分
\
the\> ------- 以the結尾的單詞
.可以代表一個任意字元
(14)替換檔案内容
底行指令:
:s/old/new ----------- 将本行第一個old替換成new
:s/old/new/g ----------- 将本行所有old替換成new
:#,#s/old/new/g ------ 将(#,#)行所有old替換成new
:%s/old/new/g ------ 将檔案中的所有old替換成new
可以在指令後加c讓使用者對每一次替換進行确認
(15)補充指令
% --------- 移動光标到配對的括号
. --------- 重複上一個指令
v ---------- 進入可視模式,選擇的文本會被高亮,可以對選中的部分進行d(剪切),y(拷貝)操作
底行指令:
:vs 路徑 ----------- 水準顯示打開的檔案
:sp 路徑 ----------- 垂直顯示打開的檔案
ctrl+ww來在不同的檔案之間切換
(16)打開多個檔案的操作
vi 路徑1 路徑2 路徑3 ...........
相關底行指令
:args ------------- 顯示打開的所有檔案
:next ------------- 切換到後一個檔案
:prev ------------- 切換到前一個檔案
:first ------------ 切換到第一個檔案
:last ------------- 切換到後一個檔案
ctrl+^可以立即切換到前一個操作的檔案
4.總結:
其實編輯器除了用vi 還可以用gedit, dwrite, kate圖形化編輯器,自己選擇一個習慣的就行了,隻是vi編輯工具在今後的終端上會經常用到,是以一般要求掌握它的用法。