linux下的C开发3,如何在windows中写 linux 代码

上一节,我们一起讨论了既然选择入行嵌入式开发,就应该习惯 linux 的命令式操作方式,虽然一开始可能会觉得比较难受,但是时间长了,自然而然的就适应 linux了。 就算是嵌入式高手,也是从零开始接触 linux 的。

以后在 linux 下进行 C语言开发时,小编决定全部使用命令式操作。不过,一些朋友实在无法一下子适应这种操作方式,脱离了鼠标,可能连C语言代码都不知道怎么写了。考虑到这种情况,本节介绍一种在 windows 中修改 linux 中代码的方式,这样一来,我们也可以在 windows 中写代码,但是代码会自动同步到 linux 中。

安装 vmware tools

首先,我们需要安装 vmware 提供的工具:

点击后,会弹出这个界面,可以看出 vmwaretools 已经下载好了。

然后我们右键,打开终端,输入

$ mkdir ~/Desktop/VMwareTools
$ sudo cp VMwareTools-10.1.6-5214329.tar.gz ~/Desktop/VMwareTools

mkdir 命令在~/Desktop 目录,也就是桌面新建了一个 VMwareTools 文件夹,前面的 sudo 是以超级权限执行的意思。cp 命令可以把 VMwareTools 压缩包拷贝到 VMwareTools 文件夹。

VMwareTools 工具名字比较长,不过 linux 中输入命令时按 tab 键可以自动补全。所以输入 tar xf VMw 按一下 tab 试试,会发现 linux 自动就把文件名补全了。

然后我们使用 cd 命令切换到桌面目录:

$ cd ~/Desktop/VMwareTools
$ tar VMwareTools-10.1.6-5214329.tar.gz

tar 命令可以把 vmwareTools 压缩包解压,然后我们进入解压后的 VMwareTools 文件夹,执行安装命令:

$ cd vmware-tools-distrib/
$ ./vmware-install.pl

中间可能需要很多设置项,可以按很多次回车键默认安装。最终成功安装后,会有如下提示信息:

设置共享目录

可以为 windows 和运行在虚拟机里的 ubuntu 设置一个公共的共享文件夹,这样一来就可以实现文件内容同步,我们就能够在 windows 下写代码,它会自动同步到 ubuntu 中去。设置共享目录的步骤如下:

首先,我们在 windows 中新建一个文件夹:

依次点击 vmware 的

虚拟机 -> 设置 -> 
选项 -> 共享文件夹 -> 
总是启用 -> 添加 ->下一步


然后选择刚才新建的文件夹,点击下一步完成。

现在,我们在 ubuntu 中查看 /mnt/hgfs 里的文件,发现我们共享的文件夹已经在其中了:

在 windows 中写 linux 的 C语言代码

我们进入该目录,新建一个文件:

$ cd /mnt/hgfs/vmware_share
$ touch test.c

别忘了按 tab 自动补全哦。我们使用 ubuntu 在 vmware_share 文件夹里新建了 test.c 文件,现在回到 windows 的 vmware_share 文件夹,可以看到 test.c 确实被同步过来了。

现在,我们在 windows 中的 vmware_share 文件夹里新建一个 hello.c 文件,并且在里面写入:

#include <stdio.h>
int main()
{
    printf("hello embedTime\n");
    return 0;
}

然后我们再回到 ubuntu,输入 gcc 命令编译 hello.c 并执行:

$ gcc hello.c
$ ./a.out
hello embedTime

这样,我们就能够在 windows 下写代码,在 linux 下编译并且执行了。不过小编还是建议,这样最多只是过渡,还是要逐步脱离图形操作,早日转入 linux 的命令式操作,这样我们才会真正体会到 linux 的精髓,称为更加优秀的嵌入式开发者。

阅读更多:   Linux笔记
添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gif