DevC++的使用技巧以及在使用DevC++过程中可能会遇到的一些问题

前言

如果是学习C / C++,不建议使用DevC++,我们可以选择其它更高效的IDE(Clion、Visual Studio、VSCode等)。

但是DevC++作为蓝桥杯大赛(软件类)C / C++组指定的IDE(Integrated Development Environment),我们有必要学习一下如何使用它。

我们可以不用DevC++,但是我们不能不会使用DevC++。

当然,如果比赛时你所用的电脑上有别的IDE(CodeBlocks、Visual Studio2022等),也是可以使用的,选择你熟悉的IDE就可以了。

1. 官网

DevC++

2. 配置界面语言

步骤:

在菜单栏中找到:工具→环境选项→语言

在这里插入图片描述

↓↓↓

在这里插入图片描述

3. 快速新建源文件和自动生成代码模板

  • 快速生成源文件的快捷键:CTRL + N
  • 自动生成代码模板

步骤:

在菜单栏中找到:工具→编辑器选项→代码→缺省源

在这里插入图片描述

↓↓↓

在这里插入图片描述

在缺省源中输入自定义的代码模板

在比赛中,我们可以利用 CTRL + N 快捷键迅速新建源文件,一个源文件对应一道题

利用好快速新建源文件和自动生成代码模板,能为我们节省不少时间

以下是一套经典的C / C++代码模版(当然,你可以使用万能头文件)

#include <iostream>
#include <cstring>
#include <vector>
#include <string>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <iomanip>
#include <algorithm>

using namespace std;

void solve() {

}

int main() {
    std::ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    int T = 1;
    cin >> T;
    while (T--) {
        solve();
    }

    return 0;
}

4. 视图

为了使代码编辑页面最大化,我们可以关闭项目管理页面

调试时,我们可以重新打开项目管理界面查看调试信息

步骤:

在菜单栏中找到:视图→项目管理

在这里插入图片描述

5. 编译运行和调试

编译运行的快捷键:F11

调试的快捷键:F5

在比赛中不建议打断点进行调试,毕竟比赛时代码量也不大,如果打断点进行调试可能会耗费大量时间

如果想快速找到问题所在,可以在关键处打印出变量的信息来辅助调试

5.1 调试的注意事项

DevC++默认是不产生调试信息的,在不产生调试信息的情况下进行调试会出现以下界面

在这里插入图片描述

要想正常使用调试功能,需要打开产生调试信息

步骤:

在菜单栏中找到:工具→编辑选项→代码生成 / 优化→连接器→产生调试信息

