如何搭建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编辑工具在今后的终端上会经常用到,所以一般要求掌握它的用法。


the end

评论(0)