Dev-C++

文章目錄

  • 介紹
  • 使用教程
    • 常用快捷鍵
      • 文件部分
      • 格式部分
      • 行操作
      • 跳轉部分
      • 顯示部分
      • 運行部分
      • 調試部分
    • 調試流程
  • 擴展
    • 增加編譯選項
    • 開啟優化
    • 顯示最多警告信息
    • 生成調試信息
  • 編譯小 trick
    • 開大棧
    • 定義宏
    • 代碼格式化
  • 美化
    • 字體
    • 主題

介紹

Dev-C++ 是一套用于開發 C/C++ 程序的自由的集成開發環境(IDE),并以 GPL 作為分發許可,使用 MinGW 及 GDB 作為編譯系統與調試系統。Dev-C++ 運行在 Microsoft Windows 下。

Dev-C++ 的優點在于界面簡潔友好,安裝便捷,支持單文件編譯,因此成為了許多入門 OI 選手以及 C++ 語言初學者的首選。在 NOIP 中,提供 Windows 作為比賽系統的省份一般預置 Dev-C++。

Dev-C++ 起源于 Colin Laplace 編寫的 Bloodshed Dev-C++。該版本自 2005 年 2 月 22 日停止更新。2006 年,Dev-C++ 主要開發者 Colin Laplace 曾經對此作出了解釋:「因忙于現實生活的事務,沒有時間繼續 Dev-C++ 的開發。」

Orwell Dev-C++ 是 Dev-C++ 的一個衍生版本,由獨立程序員 Orwell (Johan Mes) 開發并維護。其對原版 Dev-C++ 進行了錯誤修正,并更新了編譯器版本。一般而言,Dev-C++ 5.x 均為 Orwell Dev-C++。其最后一次更新于 2015 年,版本為 5.11。

Embarcadero Dev-C++1是 Bloodshed Dev-C++ 和 Orwell Dev-C++ 的繼任者。2020 年,Embarcadero 贊助并接手了原有的 Dev-C++ 項目,繼續開發。Embarcadero Dev-C++ 加入了對高 DPI 的支持,更新了編譯器以加入更新版本的 C++ 標準支持,以及暗色模式。

以上的 Dev-C++ 分發都被認為是「官方的」。此外,在 2015 年 Orwell Dev-C++ 停止更新后,因為教學需要,一位來自中國的個人開發者 royqh1979 決定繼續開發他的 Dev-C++ 個人分支,命名為小熊貓 Dev-C++2,集成了智能提示和高版本的 MinGW64,非常便于國內的個人使用和學習。

小熊貓 Dev-C++ 6.7.5 版本發布后,作者使用 qt5 開發了全新的小熊貓 C++3,可在 windows、linux 和 macos 等系統下原生運行。小熊貓 C++ 的界面與 Dev-C++ 相似,除了提供和 Dev-C++ 相似但更加完善的單文件編譯、調試、語法高亮、搜索/替換等功能外,還提供了諸如 暗色主題、代碼智能提示、變量/函數重命名、切換/自動識別文件編碼 等現代 IDE 常見的基本功能。此外小熊貓 C++ 還具備與 CP Editor 類似的試題集功能,可以自行編寫或 從常見的 OJ 競賽網站上下載試題樣例,自動運行和測試程序。

使用教程

常用快捷鍵

文件部分

  • Ctrl + N: 創建源代碼
  • Ctrl + O: 打開文件
  • Ctrl + W: 關閉文件
  • Ctrl + P: 打印文件

格式部分

  • Ctrl + /:注釋和取消注釋
  • Tab: 縮進
  • Shift + Tab: 取消縮進

行操作

  • Ctrl + E: 復制行
  • Ctrl + D: 刪除行
  • Ctrl + Shift + Up: 向上移動
  • Ctrl + Shift + Down: 向下移動

跳轉部分

  • Ctrl + F: 搜索
  • Ctrl + R: 替換
  • F3: 搜索下一個
  • Shift + F3: 搜索上一個
  • Ctrl + G: 到指定行號
  • Shift + Ctrl + G: 到指定函數
  • Ctrl + [1 ~ 9]: 設置書簽
  • Alt + [1 ~ 9]: 跳轉書簽

顯示部分

  • Ctrl + 滾輪:字號放大或縮小
  • Ctrl + F11: 全屏或恢復

運行部分

  • F9: 只編譯
  • F10: 只運行
  • F11: 編譯并運行
  • F12: 全部重新編譯

調試部分

  • F2: 轉到斷點
  • F4: 設置斷點或取消
  • F5: 調試運行
  • F6: 停止
  • F7: 逐步調試

調試流程

  1. 將編譯器配置設定為 TDM-GCC 4.9.2 64-bit Debug
  2. F4 設置或取消調試斷點
  3. 將光標放置在變量上,按 Alt + A 向調試窗口添加監控變量
  4. F5 啟動調試
  5. F7Alt + N 逐步調試
  6. Alt + S 跳至下一個調試斷點
  7. F6 停止調試

擴展

增加編譯選項

