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年的时 ...
随机推荐
- [HAOI2008]下落的圆盘
Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红 色线条的总长度即为所求. Input 第一行为1个整数n,N<=100 ...
- Codeforces 547D Mike and Fish
Description 题面 题目大意:有一个的网格图,给出其中的 \(n\) 个点,要你给这些点染蓝色或红色,满足对于每一行每一列都有红蓝数量的绝对值之差不超过1 Solution 首先建立二分图, ...
- ●BZOJ 3270 博物馆
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3270题解: 期望DP,高斯消元 本来是定义的关于概率的dp, 但是发现这样定义有很多解释不通 ...
- 10-8 uva1262密码
题意:有两个图,每一列都存在的字母选作密码,就第k大的密码 思路: 找出各个位置上的密码, 假设: 第1个字母只能是{A,C,D,W}, 第2个字母只能是{B,O,P}, 第3个字母只能是{G,M,O ...
- Codeforces Round #430 B. Gleb And Pizza
Gleb ordered pizza home. When the courier delivered the pizza, he was very upset, because several pi ...
- 两道很好的dp题目【4.29考试】
A 问题描述: 对于一个排列,考虑相邻的两个元素,如果后面一个比前面一个大,表示这个位置是上升的,用I表示,反之这个位置是下降的,用D表示.如排列3,1,2,7,4,6,5可以表示为DIIDID. 现 ...
- SpringCloud学习之soa基础
一.soa简单介绍 1)面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.SOA是解决复杂业务模块,提高扩展性,维护性,可伸缩 ...
- C++多态?
以前看资料只是理解多态是"一个接口,多种调用" ,但是没有理解其真正意思,不明白具体咋么实现. 不过看了这位博主的博客后对多态有了一些理解,链接:https://www.cnblo ...
- Spring中@Autowired与@Resource的区别
1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...
- Elasticsearch 学习(一):入门
一.概念 Elasticsearch 是一个实时分布式搜索和分析引擎.它用于全文搜索.结构化搜索.分析以及将这三者混合使用. 维基百科.英国卫报.StackOverflow.Github 等公司都在使 ...