惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recorded Future
Recorded Future
Y
Y Combinator Blog
Cloudbric
Cloudbric
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cybersecurity and Infrastructure Security Agency CISA
TaoSecurity Blog
TaoSecurity Blog
Security Latest
Security Latest
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
D
DataBreaches.Net
Security Archives - TechRepublic
Security Archives - TechRepublic
H
Hacker News: Front Page
C
Cisco Blogs
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V
Vulnerabilities – Threatpost
L
LINUX DO - 最新话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
A
About on SuperTechFans
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
C
CXSECURITY Database RSS Feed - CXSecurity.com
Schneier on Security
Schneier on Security
T
Tenable Blog
N
News and Events Feed by Topic
W
WeLiveSecurity
有赞技术团队
有赞技术团队
AI
AI
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
Latest news
Latest news
T
The Blog of Author Tim Ferriss
S
Security Affairs
Know Your Adversary
Know Your Adversary
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
Google DeepMind News
Google DeepMind News
The Cloudflare Blog

lzw-723's blog

raylib基础学习 | lzw-723's blog Lojban教程 - 逻辑语学习中常见专有名词列表 | lzw-723's blog Lojban基础教程 - 字母 | lzw-723's blog 扩充巴科斯范式(ABNF)初识 | lzw-723's blog 【译】5分钟入门Nim编程语言 | lzw-723's blog Cakewalk安装无反应的解决办法 | lzw-723's blog C语言教程 - while循环 | lzw-723's blog 《Moe Era》 - 时代潮流中不值一提的我 | lzw-723's blog C语言教程 - for循环 | lzw-723's blog
C++ FAQ | lzw-723's blog
2021-10-08 · via lzw-723's blog

Dev-C++ FAQ

2021-10-08 6 min read

使用过程中的踩坑记录。

什么是Dev-C++

百度百科的dev词条描述

Dev-C++是一个Windows下的CC++程序的集成开发环境。它使用MingW32/GCC编译器,遵循C/C++标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能够适合初学者与编程高手的不同需求,是学习CC++的首选开发工具!多国语言版中包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大利语等二十多个国家和地区语言提供选择。

百度百科的Dev-C++词条描述

Dev-C++(或者叫做Dev-Cpp)是Windows环境下的一个轻量级C/C++集成开发环境IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了功能强大的源码编辑器、MingW64/TDM-GCC编译器、GDB调试器和AStyle格式整理器等众多自由软件,适合于在教学中供C/C++语言初学者使用,也适合于非商业级普通开发者使用。

为什么选择Dev-C++

正如百度百科中的描述,使用Dev-C++更多的是C/C++语言初学者
相较于别的C语言IDE,较为完善的中文界面、简洁的视图面板、自带编译器、大量的踩坑记录、国内大师的经典教材,让Dev-C++在国内久盛不衰。

选择哪个Dev-C++

有哪些版本

Dev-C++版本 开发商(者) 更新情况 特点
Bloodshed Dev-C++ Bloodshed公司 2011年 v4.9.9.2 后停止开发 蓝色经典
Orwell Dev-C++ 独立开发者 Orwelldevcpp 2016年 v5.11后停止更新 TDM-GCC 4.9.2 32/64bit
Banzhusoft Dev-C++ 国内开发者 Banzhusoft (斑竹软件) 最新版本 5.15(2020年9月发布) 现代化的改进、编译出错信息中文显示、代码自动格式化
小熊猫Dev-C++ (原名Dev C++ 2020) 国内开发者 royqh1979 最新 2021年8月20日 Version 6.7.5 优化改进代码补全提示、界面改善功能增强、自动链接、自带GCC集成EGE绘图库和海龟作图库及其项目模板
Embarcadero Dev-C++ Embarcadero公司 最新 2021年1月31日 v6.3 增新功能,添加了新主题,增加了多种字体,主图标更改为红色

版本演进

Dev-C++版本演进

各版本工作界面

Banzhusoft Dev-C++
Banzhusoft Dev-C++ 5.15 工作界面
小熊猫Dev-C++
小熊猫Dev-C++ 2020 工作界面
Embarcadero Dev-C++
Embarcadero Dev-C++ v6.3 工作界面

笔者推荐的版本

小熊猫Dev-C++和Embarcadero Dev-C++都是不错的选择,截至目前两者都在持续更新。
小熊猫Dev-C++较原版Dev-C++界面变动小,还添加了图形库方便初学者,对国人更为友好。
Embarcadero Dev-C++界面更为现代、美观,由Embarcadero公司维护,较为可靠(大概)。
笔者选择Embarcadero Dev-C++作为本文研究对象。

Dev-C++常见问题及技巧

新手问题

新建工程

请在Dev-C++中将工程区别于源代码

文件>新建>项目,选择项目模板、编程语言、填写项目名称,完成。

Dev-C++工程结构

一个普通工程目录下有如下文件

    HelloWorld.dev 项目文件,双击打开这个Dev-C++项目
    HelloWorld.exe 编译生成的可执行文件
    HelloWorld.layout 项目的其他配置信息(如编辑器的外观设置)
    main.c 代码文件
    main.o 编译中间产物
    Makefile.win Makefile文件(Windows平台)

解决输出中文乱码

如果你直接在Dev-C++中打印你好,你会得到浣犲ソ
要解决这个问题,工具>编译器选项>编译器,勾选编译时加入如下命令,在下方文本框中输入-fexec-charset=gbk,问题解决。

进阶技巧

解决编辑器中文无法显示

截至2021年10月14日官方还是没有修复,相关的issue积攒了五六个(╬▔皿▔)凸

你可能遇到过在编辑器中输入中文取消选中后文字隐形的情况,不要着急,急也没用。
工具>编辑器选项>显示>编辑器字体,取消勾选底部的ID 27071 translation missing,中文正常显示。

为程序添加图标

图标文件仅支持ico格式,可以使用在线转换网站转换图片文件到*.ico文件。

项目>项目属性>普通,图标>库——可以使用自带的图标,图标>浏览——可以使用自定义的图标。

为程序添加资源

选32位还是64位

64位的程序仅支持在64位的平台上执行,而32位的程序在32位和64位的平台上都能执行。
不过32位的程序在64位平台有最大使用内存等限制。
请根据你的目标平台选择。

隐藏控制台黑窗口

项目>项目属性>编译器>定制>连接器>不产生控制台窗口,选择Yes。

添加第三方库

项目>项目属性

添加库文件

进入文件/目录
库目录——添加第三方库的.a和.dll文件目录。
包含文件目录——添加第三方库头文件目录。

链接库

进入参数
链接下面的文本框中添加链接参数,例如:-luuid,多个库使用空格或换行分开。

常见绘图库

什么是win32程序

参考资料

[1]dev(计算机语言C/C++开发工具)_百度百科
[2]Dev-C++_百度百科

    • 什么是Dev-C++
    • 为什么选择Dev-C++
    • 选择哪个Dev-C++
      • 有哪些版本
      • 版本演进
      • 各版本工作界面
      • 笔者推荐的版本
    • Dev-C++常见问题及技巧
      • 新手问题
        • 新建工程
        • Dev-C++工程结构
        • 解决输出中文乱码
      • 进阶技巧
        • 解决编辑器中文无法显示
        • 为程序添加图标
        • 为程序添加资源
        • 选32位还是64位
        • 隐藏控制台黑窗口
        • 添加第三方库
          • 添加库文件
          • 链接库
          • 常见绘图库
        • 什么是win32程序
    • 参考资料