點擊工具 -> 編譯選項,然后選擇 “代碼生成/優化” 選項卡,下面介紹我自己常用的幾個編譯選項。

開啟優化

優化代碼運行時間或占用空間。

選擇 “代碼生成” 子選項卡中的 “優化級別(-Ox)” 選項標簽。
在這里插入圖片描述

更換語言標準
使用新語言特性或試圖讓代碼在舊標準下編譯。

選擇 “代碼生成” 子選項卡中的 “語言標準(-std)” 選項標簽。

在這里插入圖片描述

顯示最多警告信息

查錯小助手。

選擇 “代碼警告” 子選項卡中的 “顯示最多警告信息(-Wall)” 選項標簽。

在這里插入圖片描述

生成調試信息

當顯示 “項目沒有調試信息,您想打開項目調試選項并重新生成嗎?” 點擊后閃退或想使用調試功能時需開啟此功能。

選擇 “連接器” 子選項卡中的 “產生調試信息” 選項標簽。
在這里插入圖片描述

編譯小 trick

點擊工具 -> 編譯選項,然后選擇 “編譯器” 選項卡,接下來介紹幾個常用 trick。

開大棧

防止 DFS 爆系統棧之類的情況出現。

在 “連接器命令行加入以下命令” 中加入 -Wl,–stack=128000000 命令。

此命令將棧開到了約 128MB 的大小,有需要可以自行增加。
在這里插入圖片描述

定義宏

方便本地評測使用文件輸入輸出或作其他用途。

在 “連接器命令行加入以下命令” 中加入 -D[String] 命令。

其中 [String] 改為你需要的宏名。

如圖,當開啟編譯選項后便可將以下代碼從 test.in 文件讀入數據并在 test.out 文件中輸出。

在這里插入圖片描述

#ifdef LOCAL
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
#endif

代碼格式化

點擊 Astyle-> 格式化當前文件 或 按 Ctrl+Shift+A 進行代碼格式化。

在這里插入圖片描述

美化

字體

點擊工具 -> 編輯器選項,然后選擇 “顯示” 選項卡。
在這里插入圖片描述

主題

點擊工具 -> 編輯器選項,然后選擇 “語法” 選項卡,可以使用預設主題,也可以自行調整。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38794.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38794.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38794.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面向云思考安全

Gartner最近的一項研究表明,到 2025 年,85% 的企業會采用云戰略,雖然這一數字是面向全球的,但可以看到在中國的環境中,基于云所帶來的優勢,越來越多的企業也同樣開始積極向云轉型。 但同時,有報…

BBS項目day02、注冊、登錄(登錄之隨機驗證碼)、修改密碼、退出登錄、密碼加密加鹽

一、注冊 1.注冊之前端頁面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注冊頁面</title><!--動態引入文件-->{% load static %}<script src"{% static js/jquery.min.js %…

【springmvc系】利用RequestBodyAdviceAdapter做接口鑒權

需求 有個簡單的需求&#xff0c;對于第三方接口我們需要做個簡單的鑒權機制&#xff0c;這邊使用的是非對稱性加密的機制。我們提供三方公鑰&#xff0c;他們通過公鑰對接口json報文使用加密后的報文請求&#xff0c;我們通過對接收過來的請求某一個加密報文字段來進行RSA解密…

婚戀交友h5多端小程序開源版開發

婚戀交友h5多端小程序開源版開發 以下是婚戀交友H5多端小程序的功能列表&#xff1a; 用戶注冊和登錄&#xff1a;用戶可以通過手機號碼或第三方賬號注冊和登錄。個人信息填寫&#xff1a;用戶可以填寫個人基本信息&#xff0c;包括姓名、性別、年齡、身高、體重、學歷、職業等…

Java課題筆記~ 數據提交的方式

前四種數據注入的方式&#xff0c;會自動進行類型轉換。但無法自動轉換日期類型。 &#xff08;1&#xff09;單個數據&#xff08;基本數據類型&#xff09;注入 在方法中聲明一個和表單提交的參數名稱相同的參數&#xff0c;由框架按照名稱直接注入。 &#xff08;2&#x…

微信小程序nfc指令異常記錄

