手把手教你使用 Clion 开发 Linux C++ 项目

关于CLion

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。

重要功能有:

提供C及C++支持(包含C++11, libc++ 和Boost),同时也支持JavaScript, XML, HTML 和CSS 。

跨平台:您可在64-bit Linux,OS X 以及64-bit Windows上使用它。

支持GCC、clang、MinGW、Cygwin 编译器以及 GDB 调试器。

提供对CMake 支持:包含自动处理CMake changes和CMake targets,更新新创建的 C/C++ 档案及CMake Cache 编辑器。

提供各式编码辅助:包含多行编辑功能、智能完成功能以及一键导航等。

安全可信的自动代码重构功能。

代码分析功能:监控代码品质并提供快速修复让开发人员得以及时就地解决问题。

集成GDB 调试器及评估表达式(expressions)功能、STL 容器渲染器(renderers)、监视(watches)、内嵌变量视图等。

与最热门的版本控制系统集成:Subversion、Git、GitHub,、Mercurial、CVS、Perforce及TFS。

内建terminal 模式并可通过插件实现提供Vim-emulation模式。

智能编辑器-CLion的智能编辑器能帮助开发人员更快地将代码补全,同时它还保持开发人员的代码格式化并符合配置编码的风格。使用此智能编辑器能快速选择代码块,还可以将代码重新排序。

代码生成和重构-在CLion中,开发人员可以使用之前定义发布的函数、变量、数据成员或者一个类,在IDE中会用红色来突出显示。同时CLion还提供了一套可靠的重构来帮助开发人员保持代码的质量,此代码重构适用于整个变化范围。

代码分析-CLion还提供了动态的代码分析,能不断地监控代码潜在的错误。如果在编辑器中找到了可以的代码,那么它会提出快速修正的方法来解决这个问题。

支持CMake-CLion提供了对CMake的支持,这包括了自动处理CMake changes和CMake targets更新新创建的 C/C++ 档案及CMake Cache 编辑器。

关于本文示例代码

代码配置在一台名称为ubuntu的linux开发机上,代码清单如下所示,分别为main.cc和CMakeLists.txt

#include

#include

#include

#include

/**

* power - Calculate the power of number.

* @param base: Base value.

* @param exponent: Exponent value.

*

* @return base raised to the power exponent.

*/

double power(double base, int exponent)

{

int result = base;

int i;

if (exponent == 0) {

return 1;

}

for(i = 1; i < exponent; ++i){

result = result * base;

}

return result;

}

int main(int argc, char *argv[])

{

if (argc < 3){

printf("Usage: %s base exponent \n", argv[0]);

return 1;

}

double base = atof(argv[1]);

int exponent = atoi(argv[2]);

double result = power(base, exponent);

printf("%g ^ %d is %g test\n", base, exponent, result);

std::string ss;

ss = "teetee";

std::cout<< ss.append("hello")<<:endl>

return 0;

}

cmake_minimum_required (VERSION 2.8)

project (Demo1)

add_executable(Demo main.cc)

关于具体配置方法

首先将远程的ubuntu开发服务器加入Clion

其次配置项目双向关联

接下来配置演示如何调试代码

最后说明如何使用CLion提供的静态分析功能分析项目中代码的问题

总结

本文完整的介绍了使用Clion 开发 Linux C++ 项目的每一个步骤,提供了完整的测试代码,同时在需要配置的地方都给出了完整的截图,希望对大家有所帮助。

