当前位置:网站首页>【C/C++ 1】Clion配置与运行C语言
【C/C++ 1】Clion配置与运行C语言
2020-11-06 01:22:00 【IT界的小小小学生】
文章目录
一、Clion配置
1.1简介
1.1.1 Clion idea
CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。
同样支持python哦,相信使用过IntelliJ idea开发过java的盆友都很清楚该IDE的强大,所以做为Jetbrains旗下的c/c++开发工具CLion同样包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率。
Clion 代码风格等配置同Jetbrains相关软件,这里就不详细说明了。
1.1.2 C与C++的区别;面向过程与面向对象的区别
- C++是面向对象的(object oriented programming—OOP)。强调对象,由对象实施动作。
- C是面向过程的(procedure oriented programming—POP)。强调执行的过程。
总结:面向对象是首先抽象出各种对象(各种类),把数据和方法都封装在对象中(类),然后各个对象之间发生相互作用。
面向过程是将问题分解成若干步骤(动作),每个步骤(动作)用一个函数来实现,在使用的时候,将数据传递给这些函数。
- 一个典型的例子:把大象放入冰箱里面。
C++是这么做的:涉及到两个对象:冰箱和大象。三个动作:打开冰箱,放置大象,关闭冰箱。
首先定义一个冰箱类,他有打开的方法,放置的方法,关闭的方法。然后再定义一个大象类。接下来构建冰箱和大象的对象,然后冰箱对象调用打开门的方法,冰箱对象再调用放置大象对象的方法,最后冰箱对象关门。
Fridge{
open();lay();close();}//冰箱类有三个方法
main()
{
Elephant elephant;//构建一个大象对象
Fridge fridge;//构造一个冰箱对象
fridge.open();
fridge.lay(elephant);
fridge.close();
}
而当C是这么做的:首先打开冰箱门,然后把大象放入进去,最后关闭冰箱门。
main()
{
open();
lay(elephant);
close();
}
再来一个典型的例子:下雨了,人打开雨伞:
C++是这么做的:涉及到三个对象:雨,人,伞。两个动作:雨下,人打开伞。
首先三个对象,即定义三个类。雨对象Rain,它有下雨的方法fall();人对象Person,他有打开的方法open();伞对象Umbrella;
Rain
{
fall();
}
Person
{
open();
}
main()
{
Rain rain;
Person person;
Umbrella umbrella;
rain.fall();
person.open(umbrella);
}
而C是这么做的:
面向过程:下雨了,人打开雨伞:
main()
{
rain();
open(umbrella);
}
1.2 配置c
我的mac电脑已经装了c了,所以就不下载了,如果没有下载参考下方操作。
默认已生成了main.c,但是我们并不能运行,因为我们还缺少编译环境,点击Setting打开设置,搜索Toolchains,我们发现clion为我们提供的环境有这么几种MinGW,CygWin,Visual studio等,我此处选择的是MinGw,点击右侧download,下载后运行安装即可,然后在Enviroment右侧选择mingw-w64的位置即可,如下图:
1.3选择对应c/c++
c++选择 executable
c选择 cxecutable
1.4 自行创建c++
如果我们可以自行创建c/c++文件,如图:
C语言选择.c,C++选择.cpp!
1.5 Clion中生成多个可执行文件
在构建一个新的Clion工程的时候,会自动生成一个文件夹cmake-build-debug,可以帮助我们快速的对整个C++工程进行编译运行。而主函数编译后生成的可执行文件就位于cmake-build-debug文件夹下面。
如果我们需要在一个C++工程中构建多个主函数并生成多个可执行文件的话,我们就需要对CMakeLists.txt进行修改。具体步骤如下:
(1)如果我们创建了两个主函数文件,分别为main.cpp和main2.cpp。
(2)在创建第一个main.cpp之后,假设在CMakeList.txt是这样子的:add_executable(MAIN main.cpp)。
(3)在创建第二个main2.cpp的时候,需要选择target,如果是选择了第一个main.cpp,那么在CMakeList.txt中会出现add_executable(MAIN main.cpp main2.cpp),然而这样是无法实现我们的需求的。
(4)因此我们需要修改为add_executable(MAIN main.cpp)和add_executable(MAIN2 main.cpp)就可以构建出两个可执行文件。
(5)在Clion中使用的时候,在软件的右上角可以选择是对哪一个主函数文件进行编译,或者是对整个工程的main函数都进行编译
个人操作案例:
我现在main.cpp 是c程序,我运行 mian.cpp ,
1.在cmakelists.txt中add_executable 修改对应.cpp文件即可
2.注意一定要重新编译项目才可以。
3.如果运行map1.cpp文件 只需要将cmakelists.txt中add_executable 修改.cpp文件即可
add_executable(map map1.cpp)
版权声明
本文为[IT界的小小小学生]所创,转载请带上原文链接,感谢
https://vip01.blog.csdn.net/article/details/106344239
边栏推荐
- Didi elasticsearch cluster cross version upgrade and platform reconfiguration
- 直播预告 | 微服务架构学习系列直播第三期
- How do the general bottom buried points do?
- 对pandas 数据进行数据打乱并选取训练机与测试机集
- 微服務 - 如何解決鏈路追蹤問題
- 2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
- 小白量化投资交易入门课(python入门金融分析)
- 幽默:黑客式编程其实类似机器学习!
- 谁说Cat不能做链路跟踪的,给我站出来
- Cocos Creator 原始碼解讀:引擎啟動與主迴圈
猜你喜欢
随机推荐
中国提出的AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律
ETCD核心機制解析
drf JWT認證模組與自定製
Serilog原始碼解析——使用方法
X Window System介紹
有关PDF417条码码制的结构介绍
微服務 - 如何解決鏈路追蹤問題
【QT】 QThread部分原始碼淺析
词嵌入教程
GDB除錯基礎使用方法
Grouping operation aligned with specified datum
Didi elasticsearch cluster cross version upgrade and platform reconfiguration
Using Es5 to realize the class of ES6
一时技痒,撸了个动态线程池,源码放Github了
面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》
3分钟读懂Wi-Fi 6于Wi-Fi 5的优势
[performance optimization] Nani? Memory overflow again?! It's time to sum up the wave!!
Asp.Net Core learning notes: Introduction
7.2.2 compressing static resources through gzipresourceresolver
Analysis of ThreadLocal principle