小程序nfc相關代碼: readEvent(){wx.getNFCAdapter().startDiscovery({success:(res)>{console.log(--------------start--------)console.log(res);wx.getNFCAdapter().onDiscovered(callback>{console.log(------------onDiscovered----------)console.log(callback)…

問題:【IntelliJ IDEA】解決idea自動聲明變量加finall修飾符問題

問題:【IntelliJ IDEA】解決idea自動聲明變量加finall修飾符問題 場景復現 1 new String() 2 快捷方式生成變量 final修飾的 final String s new String();步驟一&#xff1a;確保settings配置信息 settings-----》Editor------》Code Style--------》java下的這兩個選項不…

echarts 柱狀圖-折線圖-餅圖的基礎使用

上圖示例圖表展示相關配置&#xff1a; var myChart echarts.init(this.$refs.firstMain);myChart.setOption({legend: { // 圖例設置top: "15%",type: "scroll",orient: "vertical",//圖例列表的布局朝向。left: "right",pageIconCo…

安全加密框架圖——Oracle安全開發者

Oracle安全開發者 ACLs 設計 ACLs&#xff08;訪問控制列表&#xff09;時&#xff0c;可以根據以下思路進行設計&#xff1a; 所有者文件權限&#xff1a;確定文件的所有者能夠對文件執行哪些操作&#xff0c;如讀取、寫入、執行等。這可以根據文件的性質和擁有者的職責來決…

k8s集群部署vmalert和prometheusalert實現釘釘告警

先決條件 安裝以下軟件包&#xff1a;git, kubectl, helm, helm-docs&#xff0c;請參閱本教程。 1、安裝 helm wget https://xxx-xx.oss-cn-xxx.aliyuncs.com/helm-v3.8.1-linux-amd64.tar.gz tar xvzf helm-v3.8.1-linux-amd64.tar.gz mv linux-amd64/helm /usr/local/bin…

12 注冊登錄

12 注冊登錄 整體概述 使用數據庫連接池實現服務器訪問數據庫的功能&#xff0c;使用POST請求完成注冊和登錄的校驗工作。 本文內容 介紹同步實現注冊登錄功能&#xff0c;具體涉及到流程圖、載入數據庫表、提取用戶名和密碼、注冊登錄流程與頁面跳轉的代碼實現。 流程圖&a…

六、Linux系統下,文件操作命令都有哪些?

總括&#xff1a; 創建文件/文件夾&#xff1a;touch&#xff1b; 查看&#xff1a;cat/more&#xff1b; 復制&#xff1a;copy&#xff1b; 移動文件/文件夾&#xff1a;mv&#xff1b; 刪除&#xff1a;rm&#xff1b; 1、創建文件 &#xff08;1&#xff09;語法&#x…

docker私有倉庫

# 有個遠程倉庫 &#xff0c;docker官方提供的 ---》我們可以把我們的鏡像傳上去 # 公司做的鏡像&#xff0c;一般不放在遠程倉庫&#xff0c;公司會自己搭建私有倉庫&#xff08;把公司制作的鏡像傳到私有倉庫&#xff09; 1.鏡像傳到官方倉庫 # 第0步&#xff1a;在遠端創建…

阿里云與中國中醫科學院合作,推動中醫藥行業數字化和智能化發展

據相關媒體消息&#xff0c;阿里云與中國中醫科學院的合作旨在推動中醫藥行業的數字化和智能化發展。隨著互聯網的進步和相關政策的支持&#xff0c;中醫藥產業受到了國家的高度關注。這次合作將以“互聯網 中醫藥”為載體&#xff0c;致力于推進中醫藥文化的傳承和創新發展。…

AIGC繪畫:基于Stable Diffusion進行AI繪圖

文章目錄 AIGC深度學習模型繪畫系統stable diffusion簡介stable diffusion應用現狀在線網站云端部署本地部署Stable Diffusion AIGC深度學習模型繪畫系統 stable diffusion簡介 Stable Diffusion是2022年發布的深度學習文本到圖像生成模型&#xff0c;它主要用于根據文本的描述…

UG NX二次開發(C++)-UI Styler中選擇組件或者實體后設置為工作組件

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 1、前言2、在NX2007中創建一個裝配體實例2.1 裝配體模型2.2 欲實現的功能3、創建對話框文件4、在VS2022中創建一個工程項目4.1 創建項目4.1 在hpp中添加頭文件4.2 在cpp中添加代碼4.3 生成dll5、測…

通俗講解-動量梯度下降法原理與代碼實例

本站原創文章&#xff0c;轉載請說明來自《老餅講解-BP神經網絡》bp.bbbdata.com 目錄 一.動量梯度下降法介紹 1.1 動量梯度下降法簡介與思想 1.2 動量梯度下降法的算法流程 二.動量梯度下降法代碼實例 2.1 動量梯度下降法實例代碼 一.動量梯度下降法介紹…

2023年上半年數學建模競賽題目匯總與難度分析

2023年上半年數學建模競賽題目匯總與難度分析 ?由于近年來國賽ABC題出題方式漂浮不定&#xff0c;沒有太大的定性&#xff0c;目前總體的命題方向為&#xff0c;由之前的單一模型問題變為數據分析評價優化或者預測類題目是B、C題的主要命題方向。為了更好地把握今年命題的主方…

vue3-vuex

一、概念 &#xff08;1&#xff09;Vuex 是一個狀態和數據管理的框架&#xff0c;負責管理項目中多個組件和多個頁面共享的數據。 &#xff08;2&#xff09;在開發項目的時候&#xff0c;我們就會把數據分成兩個部分&#xff0c;一種數據是在某個組件內部使用&#xff0c;我…

【C++】STL案例1-評委打分

0.前言 1.系統自動生成的評委評分代碼&#xff1a; #include <iostream> using namespace std; #include <deque> #include <vector> #include <algorithm> #include <string>//選手類 class Player { public:Player(string name, float score)…