c和c++开发工具之clion和vs

个人体验结果

如果是CMake或者要跨平台的话,建议使用CLion

像我在看书写练习题的话,Clion使用cmake编译c/c++源码更简单上手使用。

如果项目不大,两者都可以。如果关联子项目或第三方库多的话,建议用VS,

编译速度

CLion的工具链设置为MinGW,编译运行速度明显快于使用VS做为工具链

clion使用gcc编译源代码时,第一次会打印cmake的日志感觉上慢一些,但是源代码没修改时,第二次运行速度非常快,而vs在运行程序时,打印内容更少,速度上感觉快一些

调试方面

知乎上看到这样的对比:调试工具角度,VS的调试工具集(内存分析、性能分析、按地址查看内存、汇编文件查看、断点调试等等)基本在IDE领域无敌。

实际我的体验结果,在断点时查看变量的值,Clion感觉更好的

运行单文件

vs运行单个文件比较麻烦,因为新手学习阶段每个例子都是写在不同的文件中的,使用cmake就方便很多了

其它

c++中不能起中文文件名,但是C#和Python是可以取中文文件名


CLion配置不同编译器

我的CLion版本:2020.3.4

编译器可配置这几种:MinGW,Cygwin,Visual Studio,WSL,远程主机

我本机配置的是mingw和VS

使用vs的编译器

在我的一台电脑上,已经安装了vs2013和vs2017,在clion中新增编译工具链为VS,clion会自动读取vs的安装路径,然后就可以编译C和C++项目。

如果是vs2012,则指定这个目录:C:\Program Files (x86)\Microsoft Visual Studio 11.0\

image-20211115104740012

使用mingw

image-20220220111101413

其它事项

建议关闭【windows defender】或者添加工程目录为排除目录。

这是clion的提示原文:

windows defender可能影响性能,从防病毒扫描中排除IDE和项目目录,或将IDE进程添加为排除项


下载MinGW

如果是开发windows程序请下载:x86_64-win32-seh

完整的下载列表:MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net

关于seh与sjli,posix与win32的区别请查看:《MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - 知乎 (zhihu.com)

添加C:\mingw64\bin到环境变量path中


CLion配置MinGW方法

  1. 添加C:\mingw64\bin到环境变量path中

  2. 打开CLion的设置,找到工具链,添加minGW,在环境中选择mingw的根目录:C:\mingw64

  3. 等转圈一会儿,即可开始编写C和C++代码了

详细步骤:《如何安装Clion集成开发工具


CLion中文乱码

在Clion中输出中文会乱码,但vs2017中不会乱码,CLion中的乱码解决,但有几个文件中输出还是会乱码。

  1. 按住 Ctrl+Shift+Alt+/ ,选择Registry(注册表)

  2. 不要勾选:run.processes.with.pty

方法出自:Clion 中 的乱码问题正确解决方案(来自官方技术支持) - 知乎 (zhihu.com)


CLion创建项目和打开目录的区别?

经过实践,这两个没有区别,都可以正常编写和编译运行C++程序

如果使用打开目录,会提示代码洞察功能无法使用


VS

开发工具:vs2017

在vs2017中新建项目就是新建c++,然后把文件后缀改为c,具体可参考这篇:Visual Studio 2017 中创建 C 语言项目 - 知乎 (zhihu.com)

Visual Assist X 安装、使用 和 快捷键_freeking101的博客-CSDN博客

Visual Assist 特性和技巧 (2017) - 知乎 (zhihu.com)


TODO 拷贝VS的VC目录

在工具链中,对于vs2012,使用的是这个目录:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin

参考资料

开发C语言的3款神器,VS2019、VScode和IntelliJ Clion - 简书 (jianshu.com)

尝试一下Clion,抛开VS2017吧_xmcy001122的专栏-CSDN博客_clion vs

posted @ 2022-03-26 09:24  赵青青  阅读(7483)  评论(1编辑  收藏  举报