本人使用Dev-C++的时候遇见过一些问题,在此总结出来。

1.下载地址:

https://pc.qq.com/detail/16/detail_163136.html
Dev-C++ 5.11 版本,2015年发行,官网不一定可以进去,所以在腾讯软件中心下载比较方便、安全。
新版地址(非官方魔改版?):
https://github.com/Embarcadero/Dev-Cpp/releases
中文版本:
https://github.com/banzhusoft/devcpp

2. 中文乱码

只有2020/10/12之后的 Dec-C++版本的编码支持 utf-8,旧版的 Dev-C++ 可以使用 ANSI 编码。


先关闭Dev-C++, 将乱码的文件用记事本打开。

打开之后点击文件(File) - 另存为(Save As)

编码(Encoding) 选择 ANSI,然后保存(Save)

选择是(Yes)

再次用Dev-C++打开,就发现没有中文乱码了

另外, 如果在网上复制了代码粘贴到 DEV-C++ 上出现了乱码情况,可以先用记事本打开保存代码的文档,再按照上述方法将编码方式转为 ANSI 编码,就没有乱码了。(如果此方法也不行,则将此编译器的 Tools-Envrionment options 中将语言改为中文,电脑的输入法改为中文输入,再进行粘贴。此外,Windows系统区域设置的语言如果不是中文也可能造成无法识别中文)

3.C/C++11环境

安装完成之后的 Dev-C++ 默认是不支持C/C++11的,这会带来诸多不便,例如C语言中 for 循环的小括号里面不能定义变量,C++不支持使用 auto, 因此添加C/C++环境比较重要。

在 Dev-C++ 上侧的菜单栏中点击 Tools - Compiler Options… (中文的对应顺序和英文的相同)

在出现的界面栏点开第一个勾, 在输入栏里加入:-std=c11
(加入此命令之后可能出现类似 [Warning] command line option '-std=c++11' is valid for C++/ObjC++ but not for C的警告,无视即可)

然后选择 Settings - Code Generation , 点击右侧最下方的带箭头的方块,选择 ISO C++ 11
为了养成良好的编程习惯,可以将编程产生的警告信息显示出来。 选择 Settings - Warnings , 点击右侧第二个带箭头的方块,选择 Yes

选择 Settings - Linker , 点击右侧第二个带箭头的方块,选择 Yes

点击 OK 。

除此之外,为预防 Debug 的时候产生问题, 请再次在 Dev-C++ 上侧的菜单栏中点击 Tools - Compiler Options… 点击 TDM-GCC 4.9.2 64-bit Release , 选择 TDM-GCC 4.9.2 64-bit Debug, 再此按照上述步骤配置一遍,这样 C/C++ 11 的环境就配置好了。

4. 左侧工具栏

有些时候为了分屏,会拖动鼠标将左侧工具栏隐藏,但是再次打开之后却发现不能够把工具栏拖出来了。点击 View - Project/Class Browser 。然后再次点击,就可以将左侧工程栏拖出来了。

5. 函数提示

有些时候在输入中文的时候会被函数提示所挡住,可以点击 Tools - Editor Options

再将 Show function hints 的勾去掉

另外,在 completion 中有自动补齐括号的设置

6. 代码对齐

ctrl + shift + a

7. 添加命令行参数

在 Dev-C++ 上侧的菜单栏中点击 Execute - Parameters…

输入想要加入的参数,点击 OK

在程序中验证所加入的参数

8. 修改栈内存大小

在OJ中,大部分的OJ允许使用任意的栈内存大小(在规定的内存范围内)。但是通常情况下系统默认的栈大小是有限制的。Linux中,栈大小并没有储存在可执行程序中,只能用ulimit -s <byte count>命令修改;Windows中,栈大小存储在可执行程序中,用gcc编译时可以通过-Wl,--stack=<byte count>指定。(实际使用时将<byte count>改为具体的数字,单位是字节。512MB=536870912B, 一般OJ题目的内存限制最大为512MB, 因此数字可以填536870914。)

在 Dev-C++ 上侧的菜单栏中点击 Tools - Compiler Options… (中文的对应顺序和英文的相同)

如果在步骤3中输入过 -std=c11, 那么就在其后加一个空格,然后再输入 -Wl,--stack=536870914
如果没有输入过-std=c11 就直接输入 -Wl,--stack=536870914

添加之前在main函数中开大数组会运行错误

添加之后不会出现此错误