clion浏览linux代码,手把手教你使用 Clion 开发 Linux C++ 项目相关推荐

  1. 手把手教你使用 Clion 开发 Linux C++ 项目

    手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...

  2. 嵌入式LINUX搭建arm环境,手把手教你嵌入式ARM开发环境搭建

    原标题:手把手教你嵌入式ARM开发环境搭建 1. 安装,配置,启动FTP服务 · 安装FTP: sudo apt-get install vsftpd · 修改vsftpd的配置文件/etc/vsft ...

  3. 手把手教你写web全栈入门项目—React+Koa+MongoDB(3w字教程,真的很详细,有代码)

    手把手教你写web全栈入门项目-React+Koa+MongoDB

  4. 【疯壳·嵌入式平板开发教程1】手把手教你做平板电脑-Linux 引导过程

    Linux 引导过程 --疯壳·嵌入式平板开发 Linux 内核与 Android 系统 linux 内核有什么区别?    什么是引导装载程序?   什么是 Zygote?    什么是 init. ...

  5. 【疯壳·平板教程1】手把手教你做平板电脑-Linux 引导过程

    Linux 引导过程 --疯壳·嵌入式平板开发 Linux 内核与 Android 系统 linux 内核有什么区别?    什么是引导装载程序?   什么是 Zygote?    什么是 init. ...

  6. 华为表哥手把手教你利用Jenkins持续集成iOS项目,教不会我花式拉翔!!!

    手把手教你利用Jenkins持续集成iOS项目: 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP ...

  7. 【嵌入式开发】手把手教你4418/6818开发板屏幕修改 本文转自迅为: http://www.topeetboard.com 开发平台:iTOP-4418/6818开发板 44186818屏幕

    [嵌入式开发]手把手教你4418/6818开发板屏幕修改 本文转自迅为: http://www.topeetboard.com 开发平台:iTOP-4418/6818开发板 4418&6818 ...

  8. python numpy安装教程_手把手教你搭建机器学习开发环境—Python与NumPy的超简安装教程...

    手把手教你搭建机器学习开发环境Python语言是机器学习的基础,所以,想要入门机器学习,配置好Python的开发环境是第一步.本文就手把手的教你配置好基于Python的机器学习开发环境.超简单!第一步 ...

  9. 手把手教你完成一个数据科学小项目(7):经纬度获取与BDP可视化

    前言 请先阅读"中国年轻人正带领国家走向危机",这锅背是不背? 一文,以对"手把手教你完成一个数据科学小项目"系列有个全局性的了解. 本系列代码统一开源在Git ...

最新文章

  1. Android使用VideoView播放本地视频及网络视频Demo
  2. java流方式接收pdf_java – 在Itext 7中,如何获取范围流来签署pdf?
  3. 神策数据携手绿城服务 筑就幸福绿城数据驱动
  4. mac下使用Charles抓chrome包
  5. 华为P50外观定了:居中挖孔
  6. 好东西,将你的英文版TFS变为中文版?:Visual Studio 2005 Team Foundation Server 语言更改包...
  7. Google 与微软的浏览器之争
  8. node中的异步API
  9. Everest 0.6不能保存3D桌面特效的解决方案
  10. [SinGuLaRiTy] 二分图匈牙利算法
  11. 论文笔记--DeepFool: a simple and accurate method to fool deep neural networks
  12. pb+api实际应用
  13. dom4j解析XML实例
  14. PHP头条爬虫,今日头条爬虫分析-爬取用户发的所有内容
  15. 通俗易懂:什么是.NET?.NET Framework?.NET Core?(比较全面)
  16. CSS学习笔记 | CSS背景
  17. python corrupt extra field_英语专四dictation模拟练习-沪江英语
  18. mysql重复读导致余额不对_我所理解的MySQL之四:事务、隔离级别及MVCC
  19. 分享本电子书Sql Server 20008 internals
  20. 关联性——灰色关联分析

热门文章

  1. dedecms织梦list标签按照权重排序
  2. Zend Guard6.0使用教程——PHP代码加密
  3. 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
  4. MVC用非Entity Framework将数据显示于视图(二)
  5. “==”和equals方法的区别
  6. LLYFSpy W.I.P
  7. 基于SSM实现新闻推荐系统
  8. IDEA如何将项目中文件夹设置为Sources(蓝色)
  9. RNA-seq:【FastQC】
  10. 鹅厂2020暑期实习第一次一面