在Linux上用Eclipse写C++程序

我厂很多同学使用VC在windows上编写linux的C/C++程序,然后再传的开发服务器上,然后再编译和调试。如果有修改,可能会直接用vi去改了,然后再把源代码同步回来。其实这样做挺折腾的。也有大神全盘vim设置emacs写,想来也是极好的。

但是,也有另外一个方案,就是在 Linux上安装个写C/C++程序的IDE,这样可以直接编写、编译、运行、上传SVN,非常方便。其实要做到这点,也很简单:

  1. 你需要一个虚拟机来运行一个带GUI的LINUX,这样IDE才能运行起来,当然也可以直接在开发服务器上安装GUI程序,然后WINDOWS的办公PC这里设置个SSH的X转发,装个XMing之类的X服务器,也可以用。
  2. 安装虚拟机还需要注意一个事项,就是把PC的BIOS里面的虚拟机支持CPU和虚拟机直接IO功能打开。一般会在“安全”菜单里面,叫Vt-x/AMD-V之类的东东,打开了你的虚拟机才能使用1个以上的CPU,并且能加快硬盘的读写速度。
  3. 虚拟机上一般我会选使用64位的Ubuntu,因为比较流行嘛。硬盘如果是SSD的也可以勾上支持SSD。现在最新的好像是14.04 LTS。不过还是虚拟机来的方便点。我使用VirtualBox,当然VMWare也是极好的。使用VirtualBox要记得安装ExtensionPack,这样才能调整大于1024x768的屏幕分辨率,以及其他一些支持。安装方法:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=464303
  4. 一般我们还需要把虚拟机的共享粘帖板和共享文件分区打开。这样就能很方便的从windows的主机上和虚拟机交换数据了,这些功能虚拟机软件都带。但是一般共享文件夹的权限是vboxsf,而你的登录帐号没权限看,每次都要sudo很麻烦,所以不如把自己加入到那个组中:sudo adduser yourname vboxsf,然后重启一下虚拟机就生效了。
  5. 在公司网络,是需要设置代理才能上外网的,所以最基础的一步,就是设置~/.bashrc内容:http_proxy=http://web-proxy.oa.com:8080 export http_proxy。当然也要在“系统设置”-“网络”-网络代理-那里设置,方法:自动、配置URL:http://txp-01.tencent.com/proxy.pac。
  6. 下载安装SUN的jDK版本,虽然open jdk也可以用。
  7. 如果你喜欢更好的中文输入法,可以用 apt-get 来安装搜狗输入法:http://jingyan.baidu.com/article/fdbd42771eeab1b89f3f4865.html
  8. 有时候你会觉得Ubuntu的字体不习惯,其实可以很方便的把微软的字体(雅黑什么的)都安装过来:http://www.cnblogs.com/mamboer/archive/2011/03/26/ubuntu-yahei.html ,不过我个人还是觉得开源的文泉驿字体更好看,可以用apt-get安装。如果想很方便的设置各种字体,还可以安装一个UnityTweakTool的软件,也可以apt-get来安装。
  9. 下载安装最新的Eclipse版本,最近装的是LUNA这个版,感觉没一起的kepler什么的好用。但是也可以。注意Eclipse有很多个包,如果只写C/C++程序,就直接下Eclipse CDT这个套件好了,省了还要下支持JAVA开发的东西。
  1. Eclipse安装好之后记得要设置代理,否则连不上Market和更新,装软件会很麻烦,具体的做法是Windows-Preference ,搜索proxy,选择Active Provider:为Manual,然后在Proxy entries的表格里面把,把HTTP一行填上Host:web-proxy.oa.com Prot:8080
  2. 在Eclipse的Market里面,可以安装Eclipse Color Theme,选择一个喜欢的颜色方案
  3. 如果你使用gtest来做单元测试,可以装个“C/C++ Unit Testing Support“,这样就可以直接在IDE里面运行和调试单元测试了。安装方法是直接在Eclipse的更新URL里面搜索即可,官方的组件之一。(安装方法参考:http://linmingren.me/blog/2013/07/eclipse%E4%B8%AD%E4%BD%BF%E7%94%A8goolge-test%E6%9D%A5%E5%86%99c%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/)
  4. 如果使用CPPLINT来做静态检查,可以安装CppStyle组件,然后下载cpplint.py然后配置进去即可。http://wangzw.github.io/CppStyle/
  5. 我们还可以去google那里下载一个formatter,是一个XML文件,配置到Eclipse的formater配置项之后,可以自动帮我们按google代码规范整理代码,非常方便。配置方法:http://blog.csdn.net/lilu_leo/article/details/8746205
  6. 如果你不是用make,而是用其他的编译工具,Eclipse也支持任意可执行文件作为编译工具,而且会自动分析输出命令,帮你定位到问题的代码行。
  7. Eclipse本身可以使用Ctrl+O打开当前文件的outline选择目标,使用Ctrl+Shift+r搜索打开项目中的任意文件,alt+/自动补齐,按了.或者->有成员菜单等等方便的IDE功能。同时也有各种文件模板,比如.h/.cpp/test文件模板,可以定义注释模板。按Ctrl+Tab可以在.h和.cpp之间切换。保存的时候自动编译。
  8. Eclipse的Source功能可以帮你从.h文件里生成.cpp的实现代码框架,还有好用的改名功能,包括函数、变量、类、文件都可以自动把关联的都一起修改了,重构起来非常方便。还有切分函数等等很多重构功能。都是自动化的。虽然这些功能没有JDT(JAVA编辑器)那么强大,但是也是很不错的了。
  9. Eclipse还有很多其他插件,比如babel这个插件可以让IDE变成中文菜单的。subclipse可以把SVN整合到Eclispe里面,但是这两个功能在我的虚拟机上常常出问题,所以SVN还是用的命令行,界面就维持的英文的。(以前我用老版本的Eclipse就没问题,很奇怪)

有了这些工具,做Google代码规范检查,做单元测试都变得轻松很多。对于写服务端代码的同学来说,绝对值得尝试!

原文发布于微信公众号 - 韩大(handa1740168)

原文发表时间:2015-02-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

在Ubuntu 16.04上安装OpenVAS 8

OpenVAS(开放式漏洞评估系统)是一个客户端/服务器架构,它常用来评估目标主机上的漏洞。OpenVAS是Nessus项目的一个分支,它提供的产品是完全地免费...

1812
来自专栏魏艾斯博客www.vpsss.net

宝塔服务器管理助手 Linux 面版-安装教程

4344
来自专栏進无尽的文章

Fastlane| 一句代码完成自动打包发布到蒲公英

第一个选项的意思是:自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框(如果需要的话) 第二个选项的意思是:自动发布beta版本用于TestFli...

1463
来自专栏地方网络工作室的专栏

将移动硬盘上的archlinux复制到笔记本电脑硬盘并引导

将移动硬盘上的archlinux复制到笔记本电脑硬盘并引导 每次安装archlinux我都非常痛苦,在同事的协助下才能完成。为了避免这个问题,我在我的移动硬盘上...

2108
来自专栏desperate633

浅谈web开发中的Get和Post方法get和post的区别

在http协议中,实际上有八个http方法。但在实际开发中,绝大多数情况我们只会用到两个方法,就是get和post。所以我们来稍微谈谈两种方法的区别,以及何时应...

1872

如何安装Node.js.

Node.js是服务器端JavaScript应用程序的跨平台运行环境。Node.js使用的是谷歌研发的JavaScript引擎V8,它也可以在Chromium和...

1464
来自专栏王大锤

github for Mac 教程

3516
来自专栏地方网络工作室的专栏

打造前端 Deepin Linux 工作环境——系统设置以及安装软件

打造前端 Deepin Linux 工作环境——系统设置以及安装软件 系统的基本设置 由于 deepin 系统做得太多,以至于,我们常见的在 linux 上要进...

4596
来自专栏我的博客

安卓真机调试

1、  安卓驱动 网上说下载这个,下载那个的!我就使用腾讯的手机管家(这里不算广告吧?) 然后手机驱动问题就解决了! 2、  打开eclipse-DDMS界面 ...

3356
来自专栏魏艾斯博客www.vpsss.net

快云小助手网页版 Linux 面板安装过程记录

前几天老魏在快云小助手(快云管理助手)windows 服务器快速部署 web 环境中提到了体验景安快云提供的 web 面板,可以提供简单的服务器管理功能,同时老...

3707

扫码关注云+社区