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年的时 ...
随机推荐
- [SHOI2008]小约翰的游戏John
Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不 ...
- 【bzoj4568 scoi2016】幸运数字
题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征. 一些旅行者希望 ...
- .9-浅析express源码之请求处理流程(2)
上节漏了几个地方没有讲. 1.process_params 2.trim_prefix 3.done 分别是动态路由,深层路由与最终回调. 这节就只讲这三个地方,案例还是express-generat ...
- Python小代码_11_生成小于 n 的裴波那契数列
def fib(n): a, b = 1, 1 while a < n: print(a, end=' ') a, b = b, a + b fib(100000) #输出结果 #1 1 2 3 ...
- Microsoft Visual Studio 2017 编译最新版 libuv 1.x 并且生成 LIB 和 DLL 两种模式
以为昨天晚上编译通过就可以了,哪知道,早上编译DLL的一车的报错 今天开始逐个解决,终于把引用的问题一亿解决了,具体步骤如下 1 在 Windows 平台下编译出错,显示导出未定义,打开 uv-win ...
- Vue 波纹按钮组件
代码链接:https://github.com/zhangKunUserGit/vue-component 效果图: 大家可以在线运行: https://zhangkunusergit.github. ...
- Node.js 系统
稳定性: 4 - API 冻结 提供一些基本的操作系统相关函数. 使用 require('os') 访问这个模块. os.tmpdir() 返回操作系统的默认临时文件夹 os.endianness() ...
- Docker服务端防护
运行一个容器或应用程序的核心是通过 Docker 服务端.Docker 服务的运行目前需要 root 权限,因此其安全性十分关键. 首先,确保只有可信的用户才可以访问 Docker 服务.Docker ...
- ROS机器人程序设计(原书第2版)补充资料 kinetic
Effective Robotics Programming with ROS Third Edition Find out everything you need to know to build ...
- python3中替换python2中cmp函数的新函数分析(lt、le、eq、ne、ge、gt)
本文地址:http://blog.csdn.net/sushengmiyan/article/details/11332589 作者:sushengmiyan 在python2中我们经常会使用cmp函 ...