Linux下如何阅读开源项目
标签(空格分隔): 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下如何阅读开源项目的更多相关文章
- linux下后台启动springboot项目
linux下后台启动springboot项目 我们知道启动springboot的项目有三种方式: 运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn p ...
- linux下后台启动springboot项目(转载)
我们知道启动springboot的项目有三种方式: 运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn package”进行打包时,会打包成一个可以直接 ...
- linux下如何部署php项目?
linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装. 使用三种软件的压缩包进行安装,需要手动配置三者之间的关系.apache和p ...
- Nginx知多少系列之(五)Linux下托管.NET Core项目
目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...
- 用C写一个web服务器(三) Linux下用GCC进行项目编译
.container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...
- Linux下pdf阅读器推荐
由于需要在pdf文件上做标记,所以自带的文档查看器根本满足了需求,之前去网上查了查,Okular评价挺高,就安装了一个,确实能基本满足我的需求,但是 1.界面感觉还是不太友好,书签栏一直在那. 2.而 ...
- 【一】美化Linux终端之oh-my-zsh开源项目
目录 1.查看系统是否装了zsh 2.安装zsh(系统没有查到zsh,则安装) 3.切换shell为zsh 4.重启Linux 5.安装oh my zsh 6.到此就安装完成 7.更换主题 8.生效主 ...
- linux下svn定时更新项目
方法一.用shell脚本定时更新项目 1.进入网站的根目录,假设项目位置放在/var/www/test cd /var/www/test 2.建立脚本文件update.sh,分两步进行.首先利 ...
- Linux 下编译Android-VLC开源播放器详解(附源码下载)
这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...
随机推荐
- 伊布(ib)
[问题描述]ib 被困在了一个美术馆里,她需要收集美术馆内的每种颜料才能获得逃出美术馆的钥匙美术馆由 n*m 的房间构成,每个房间里有一种颜料,解锁进入后就可以收集.有的房间不能解锁,如果解锁的话会直 ...
- 2015 多校联赛 ——HDU5301(技巧)
Your current task is to make a ground plan for a residential building located in HZXJHS. So you must ...
- hdu 5479(括号问题)
题意:类似"()","(())","()()" 是匹配的, 而 "((", ")(", " ...
- Codeforces Round #430 B. Gleb And Pizza
Gleb ordered pizza home. When the courier delivered the pizza, he was very upset, because several pi ...
- Cisco 的基本配置实例之四----vlan的规划及配置(接入交换机)
4.2 接入交换机的相关配置 ## 在此例中,我们联入的是一台接入交换机,此交换机的gi0/1口上联至核心交换机.也就意味着我们需要配置gi0/1为trunk口.具体的配置如下: D-2960-3(c ...
- 从 vCenter Server 使用的数据库中清除旧数据 (2075138)(转)
Document Id 2075138 Symptoms 免责声明: 本文为 Purging old data from the database used by VMware vCenter Ser ...
- http协议无状态中的 "状态" 到底指的是什么?!
引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无连接的]就无法理解了:无状态的[状态]到底指的是什么?! 找了很多资料不仅没有发现有一针见血正面回答这个问题的, ...
- Maven实现多环境打包
在开发的过程中,经常需要面对不同的运行环境(开发环境.测试环境.生产环境.内网环境.外网环境等等),在不同的环境中,相关的配置一般不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置 ...
- aways on 配置部署(二)——配置域
前一篇中我们基本了解了配置aways on的三个步骤,本篇就具体讲解如何配置域. DNS的配置 上篇可以看到三台服务器的ip地址,网关,DNS等配置,其中sqlDNS服务器的dns为自己的ip地址,s ...
- FJUT寒假作业涨姿势题解
题意非常简单易懂,对于涨姿势0,数据非常小,比较容易想到的是直接循环暴力解题完成任务.把数据放入数组arr,循环i,j控制所有区间算和.结果记入vis. 到了涨姿势1,2,3,我们观察数据变化,发现数 ...