![在这里插入图片描述](https://img-blog.csdnimg.cn/415b58037ab14c6283f2ab66c48d623a.png

↓↓↓

在这里插入图片描述

5.2 调试时查看变量的信息

添加断点后点击添加查看(在底部功能栏的调试里),输入你想监听的变量的名称

在这里插入图片描述

按下调试按钮后,不断点击下一步(或下一条语句),即可实时查看到某个变量的值

在这里插入图片描述

6. 更改主题和更改语法高亮提示

DevC++的默认主题中代码编辑界面的背景是白色的,对于喜欢晚上敲代码的小伙伴来说十分不友好。

6.1 更改主题

步骤:

在菜单栏中找到:工具→编辑器选项→语法→预设

![在这里插入图片描述](https://img-blog.csdnimg.cn/0c553fe2225e4467902972bd6bbb4d1e.png

↓↓↓

在这里插入图片描述

在下拉列表中选择自己喜欢的主题

6.2 更改语法高亮提示

步骤:

在菜单栏中找到:工具→编辑器选项→语法→选择某个属性→更改前景和背景的颜色

前景可以理解为对应代码的颜色,背景可以理解为对应代码的背景颜色

在这里插入图片描述

↓↓↓

在这里插入图片描述

这里列出几个常用的属性

属性含义
Comment注释
Number数字
String字符串
Selected text被选中的代码

7. 常用快捷键以及快捷键的更改

7.1 格式化代码

相信用惯了JetBrains全家桶的小伙伴早已习惯了CTRL+ALT+L的代码格式化快捷键。

为了符合JetBrains全家桶的使用习惯,我们选择更改格式化代码的快捷键。

步骤:

在菜单栏中找到:工具→快捷键选项→格式化当前文件

鼠标选中对应的条目之后按下自定义的快捷键即可

在这里插入图片描述

↓↓↓

在这里插入图片描述

我们也可以选择格式化代码的括号风格(默认是Java的括号风格)

步骤:

在菜单栏中找到:Astyle→格式化选项→括号风格

在这里插入图片描述

↓↓↓

在这里插入图片描述

7.2 复制行

更改为CTRL+D(为了符合JetBrains全家桶的使用习惯)

在这里插入图片描述

7.3 删除行

更改为CTRL+Y(为了符合JetBrains全家桶的使用习惯)。

在JetBrains全家桶的软件中,选中若干行代码后按下 CTRL+Y 快捷键,选中的行都会被删除(而且某一行的代码即使没有完全被选中,该行代码也会被完全删除)。

而在DevC++中,即使选中多行代码后按下 CTRL+Y 快捷键,也只能删除鼠标光标所在的那一行代码。

在这里插入图片描述

7.4 搜索文件内容

快捷键:CTRL+F

在这里插入图片描述

建议把“搜索文件内容”快捷键前面的“搜索”快捷键删除掉(按下Delete键或ESC键即可删除快捷键)

7.5 替换文件内容

快捷键:CTRL+R

在这里插入图片描述

建议把“替换文件内容”快捷键前面的“替换”快捷键删除掉(按下Delete键或ESC键即可删除快捷键)

注意替换时要选择替换当前文件

在这里插入图片描述

如果想快速替换某个单词,只需要双击该单词,然后按下 CTRL+R 快捷键,DevC++会自动帮我们将要替换的单词填上去

在这里插入图片描述

↓↓↓

在这里插入图片描述

7.6 比赛中的小技巧

在比赛时,题目给出的数据有可能会超出 int 的数据范围。

为了方便,无论题目给出的数据有没有超出 int 的数据范围,我们统一使用 long long 。

但是我们平时习惯了使用 int ,让我们短期内改变自己的习惯不太可能。

这个时候我们就可以用替换文件内容的功能,把当前文件中的 int 全改为 long long ,最后再单独把main函数前面的 long long 改回 int 。

(替换文件内容时记得选择当前文件,不然当前打开的所有文件中的int都会变成long long)

7.7 代码补全

更改为CTRL+ENTER

相比JetBrains全家桶来说,DevC++的代码补全功能没有那么好用。

在这里插入图片描述

更改完代码补全的快捷键后,我们再修改一下代码补全的延时

步骤:

在菜单栏中找到:工具→编译器选项→代码补全→Code Completion

然后将延时拉到最左边

在这里插入图片描述

↓↓↓

在这里插入图片描述

设置完成之后,我们打出一个字母,按下 CTRL+ENTER 快捷键之后就会弹出代码补全提示了

在这里插入图片描述

如果我们想使用某个函数,又不想把整个函数名全部打完(或者函数名记得不是很清晰),我们也可以按下 CTRL+ENTER 快捷键来获得提示。

比如,我想使用 cmath 头文件下的 sqrt() 函数,当我打出 sq 时,按下 CTRL+ENTER 快捷键就可以获得提示(弹出提示的前提是源文件已经包含了函数所在的头文件,当然,你可以使用万能)。

在这里插入图片描述

如果我们想查看函数返回的参数和调用该函数所需要传递的参数,我们可以把鼠标光标置于函数填写参数的地方(即括号中),就可以查看相关信息。

在这里插入图片描述

7.8 代码上移或下移

代码上移:CTRL + SHIFT + ↑

代码下移:CTRL + SHIFT + ↓

这两个快捷键也可以在JetBrains全家桶中使用。

示例(某一行的代码无需全部选中):

在这里插入图片描述

按下 CTRL + SHIFT + ↑ 快捷键后,选中的代码就会自动上移一行(若选中的代码上移一行后进入了另一个代码块,DevC++会自动帮我们调整代码的位置)。

在这里插入图片描述

最后再按下代码格式化快捷键 CTRL+ALT+L

在这里插入图片描述

8. 查看函数所需要的形参

当我们不记得使用某个函数需要传递什么参数时,我们可以点击函数的括号以获得相关提示(如果点击函数的括号没有弹出提示,说明还没有包含函数所在的头文件

在这里插入图片描述

点击提示上的小箭头,还可以查看函数的各个重载版本分别需要什么参数。

9. 调整代码的字体大小

按住CTRL键后滚动鼠标滑轮即可调整代码字体大小

10. CTRL+鼠标左键

  1. 按住CTRL键后鼠标左键点击函数名可以快速定位到函数实现的位置,查看函数的源码

  2. 按住CTRL键后鼠标左键点击某个变量,可以快速跳转到定义该变量的位置

在程序的代码量比较大时,利用好该技巧可为我们节省一点时间

11. 在使用DevC++过程中可能会遇到的一些问题

11.1 使用auto关键字时报错

在这里插入图片描述

编译器给出以下提示信息

[Warning] ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]

原因:auto关键字在C++11之后的含义已经发生改变(根据提示信息推断出来的)

解决方法1:

  1. 在菜单栏中找到:工具→编辑选项
  2. 勾选编译时加上以下命令
  3. 输入以下代码
-std=c++11

在这里插入图片描述

解决方法2(推荐):

  1. 在菜单栏中找到:工具→编辑选项→代码生成 / 优化→代码生成→语言标准(-std)
  2. 选择GNU C++11
    在这里插入图片描述

11.2 使用to_string方法时报错

在这里插入图片描述

编译器给出以下提示信息

[Error] ‘to_string’ was not declared in this scope

原因:to_string方法是C++11之后才出现的

解决方法:同“11.1 使用auto关键字时报错”

11.3 ld returned 1 exit status

之所以出现这个问题,是因为当前的程序正在另一个窗口运行(如果你的程序耗时较长,即使你关掉了窗口,程序也可能还没有真正关闭,需等待片刻才能重启程序)

如图,当前程序正在运行,需要我们输入一个整数

如果我们没有输入整数且没有关闭这个窗口,同时又再次编译运行当前程序,编译器就会给出提示信息[Error] ld returned 1 exit status

在这里插入图片描述

解决方法:关闭正在运行程序的窗口

  • 35
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聂 可 以

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值