當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 搭建Linux C語(yǔ)言開(kāi)發(fā)環(huán)境
在Linux開(kāi)發(fā)環(huán)境上學(xué)習(xí)C語(yǔ)言,對(duì)于一個(gè)從零開(kāi)始學(xué)習(xí)嵌入式的門(mén)外漢來(lái)說(shuō),是一個(gè)很好的選擇,學(xué)習(xí)了C語(yǔ)言,又熟悉了Linux 操作系統(tǒng)。
1. 開(kāi)發(fā)工具下載及安裝:
虛擬機(jī) VMware 10
下載地址:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.0-1295980.exe
Ubuntu 12.04
下載地址://releases.ubuntu.com/12.04/
VMware虛擬機(jī)上安裝在Windows中的一個(gè)虛擬電腦的軟件。因?yàn)槲覀冃枰玫絣inux的真實(shí)環(huán)境,又不能完全脫離windows的一些文件操作,再在虛擬機(jī)中安裝Ubuntu 12.04系統(tǒng)。
安裝步驟
注冊(cè)
后一步要求輸入許可證密鑰,本站提供親測(cè)可用的注冊(cè)密鑰,授權(quán)形式為批量,并且永不過(guò)期,即永久激活,注冊(cè)碼地址://www.ihacksoft.com/vmware-workstation-10-0.html
VMware Workstation 10另外一個(gè)特點(diǎn)是內(nèi)置了簡(jiǎn)體中文,
如上圖:在虛擬機(jī)上安裝了ubuntu, windows和Linux切換起來(lái)非常方便
2. GCC編譯環(huán)境的安裝
1、gcc
要進(jìn)行C語(yǔ)言編程,首先得有個(gè)C語(yǔ)言的編譯器,Linux下常用的是GNU C Compiler gcc。
比如cpp-4.1和gcc-4.1、cpp-3.3和gcc-3.4
2、cpp
gcc要進(jìn)行程序編譯,首先需要進(jìn)行一個(gè)預(yù)編譯過(guò)程。該過(guò)程對(duì)程序源代碼進(jìn)行預(yù)處理。
3、libgcc1
gcc還依賴(lài)于libgcc1這個(gè)軟件包。libgcc1是用于gcc軟件自身的必須組件。
4、libc6
C語(yǔ)言程序要能夠運(yùn)行,需要一些運(yùn)行時(shí)庫(kù)文件和一些庫(kù)文件操作命令。libc6這個(gè)軟件包就是用來(lái)提供這些的。這個(gè)軟件包幾乎是Linux系統(tǒng)自帶的,因?yàn)樗蠧程序的運(yùn)行都離不開(kāi)此軟件包。
5、binutils
程序從源代碼到可執(zhí)行程序的過(guò)程中,必然需要一些工具來(lái)輔助完成。binutils軟件包就是提供一些工具的,這個(gè)軟件包提供下面這些非常有用的命令:
6、locales
這個(gè)軟件包提供本地語(yǔ)言環(huán)境支持
雖然上面列了這么多必需的軟件包,但實(shí)際上因?yàn)樗麄冎g有依賴(lài)關(guān)系,所以在安裝完系統(tǒng)后我們只需要輸入下面一個(gè)命令:
apt-get install gcc
系統(tǒng)就會(huì)自動(dòng)幫忙把這些軟件包安裝上。
2.在Ubuntu配置VIM配置編輯環(huán)境
編譯和調(diào)試環(huán)境安裝好了,該裝編輯器了,VIM是個(gè)入門(mén)難,但用熟了會(huì)極大提高編輯效率的工具,其實(shí)入門(mén)也不算難,用一周基本長(zhǎng)常用的20%的功能就都熟悉了,老樣子用apt-get install vim安裝,裝好后運(yùn)行vim命令,確保版本是7.1以上。裝好后為了編輯方便,先啟用語(yǔ)法高亮顯示,自動(dòng)縮進(jìn),顯示行號(hào)等,用VIM編輯VIM的配置文件vim /etc/vim/vimrc,在末尾加上如下設(shè)置
1. syntax on
2. set autoindent
3. set cindent
4. set nu
先簡(jiǎn)單設(shè)置這些,以后再設(shè)置配色方案,自動(dòng)提示,文件列表等功能,VI的使用,大家可以看看VI的中文手冊(cè)
編寫(xiě)簡(jiǎn)單的C程序
我們先寫(xiě)一個(gè)統(tǒng)計(jì)字符個(gè)數(shù)的程序
然后編程程序,執(zhí)行程序
3. vi編輯器的命令
(1)強(qiáng)制退出
底行命令:
:q!
(2)打開(kāi)其他文件
底行命令:
:e 文件路徑
:e! 文件路徑 ---- 忽略修改
(3)讀取其他文件內(nèi)容到光標(biāo)所在的下一行
底行命令:
:r 文件路徑
(3)保存vi編輯器中的內(nèi)容到另外的文件
底行命令:
:w 文件路徑
(4)移動(dòng)光標(biāo)
h j k l ----- 左 下 上 右
(5)翻頁(yè)
ctrl+u ------- 向前翻半頁(yè)
ctrl+d -------- 向后翻半頁(yè)
ctrl+b ------- 向前翻一頁(yè)
ctrl+f -------- 向后翻一頁(yè)
(6)移動(dòng)光標(biāo)
^:移動(dòng)到光標(biāo)所在的行的第一個(gè)非空格字符
Home鍵:移動(dòng)到光標(biāo)所在的行的第一個(gè)字符
$/End鍵:移動(dòng)到光標(biāo)所在的行的后一個(gè)字符
w:移動(dòng)光標(biāo)到下一個(gè)單詞的首字母
b:移動(dòng)光標(biāo)到前一個(gè)單詞的首字母
e:移動(dòng)光標(biāo)到下一個(gè)單詞的尾字母
注:以上3個(gè)命令前加數(shù)字表示移動(dòng)多少個(gè)單詞
G:前面加數(shù)字移動(dòng)到指定的行,不加數(shù)字移動(dòng)到后一行
(7)設(shè)置行號(hào)
底行命令:
:set nu
(8)進(jìn)入編輯模式
A:移動(dòng)到本行末進(jìn)入編輯模式
cw:刪除光標(biāo)所在位置到所在單詞末尾的字符,進(jìn)入編輯模式
c$:刪除光標(biāo)所在位置到本行行尾的字符,進(jìn)入編輯模式
c^:刪除本行行首到光標(biāo)所在位置(不包括)的字符,進(jìn)入編輯模式
(9)編輯模式下的按鍵操作
方向鍵移動(dòng)光標(biāo)
Home鍵:移動(dòng)到本行第一個(gè)字符
End:移動(dòng)到本行后一個(gè)字符
PageUp/PageDown:向上/向下翻頁(yè)
退格鍵/del鍵:刪除光標(biāo)前一個(gè)/所在的字符
(10)刪除(剪切)命令
dw:刪除光標(biāo)到所在單詞尾的所有字符,包括單詞后的空格鍵
de:刪除光標(biāo)到所在單詞尾的所有字符,不包括單詞后的空格鍵
d$:刪除光標(biāo)到所在行行尾的所有字符,包括光標(biāo)
d^:刪除光標(biāo)所在行行首到光標(biāo)的所有字符,不包括光標(biāo)
dG:刪除光標(biāo)所在行到文件尾
dgg:刪除文件開(kāi)頭到光標(biāo)所在行
J:刪除本行的后換行符,相當(dāng)于將下一行合并到本行末尾
注:把上述命令的d改成c就會(huì)在完成操作后進(jìn)入編輯模式
(11)撤銷(xiāo)操作
u:撤銷(xiāo)上一次的操作
U:撤銷(xiāo)對(duì)當(dāng)前行的上一次操作
ctrl+r:u的反操作
(12)拷貝命令
yw:拷貝光標(biāo)到所在單詞尾的所有字符,包括單詞后的空格鍵
ye:拷貝光標(biāo)到所在單詞尾的所有字符,不包括單詞后的空格鍵
y$:拷貝光標(biāo)到所在行行尾的所有字符,包括光標(biāo)
y^:拷貝光標(biāo)所在行行首到光標(biāo)的所有字符,不包括光標(biāo)
yG:拷貝光標(biāo)所在行到文件尾
ygg:拷貝文件開(kāi)頭到光標(biāo)所在行
(13)查找文件內(nèi)容
底行命令:
/word ---------- 在文件中向下查找word內(nèi)容
?word ----------- 在文件中向上查找word內(nèi)容
n/N:定位前一個(gè)/后一個(gè)查找到的內(nèi)容
注:*可以快速查找光標(biāo)所在的單詞
查找的時(shí)候可以只查找單詞開(kāi)頭部分或者結(jié)尾部分
\
the\> ------- 以the結(jié)尾的單詞
.可以代表一個(gè)任意字符
(14)替換文件內(nèi)容
底行命令:
:s/old/new ----------- 將本行第一個(gè)old替換成new
:s/old/new/g ----------- 將本行所有old替換成new
:#,#s/old/new/g ------ 將(#,#)行所有old替換成new
:%s/old/new/g ------ 將文件中的所有old替換成new
可以在命令后加c讓用戶(hù)對(duì)每一次替換進(jìn)行確認(rèn)
(15)補(bǔ)充命令
% --------- 移動(dòng)光標(biāo)到配對(duì)的括號(hào)
. --------- 重復(fù)上一個(gè)命令
v ---------- 進(jìn)入可視模式,選擇的文本會(huì)被高亮,可以對(duì)選中的部分進(jìn)行d(剪切),y(拷貝)操作
底行命令:
:vs 路徑 ----------- 水平顯示打開(kāi)的文件
:sp 路徑 ----------- 垂直顯示打開(kāi)的文件
ctrl+ww來(lái)在不同的文件之間切換
(16)打開(kāi)多個(gè)文件的操作
vi 路徑1 路徑2 路徑3 ...........
相關(guān)底行命令
:args ------------- 顯示打開(kāi)的所有文件
:next ------------- 切換到后一個(gè)文件
:prev ------------- 切換到前一個(gè)文件
:first ------------ 切換到第一個(gè)文件
:last ------------- 切換到后一個(gè)文件
ctrl+^可以立即切換到前一個(gè)操作的文件
4.總結(jié):
其實(shí)編輯器除了用vi 還可以用gedit, dwrite, kate圖形化編輯器,自己選擇一個(gè)習(xí)慣的就行了,只是vi編輯工具在今后的終端上會(huì)經(jīng)常用到,所以一般要求掌握它的用法。