FAQ软件功能Code style | CLion (jetbrains.com)File and Code Templates/Live TemplatesMISRA Checks [Clion中支持列表]compiler explorer 调试工具BreakPointVariablesWatchesLLDB - MSVC /GDB - GCCMemery VIEWUnit TestingLanguage and framework-specific guidelines添加脚本小节引用GNU ARM汇编语言ld链接脚本详解内存分配引用
FAQ
内嵌终端Vim编辑模式下ESC键失效
Debug Console 调试不输出内容
在main函数中添加

Cannot open Local Terminal
问题描述: 打开Terminal时,显示【Cannot open Local Terminal】
产生原因: 终端路径错误
解决方法:
- 沿着 File | Settings | Tools | Terminal 路径打开
- 更改终端路径

解决 Clion内嵌终端乱码问题
问题描述: 使用 Oh my posh 优化过的终端(powershell),自身打开显示正常,但clion内嵌中打开,显示会有乱码。
产生原因: Clion中内嵌终端默认字体和编辑器一致,而编辑器默认字体非nerd font,因此会产生乱码。
解决方法:
- 下载 Nerd 字体(推荐 Fantasque Sans Mono)并安装
- 打开设置路径File | Settings | Editor | Color Scheme | Console Font,勾选【Use console font instead of default】,避免和编辑器使用同一个缺省字体,接着在下拉框中选择刚刚安装的字体。假如发现安装的字体没有显示,可以取消勾选【Show only monospaced fonts】后继续寻找

- 遇到任何CMake相关的报错,一般是由于缓存没有更新引起的,可以在CLion中选
Tools-CMake-Reset Cache and Reload Project即可解决。
软件功能
编译器环境搭建 MinGW、Cygwin、VS、WSL
CMake 添加静态、动态链接库
+---factorial
| CMakeLists.txt
| factorial.c
| factorial.h
|
+---fibonacci
| CMakeLists.txt
| fibonacci.c
| fibonacci.h
| library_with_cmake.c
| CMakeLists.txt
子文件夹 添加静态库 factorial→CMakeLists.txt
子文件夹 添加动态库 fibonacci→CMakeLists.txt
根目录 CMakeLists.txt
ldd 查看可以执行程序关联的动态库
执行 install 可以在 CLion 菜单中 Build -> install,也可以在 cmake-build-* 目录下执行
这样我们就可以在 install 目录下直接执行相应的可执行程序了。
添加动态库,可以将 .so 库添加进入 “lib/”,“/usr/lib”,”/usr/local/lib“
添加动态链接库,出现如下问题:
"error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
原因1:未包含共享库,或共享库版本不对
解决方法:下载安装
原因2:已包含,但默认共享库路径找不到对应共享库文件
解决方法
1) . 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令
ldconfig 命令的用途, 主要是在默认搜寻
目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序 (ld.so) 所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.
2) . 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:3).如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径)。那可以export一个全局变量LD_LIBRARY_PATH,然后ldconfig刷新下,然后运行程序的时候就会去这个目录中找共享库.
LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.
其他参考
”cannot start process,the working directory '********' does not exist“ 错误的原因和解决办法
原因:
idea没有工作空间这个概念,所以在创建工程的时候指定的工作区间,idea无法找到对应的工程,导致编译不通过。我们要设置一下,idea才会识别到你的工程位置。、
解决方法:$MODULE_DIR$, 动态识别工作区间,保存设置。
参考链接
Code style | CLion (jetbrains.com)
选择代码风格 → 格式化风格 → 打开Inspection功能
File and Code Templates/Live Templates

LiveTemplate

hed
end
MISRA Checks [Clion中支持列表]
设置可以在 CLion 的Settings/Preferences | Editor | Inspections | C/C++ | General | MISRA Checks中找到。您可以配置要在项目上运行的 C 和 C++ 检查列表。
compiler explorer
实现一些原型、测试跨编译器的兼容性、测试编译器bug,还有分析生成的汇编,
Clion 查看反编译的汇编代码?
- GDB 的 disas,汇编码的话 LLDB 里用
disas
- debug 信息的代码,step into 会调到
Disassembly界面
- Clion查看 compiler Explorer Exception reading from http://localhost:10240
Exception reading from http://localhost:10240
调试工具
BreakPoint
跳到调用的函数
Variables
Watches
Evaluate Expression, 可添加复杂的表达式
LLDB - MSVC /GDB - GCC
只在调试时候生效
永久生效方法 用户目录下添加 .lldbinit文件,
将setting set target.x86-disassembly-flavor att/itel 添加到文件种对于GDB,用户目录下添加 .gdninit文件,将
set disassembly-flavor att 添加到文件种Memery VIEW
&i
&main
小端序显示
Unit Testing
单元测试 - 功能 | CLion (jetbrains.com.cn)(官网功能特点简介)
Language and framework-specific guidelines
添加脚本
小节引用
GNU ARM汇编语言
ARM编译器和GNU ARM编译器GCC对比

GNU ARM伪指令操作

ld链接脚本详解
内存分配
引用
- Author:felixfixit
- URL:http://www.felixmicrospace.top/article/guide_to_clion
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!











