如何搭建Linux C語言開發環境
在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,在末尾加上如下設置
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編輯工具在今后的終端上會經常用到,所以一般要求掌握它的用法。
- 已贊