在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 条评论
登录 后参与评论

相关文章

来自专栏我的博客

安卓真机调试

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

36360
来自专栏落影的专栏

target和scheme、.xcarchive和.ipa的详细解析

前言 workspace、project、target、scheme,这些基本概念非常容易混淆,特别是经常使用Xcode编译和打包的开发者,往往会忽视这些基础知...

55660
来自专栏菩提树下的杨过

IntelliJ IDEA 13试用手记(附详细截图)

从去年开始转java以来,一直在寻找一款趁手的兵器,eclipse虽然是很多java程序员的首选,但是我发现一旦安装了一些插件,workspace中的项目达到数...

13030
来自专栏PHP技术大全

grafana+ prometheus+php 监控系统实践

团队在开发流媒体服务,需要实现一个监控在线人数的功能,可以看到历史有多少人在线,当前有多少人在线的功能。 如果用mysql等关系型数据库来实现,可以用事件记录日...

34230
来自专栏葡萄城控件技术团队

如何通过预加载器提升网页加载速度

预加载器(Pre-loader)可以说是提高浏览器性能最重要的举措。Mozilla 官方发布数据,通过预加载器技术网页的加载性能提升了19%,Chrome测试了...

212100
来自专栏云计算教程系列

如何在Debian 8上使用X2Go设置远程桌面

为了提高效率,安全性以及从命令行执行所有操作的能力,许多服务器不使用图形用户界面(GUI)。但是,有时您需要在远程服务器上运行GUI应用程序,例如在浏览器中测试...

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

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

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

55260
来自专栏王大锤

github for Mac 教程

40660

如何安装Node.js.

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

18540
来自专栏進无尽的文章

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

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

21630

扫码关注云+社区

领取腾讯云代金券