当前位置:网站首页>【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
边栏推荐
- 7.2.2 compressing static resources through gzipresourceresolver
- 哇,ElasticSearch多字段权重排序居然可以这么玩
- Cocos Creator 原始碼解讀:引擎啟動與主迴圈
- 对pandas 数据进行数据打乱并选取训练机与测试机集
- DRF JWT authentication module and self customization
- Network programming NiO: Bio and NiO
- Introduction to Google software testing
- Elasticsearch 第六篇:聚合統計查詢
- 【QT】 QThread部分原始碼淺析
- 【新閣教育】窮學上位機系列——搭建STEP7模擬環境
猜你喜欢
随机推荐
Troubleshooting and summary of JVM Metaspace memory overflow
制造和新的自动化技术是什么?
简直骚操作,ThreadLocal还能当缓存用
Can't be asked again! Reentrantlock source code, drawing a look together!
(1) ASP.NET Introduction to core3.1 Ocelot
中国提出的AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律
怎么理解Python迭代器与生成器?
6.7 theme resolver theme style parser (in-depth analysis of SSM and project practice)
嘘!异步事件这样用真的好么?
【新閣教育】窮學上位機系列——搭建STEP7模擬環境
神经网络简史
htmlcss
有关PDF417条码码制的结构介绍
Serilog原始碼解析——使用方法
xmppmini 專案詳解:一步一步從原理跟我學實用 xmpp 技術開發 4.字串解碼祕笈與訊息包
7.3.1 file upload and zero XML registration interceptor
恕我直言,我也是才知道ElasticSearch条件更新是这么玩的
PLC模拟量输入和数字量输入是什么
How to get started with new HTML5 (2)
事半功倍:在没有机柜的情况下实现自动化