标签(空格分隔): code


SLAM是一个大型的项目,而且通常都是基于linux平台的。对于大部分没有linux经验的人来说,如何在linux下拥有vs代码阅读体验就非常重要了。这篇博客就简答的介绍下大型的项目如何阅读,并介绍几个代码阅读、开发神器。

为了能够快速的了解开源项目,可以尝试下面的步骤:

  • 仔细的阅读论文,了解整个项目的原理
  • 下载代码并编译,在编译之前需要认真阅读README,遇到的任何问题可以再github issue上提,也可以查看issues,看是否有人遇到相同的问题
  • 阅读文档,了解大致结构
  • 运行项目的例程,掌握基本的用法
  • 利用IDE 查看类结构(推荐代码阅读软件Understand[破解码:09E58CD1FB79],编辑+调试软件Kdevelop)

Linux下c++开发环境配置

以14.04版本的linux为例(不同的版本的linux配置会有区别),介绍以make,cmake,qmake管理的项目最方便的编译、调试环境配置。对于以cmake,make管理的项目,可以选择kdevelop。对于cmake管理的项目,相对于qtcreator阅读,具有能够在编辑器中创建文件、文件夹,显示项目中所有的文件等便捷之处(感觉和vs一样),而且不需要修改CMakeLists.txt就能够显示项目中所有的文件。当然,如果项目本身就是用qmake管理的,那用qtcreator就很方便了。

Linux下项目阅读神器

这里隆重的推荐Linux下大型项目阅读神器-Understand软件,该软件可以不需要编译、静态分析代码的强大功能。不仅如此,改软件还能够很方便的跳转、查看UML图、项目的Metric视图(了解项目包含哪些部分)、查看函数在哪个文件哪一行被调用(非常的强大)。而且它经过简单的配置以后就能够编译进行编译,不过我还是推荐根据项目的管理工具选择Kdevelop和qtcreator中一个进行编译和开发。

Kdevelop配置

  • 打开项目

  • 字体配置:
    每个人对于字体的大小以及型号都有洗好,Kdevelop可以进行相关的配置,如下图所示:

  • 代码主题配置:

qtcreator配置

  • 打开项目
  • 字体没配置
  • 代码主题设置

Understand强大功能介绍

Linux下如何阅读开源项目的更多相关文章

  1. linux下后台启动springboot项目

    linux下后台启动springboot项目 我们知道启动springboot的项目有三种方式: 运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn p ...

  2. linux下后台启动springboot项目(转载)

    我们知道启动springboot的项目有三种方式: 运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn package”进行打包时,会打包成一个可以直接 ...

  3. linux下如何部署php项目?

    linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装. 使用三种软件的压缩包进行安装,需要手动配置三者之间的关系.apache和p ...

  4. Nginx知多少系列之(五)Linux下托管.NET Core项目

    目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...

  5. 用C写一个web服务器(三) Linux下用GCC进行项目编译

    .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...

  6. Linux下pdf阅读器推荐

    由于需要在pdf文件上做标记,所以自带的文档查看器根本满足了需求,之前去网上查了查,Okular评价挺高,就安装了一个,确实能基本满足我的需求,但是 1.界面感觉还是不太友好,书签栏一直在那. 2.而 ...

  7. 【一】美化Linux终端之oh-my-zsh开源项目

    目录 1.查看系统是否装了zsh 2.安装zsh(系统没有查到zsh,则安装) 3.切换shell为zsh 4.重启Linux 5.安装oh my zsh 6.到此就安装完成 7.更换主题 8.生效主 ...

  8. linux下svn定时更新项目

    方法一.用shell脚本定时更新项目   1.进入网站的根目录,假设项目位置放在/var/www/test cd /var/www/test   2.建立脚本文件update.sh,分两步进行.首先利 ...

  9. Linux 下编译Android-VLC开源播放器详解(附源码下载)

    这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...

随机推荐

  1. 洛谷P3233 [HNOI2014]世界树

    虚树= = #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring&g ...

  2. bzoj 2118: 墨墨的等式

    Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+-+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...

  3. 【LSGDOJ 1850】滑雪课程

    题目描述 贝西去科罗拉多州去滑雪,不过还她不太会玩,只是个能力为 1 的渣渣.贝西从 0 时刻进入滑雪场,一到 T 时刻就必须离开.滑雪场里有 N 条斜坡,第 i 条斜坡滑行一次需要 D i 分钟,要 ...

  4. 2015 多校联赛 ——HDU5416(异或)

    CRB has a tree, whose vertices are labeled by 1, 2, …, N. They are connected by N – 1 edges. Each ed ...

  5. bzoj 4974: 字符串大师

    Description 一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节 .给定一个长度为n的仅由小写字符构成的字符串S,请 ...

  6. C语言程序设计第四次作业--选择结构(2)

    (一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...

  7. SSH搭建spring,使用依赖注入的方法

    配置文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...

  8. ajax 304 bug处理方法

    在ie内核中,发现Ajax的请求不会真正的被发送到服务器端,返回的永远是304.这个应该是IE的设计问题,查询解决方法后,看到网上的一段话: "因为ajax请求的时候如果使用get方式请求, ...

  9. 关于一些基础的Java问题的解答(二)

    6. Hashcode的作用 官方对于hashCode的解释如下: Whenever it is invoked on the same object more than once during an ...

  10. 用一个div模拟textarea的实现

    <textarea> 标签定义一个多行的文本输入控件.但是它不能像div一样随着内容增加而自动增加,一言不合就出现滚动条,有是有为了更好的交互,可能需要使用div来模拟textarea的实 ...