-
C/C++ 开发神器 CLion 使用入门
2018-10-23 14:18:19同样支持python哦,相信使用过IntelliJ idea开发过java的盆友都很清楚该IDE的强大,所以做为Jetbrains旗下的c/c++开发工具CLion同样包含了许多智能功能来提高开发人员的生产力,提高开发人员...关注微信公众号“虾米聊吧”,每天分享知识干货,和博主一起打卡,进步~
CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。
同样支持python哦,相信使用过IntelliJ idea开发过java的盆友都很清楚该IDE的强大,所以做为Jetbrains旗下的c/c++开发工具CLion同样包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率。
具体的各种详细的功能请自行翻阅资料了解,此处我只简单介绍下CLion在windows的安装使用。
首先去Jetbrains官网下载CLion,地址 https://www.jetbrains.com/clion/download/ 下载完后启动你会发现还未激活,那么接下来在浏览器的地址栏输入:http://idea.lanyus.com/,该网址,无需修改用户名,点击获取注册码。复制该注册码,粘贴在注册界面的 Activation code的输入框中,点击 ok。
类似图上。
然后运行软件,打开后可以自行进行个性化设置。
默认已生成了main.c,但是我们并不能运行,因为我们还缺少编译环境,点击Setting打开设置,搜索Toolchains,我们发现clion为我们提供的环境有这么几种MinGW,CygWin,Visual studio等,我此处选择的是MinGw,点击右侧download,下载后运行安装即可,然后在Enviroment右侧选择mingw-w64的位置即可,如下图:
操作完如上步骤后,打开main.c鼠标放在main函数里面 点击右键运行观察控制台你会发现期待已久的“hello world”终于出现了,至此我们的第一个c程序已经成功运行!如下图
注:另外如果我们可以自行创建c/c++文件,如图:
C语言选择.c,C++选择.cpp!
关注微信公众号“虾米聊吧”,获取更多知识干货~
一个热衷于分享技术和生活的程序猿,让我们一起交流吧~
微信扫描二维码,关注我的公众号
-
linux平台C++开发 vs windows平台c++开发
2014-12-08 17:00:031,linux平台C++开发和win32 C++开发有什么区别呢? 2,除了C++语言,数据结构等必须的知识外,还需要些了解什么呢? 3,如何在linux平台开发C++应用程序呢? 相信许多之前没有开发过linux平台程序的人也会有...最近工作中,需要在linux上开发C++程序。有了下面的问题。
1,linux平台C++开发和win32 C++开发有什么区别呢?
2,除了C++语言,数据结构等必须的知识外,还需要些了解什么呢?
3,如何在linux平台开发C++应用程序呢?
相信许多之前没有开发过linux平台程序的人也会有这些疑惑。下面,就自身的学习和接触,简单介绍一下。由于学习没多久,大庭广众之下也不敢造次。但如果读完,您觉得没有白读,我于愿足矣~
1,linux平台C++开发和win32 C++开发有什么区别呢?
我们知道,在win32平台开发程序,你可以使用VB画个界面,然后为界面编写事件代码,就快速地构建了win32程序,或者用C/C++在SDK模式下编程,你可以最大化地定制自己的程序,当然,时间和精力的花费也会很多;或者使用MFC提供的framework来开发;此外,还有很多语言供您使用,比如JAVA,C#等。无论哪一种语言,都有一个非常重要的特征,他们在win32平台都有一个非常强大的,功能完整的,集合程度高的IDE开发环境。你可以很轻易地在IDE里敲入自己的代码,无论是不是使用了类库或者框架,然后呢,按下快捷键,比如在VC6中按下CTRL+F5,IDE会直接帮你预编译,编译,链接,运行。直接就看到结果了。如果您想知道程序每一步是如何运行的,寄存器和内存中某一个状态都发生了什么,你可以step by step的运行,可以直观地看到断点所在,直观地看到程序某一个变量的值是什么,最重要的是,都是图形化的显示。这样,方便不?舒服不?您可能会像我一样认为,我天天都这样用的,已经习惯于此,没觉得有什么特别的啊。是的,那下面我来用图片直观地说明一下问题吧。
首先,看看win32平台的vc6.0中,调试一个简单程序的界面:我设置了一个断点,VC用一个红色的圆点来直观地描述给我们。就算我们运行到了别的地方,这个圆点还是非常清晰,强烈地告诉我们这里是断点。在VB中,断点的那一整行,都会变成红色,来醒目地提醒我们。
对比地,这里给出在Linux,这里选择了ubuntu里面使用gdb命令调试(待会介绍它)一个程序,设置断点的方式:
首先是测试用的简单程序:然后用g++编译它。(这里的g++是GCC中c++编译器的前端)
然后对生成的可执行程序进行gdb调试,启动gdb:
用l子命令列出前十行代码,并用break子命令设置断点到第9行。如下图:
请对比一下win32下面的VC的断点和linux下,gdb的断点,您更乐意用哪一个?
下面再来看另外一个例子,查看变量值:上图中,可以直接使用鼠标来查看,而且IDE会自动跟踪。那gdb呢?
上图中,我用r命令运行这个程序,然后到断点处停止下来,然后用print命令查看。我看到了str的值是hello world!.
您只能敲入命令才能查看,和VC6来比较,哪个方便?不用我多说了吧?
总结一下:linux平台的C++开发和win32平台的C++开发相比较,我不能说谁好谁坏,因为各有千秋。不过对于初学者来说,或者说对于我们的工作来说,win32的IDE比较成熟了,很方便。linux下面就相对薄弱一些。但,这些都是坏事么?不尽然,读完下文,您会意识到,这其实是一种优势。
2,除了C++语言,数据结构等必须的知识外,还需要些了解什么呢?
linux系统之大,牵涉很多方面的开发。正如win32一样,我们可能开发的是一款游戏,可能是一款带GUI的通信软件,或者只是shell中的一个命令,或者是系统的驱动。需要了解的知识不等。对于win32来说,开发游戏要opengl,开发通信软件,涉及到socket,开发驱动要使用微软的DDK,诸如此类。我们是网络部,开发的大多是没有GUI界面的命令行程序,通常要通信。因此我们需要学习的知识就显而易见了。不说别的,至少可以应付日常工作了。
首先,我们要了解shell命令吧。可以做日常的文件维护,比如创建,删除,重命名目录,文件,修改文件权限,显示文件内容,编译文件,安装软件包,这类命令当然多多益善。不过不用担心,其实日常使用到的不多。个人不认为天天背命令就能成高手。命令的参数何其多,汗牛充栋这个成语应该可以形容。掌握框架性的东西,方向性的东西才是重要的,细节问题可以慢慢学习,那是经验积累的过程。
其次,一般来说,公司没有电脑给我们单独装一个Linux,所以一般是用虚拟机。个人推荐VMware7.1,网上有中文汉化版,很好很强大。这里也有必要说明一下,不需要去抱个虚拟机的教程天天看,我们用到的很少。这里总结一下,使用vmware安装完linux之后,需要在选项里开启共享文件夹,开启拖拽和复制粘贴,然后网络选择NAT方式,配置VMware Network Adapter VMnet8和linux的网卡IP地址位于同一子网段,再安装一个vm tools,就可以让虚拟机共享主机的网络,并且可以在windows和Linux之间进行文件的拖拉,非常方便。这里偷偷告诉你,有时候,我会在windows上用vc调试,然后将代码拖到Linux,再用g++编译。很好,很强大。不过,我想该方法只适用于只调用C++标准库的程序。
再次,会编写makefile。makefile是一个文件依赖的规则。还记得前面么?我介绍到,linux IDE不如windows好用,但是命令行很强大,结合makefile,linux将无所不能。您可以完全按照自己的意愿来干,比如,您不必非要按照windows上面的IDE那样规定的,先编译,后链接,再运行。您可以按照自己的意愿来打乱它们,虽然这可能会出问题。不过,free is everything.
第四,会适用gdb调试器。会它的命令。很多linux上面的IDE其实是内嵌了gdb调试器。比如GNOME的anjuta, KDE的KDeveloper等。
第五,会使用,善于使用,经常使用man命令。在win32平台上,我经常参照MSDN,有C/C++标准库,有API,有MFC的说明,很好用。到了linux,啥都没有了。MSDN不管用了。怎么办?起初,我只知道上网查。很慢,很费事。现在我知道了,linux自带的man命令包含的更全,通过安装开发包,您可以man出来标准库,man出来API系统调用等等。而且GNU中国还有一个计划,是专门翻译man命令的。您可以关注一下。
最后,我要啰嗦一下,在Linux上面编程,我们能够运用最多的,非C++标准库莫属。特别是STL。功能好好用。也许和我的经历有关,我有一个坏习惯,碰到一个需求,我喜欢自己去实现这一个结构。比如一个动态的数组,某一个排序等,有些东西如果处处要自己实现,在规定的时限内,可能什么都完成不了。STL解决了这一难题。以前,我写了一大段代码完成的功能,它也就两三句话而已,而且效率很高。我正在学习中,很喜欢它。
3,如何在linux平台开发C++应用程序呢?
介绍完了前面的铺垫知识,敲击键盘敲的指头都僵了。下面快速地介绍在Linux平台开发c++程序的步骤吧。
1,使用gedit,或者任何文本编辑器(最好有语法高亮,自动缩进功能)编写您的代码。
2,编写代码时,使用标准库的函数和数据结构,或者其它已经实现的模块,或者linux系统API调用。
3,碰到不知道的标准库,或者linux API,使用man命令查询,没有的话,到网上查询。
4,编写makefile.
5,在g++上添加 -g参数,加入调试符号。
6,使用gdb调试或者打印log测试。
7,去掉-g参数,release。
8,结束。
总结一下:您可以参照下列的关键词来寻找资料进一步学习:
GTK, QT, SHELL, GDB, GCC, makefile,STL
全文完~ -
Visual C++开发实战宝典.pdf
2014-05-29 20:41:15Visual C++开发实战宝典.pdf -
C++ | macOS利用VSCode配置C++开发环境
2019-01-18 22:43:13Mac下使用VScode进行C/C++开发 打开一个cpp项目 打开VSCode,选择“打开文件夹”,如下图。打开一个已有的C++项目。 在左侧边栏点击最下边的按钮,显示所有扩展包。输入“C/C++”,选择安装C/C++和C/C++ ...参考教程:
打开一个cpp项目
打开VSCode,选择“打开文件夹”,如下图。打开一个已有的C++项目。
在左侧边栏点击最下边的按钮,显示所有扩展包。输入“C/C++”,选择安装C/C++和C/C++ Clang Command Adapter两个扩展:
配置launch.json文件
依次点击下图中1->2,在弹出的3中选择“C++ (GDB/LLDB)”:
此时会打开launch.json文件。其中"program"属性规定可执行文件a.out的路径,默认有一些多余的字,删除至如下图所示:
配置task.json文件,运行
按下组合键“shift+command+B”弹出下图,点击画勾处,然后弹出下下图再点击画勾处,然后在弹出的下下下图中选“Others”:
修改弹出的task.json文件,如下:
至此,配置完成。
再次按下组合键“shift+command+B”即可运行!
-
VS2010 C++开发初学者开发实例(源码)
2012-07-20 14:55:54附上一个网址希望对初学者有帮助。 http://blog.csdn.net/gupengnina/article/details/7441203 重点是如何利用vs2010进行C++开发,里面是一个转码的实例。 -
C++开发uwp的坑
2017-09-22 02:23:38C++开发uwp的坑<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid x:Name="MyGrid">
</Grid>
</Grid>
Button^ bt;
bt = ref new Button();
//控件必须初始化 ref new ;
//也可以 写在同一行
//auto bt= ref new Button();tx->Margin =Windows::UI::Xaml::Thickness(100.f);
auto h = ref new Windows::Web::Http::HttpClient();
auto btn = ref new Button();
btn->Content = "an niu ";
btn->FontSize = 48;
btn->Foreground = ref new SolidColorBrush(Colors::Blue);
btn->Background = ref new SolidColorBrush(Colors::LightGreen);
btn->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Center;
//click速度慢于tapped
btn->Tapped += ref new Windows::UI::Xaml::Input::TappedEventHandler(this, &App2::MainPage::OnTapped);
auto tx = ref new TextBlock();
//tx->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Right;
tx->TextWrapping = Windows::UI::Xaml::TextWrapping::WrapWholeWords;
tx->TextAlignment = TextAlignment::Left;
//tx->OpticalMarginAlignment = OpticalMarginAlignment::None;
tx->Text = "TEXT";
tx->FontSize = Add(10, 38);
tx->Margin =Windows::UI::Xaml::Thickness(100.f);
tx->Foreground = ref new SolidColorBrush(Colors::PaleVioletRed);
MyGrid->Children->Append(tx);
MyGrid->Children->Append(btn);
void App2::MainPage::OnTapped(Platform::Object ^sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs ^e)
{
((Button^)sender)->Background = ref new SolidColorBrush(Colors::LightCyan);
((Button^)sender)->Foreground = ref new SolidColorBrush(Colors::Red);
auto fileopenpicker = ref new FileOpenPicker();
fileopenpicker->SuggestedStartLocation = PickerLocationId::DocumentsLibrary;
fileopenpicker->FileTypeFilter->Append(".pdf");
//fileopenpicker->CommitButtonText = "打开";//默认值是 打开
fileopenpicker->CommitButtonText = "是否tap你需要的文档,并确定";
fileopenpicker->ViewMode = PickerViewMode::List;
fileopenpicker->PickMultipleFilesAsync();
} -
C++:Windows环境下基于Eclipse配置C/C++开发环境
2019-09-26 23:02:14C++:Windows环境下基于Eclipse配置C/C++开发环境 目录 Windows下的MinGW下载、安装和配置 1、MinGW下载 2、MinGW安装与配置 3、基于Eclipse配置 Windows下的MinGW下载、安装和配置 MinGW... -
C++编程基础入门之一:C++开发环境Dev-C++的安装及配置
2019-02-23 15:51:19本教程将从安装C++开发环境开始,手把手的教您认识,理解,深入及掌握C++教程。 Dev-C++的安装和调试 本教程以可视化开发环境Dev-C++作为样例。其他软件步骤大致相同,不做介绍。 一、安装Dev-C++ 5.11 在您的... -
Android C/C++开发指南
2016-11-06 18:07:32Android C/C++开发指南 1.Android C/C++简介 众所周知,Android作为目前主流的移动终端领域的开发平台,其主要的开发语言就是JAVA。Android借助于JAVA高效、灵活的开发模式,迅速占领了移动互联网开发的半壁江山。... -
c++ 开发中利用yaml-cpp读写yaml配置文件
2019-04-25 14:27:47在程序员的开发生涯中,读写配置文件必不可少。 配置文件有利于我们灵活配置工程,解决大量重复...今天的博文介绍的是如何在 C++ 开发中利用 yaml-cpp 开源库读写 yaml 配置文件。 如果有 Python 开发经验的同学... -
Ubuntu搭建C++开发环境
2018-11-30 07:14:34Ubuntu搭建C++开发环境 使用IDE:Clion 虚拟机:VMware+Ubuntu18.04 1. 安装Vim 个人习惯vim,先安装一下 sudo apt-get install vim 2. 安装git 2.1 安装git sudo apt-get update sudo apt-get install git 2.2 生成... -
Linux 下C++开发入门指南
2018-03-22 09:52:07本文目的是针对将熟悉C/C++语法,如何在Linux下进行的C/C++开发的入门指南。Linux下的开发和在Windows下的开发类似,主要区别点在于操作系统不同,开发工具,开发API,编译调试方法不一样,故主要将针对这些不同点... -
C++ 开发STM32
2015-04-25 21:50:34一直在做单片机的开发,又断断续续的在学习C++,昨天心血来潮,想起能不能用C++开发STM32,网上搜索了一下,还真是有前辈这么做了,哈哈,也果断尝试了一下,在这个开个博文记录一下。我基本都是在网上查的资料,在... -
mac下安装c++开发环境
2019-06-05 10:12:24mac下安装c++开发环境 1 注册apple id 按照apple注册步骤注册apple id,我注册时遇到如下问题 apple store完成创建apple id步骤中,选择付款方式和账单地址后,总会提示“如需帮助,请联系itune支持”,进而... -
Linux服务器c++开发之路,从Linux基础入门到服务器开发高级架构
2021-01-07 17:44:23Linux服务器c++开发之路 正式开始学习Linux高并发服务器c++开发相关的技术。 学习路线: 基础数据结构 gcc, make, gdb Qt编程 Tcp/IP协议 c/c++语言 ---> c/c++实战项目 ---> Linux基础入门 --->... -
ubuntu下搭建Eclipse C++开发环境
2018-03-08 16:53:28ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上... OK,正题,再ubuntu下搭建Eclipse C++开发环境。 ... -
Visual C++开发实战1200例.pdf免费资源下载链接,visual c++开发实战1200例.pdf免费资源下载链接
2019-04-25 13:06:43Visual C++开发实战1200例.pdf 资源保存在腾讯微云上,下载不需要微云客户端,有需要这个资源的同学,请帅气的拿走,如果链接失效请在评论区留言。 (如果想要其他学习资源,请在评论区留言,如果我有我会继续上传... -
C++开发环境
2011-01-13 22:32:00C++开发环境: <br />1.Turbo C Turbo C是美国Borland公司的产品, 该公司在1987年首次推出Turbo C 1.0 产品, 其中使用了全然一新的集成开发环境, 即使用了一系列下拉式菜单,将文本编辑、程序编译... -
Fedora 下 c++ 开发环境的搭建
2018-04-30 14:15:08Fedora 下 c++ 开发环境的搭建 使用yum安装gcc 使用yum安装g++ 查看安装的情况 使用yum安装vim vim编写c++的hello world g++ 编译c++程序 -
emacs24 配置c++ 开发环境
2016-04-25 20:48:32emacs 配置c/c++开发环境笔记 -
Visual Studio Code 构建C/C++开发环境
2017-03-31 18:18:43Visual Studio Code 构建C/C++开发环境Visual Studio Code 构建CC开发环境 Visual Sutdio Code以及CC插件安装 Visual Studio Code 和GCC共同调试CC程序 安装GCC工具链 调试CC程序 Visual Studio Code编辑时的常用... -
使用 Vim 打造 C/C++ 开发环境
2019-06-02 10:24:30SpaceVim 是一个模块化的 Vim IDE,针对 C/C++ 语言的支持主要依靠 ...的这篇文章主要介绍如何使用 SpaceVim 搭建 C/C++ 的开发环境,侧重介绍跟 C/C++ 开发相关使用技巧。 在阅读这篇文章之前,可以先阅读《使用 ... -
Visual Studio Code C++开发插件最佳组合
2017-11-16 15:33:26微软最近一的次更新中,Visual Studio Code软件的C++开发功能进一步改进。现在Visual Studio Code C++开发插件最佳组合的名称分别是: C/C++ C/C++ Clang Command Adapter C++ Intellisense AStyle Native ... -
C++游戏编程PDF,教你如何高效地使用C++开发游戏和使用最流行的技术.
2009-02-27 09:40:04C++游戏编程PDF,教你如何高效地使用C++开发游戏和使用最流行的技术. -
C++开发人脸性别识别总结
2016-03-01 20:40:36历时一个月,终于在昨天把《C++开发人脸性别识别总结》系列博客完成了,第一篇博客发表在2015年12月29日,截止昨天2016年2月29日最后一篇完成,去除中间一个月的寒假,正好一个月,首先这里把这系列博客的地址呈上:... -
java程序员转C++开发问题
2013-12-06 13:26:54我是一名2014届毕业生,今天去一家公司面试,应聘的岗位是软件工程师,我是学java的,公司开发部经理跟我谈话之后让我考虑转C++开发。 我在大学期间学过C/c++ ,不知道转C++难度大不大,大概需要多久时间。 -
Ubuntu16.04下配置C/C++开发环境
2020-02-05 14:45:35Ubuntu16.04下配置VScode的C/C++开发环境 -
ubuntu c/c++开发环境搭建
2017-07-18 13:09:54老师,请教个问题,我用的是ubuntu ,安装了个基本c/c++开发环境 我写了两个文件sort.c和hello.c并且在hello.c中调用了sort.c 头文件中也引入了,但是提示找不到 sort.c 这个是不是需要安装什么插件? -
倾心倾力之作《Qt 5.9 C++开发指南》
2018-05-02 17:29:29五一假期前收到了人民邮电出版社寄来的书,我们写的《Qt 5.9 C++开发指南》终于印刷出来了!从2016年11月开始写书,到今天终于印刷出版,历时约一年半,现在它终于面世了。 成书过程 由于做项目的需要,在...
-
windows版redis6.0.10.zip
-
java将视频定时截取图片并保存
-
远程办公信息安全指南
-
【数据分析-随到随学】数据可视化
-
【MATLAB】IEEE3节9节点潮流计算测试系统数据,适用于Matpower
-
租房合同模板 房子 租出
-
Arduino uno + mpu6050 陀螺仪 运用卡尔曼滤波姿态解算源代码(总共4套程序)
-
【第七章】神奇的树
-
Linux实现postfix服务
-
Selenium3分布式与虚拟化
-
国家注册渗透测试工程师(Web安全)
-
【2021】UI自动化测试框架(Selenium3)
-
电商设计专业思维
-
大学毕业论文 工程硕士学位论文 基于JAVA WEB技术的内容管理系统的设计与实现.doc
-
react简介与框架搭建以及初始化新项目
-
20年单类别(One-Class)分类全面综述论文
-
【数据分析-随到随学】Hadoop数据分析
-
css.gg - 一套漂亮的纯 CSS 实现的免费开源图标库
-
备战2021软考网络规划设计师顺利通关培训套餐
-
Android 性能优化一: 10.Pre-scaling Bitmaps (100 Days of Google Dev).mp4