C++簡明教程(文章要求學過一點C語言)(3)

一、編程工具大揭秘——IDE

當我們準備踏入 C++ 編程的奇妙世界時,首先要認識一個重要的“魔法盒子”——集成開發環境(IDE)。IDE 就像是一個全能的編程工作室,它把我們寫代碼所需要的各種工具都整合到了一起,讓編程這件事變得更加方便、高效。

一般來說,一個 IDE 主要包括以下幾個關鍵部分:

  1. 代碼編輯器:這是我們編寫代碼的地方,就像是作家的書桌。它有很多厲害的功能,比如語法高亮。當我們寫 C++ 代碼時,它會把關鍵字(像 intifelse 等)用一種顏色顯示,把字符串常量(例如 "Hello, World!")用另一種顏色顯示,這樣我們一眼就能看出代碼的結構,就像給不同的文字標上了不同顏色的記號筆,讓我們的“文章”(代碼)條理清晰。還有自動補全功能,當我們輸入一部分代碼,比如輸入 #inc,它就能猜出我們要寫 #include,然后幫我們自動補全,就像輸入法能自動補全我們常寫的詞語一樣,大大提高了我們寫代碼的速度。
  2. 編譯器:編譯器可是個神奇的“翻譯官”。我們用 C++ 寫的代碼,計算機是看不懂的,編譯器的作用就是把我們寫的 C++ 代碼翻譯成計算機能理解的機器語言。它會仔細檢查我們的代碼有沒有語法錯誤,如果有錯誤,就會像老師批改作業一樣,把錯誤的地方標出來,讓我們修改。只有當代碼通過了編譯器的“語法考試”,才能被翻譯成機器語言,這樣計算機才能按照我們寫的代碼去做事情。
  3. 調試器:這是我們抓代碼“小蟲子”(錯誤)的好幫手。當我們的程序運行結果不對時,調試器就派上用場了。它可以讓程序一步一步地慢慢運行,我們可以在這個過程中查看變量的值,看看是不是和我們預期的一樣。比如說,我們寫了一個計算兩個數相加的程序,但是結果不對,通過調試器,我們可以看看是不是在賦值或者計算的過程中出現了問題,就像給程序做一個“體檢”,找出哪里出了毛病。

二、走進 Visual Studio(VS)的世界

VS 是微軟(Microsoft)公司開發的一款非常強大的 IDE,在 Windows 平臺上被廣泛使用。它就像是編程世界里的一座宏偉的“宮殿”,里面有各種各樣的“房間”(功能)供我們探索。

VS 有社區版和專業版:

  • 社區版:對于初學者來說,這是一個很棒的選擇,因為它是免費的。社區版提供了基本的 C++ 編程功能,包括代碼編輯、編譯和調試等,讓我們可以輕松地開始學習 C++ 編程,就像給我們提供了一個簡單但實用的“小木屋”,雖然沒有“宮殿”那么豪華,但足夠我們開始探索編程的奧秘。
  • 專業版:這個版本就更加厲害了,它有很多高級的功能。比如更強大的調試工具,可以讓我們更深入地查找程序中的錯誤;還有團隊協作功能,如果我們和其他小伙伴一起開發一個大型項目,就可以用這個功能方便地進行代碼管理和溝通,就像給專業的編程團隊提供了一個裝備精良的“城堡”,滿足他們在復雜項目開發中的各種需求。

VS 使用的編譯器是 MSVC(Microsoft Visual C++ Compiler),它和 VS 配合得非常默契,能夠很好地把我們寫的 C++ 代碼翻譯成高效的機器語言,就像一對配合嫻熟的舞者,在編程的舞臺上展現出精彩的“表演”(編譯出優質的可執行文件)。

下載VS:https://visualstudio.microsoft.com/zh-hans/vs/
安裝方法不再贅述:https://blog.csdn.net/Javachichi/article/details/131358012

三、創建我們的第一個項目

打開 VS 后,我們就像走進了一個充滿無限可能的編程天地。在這里,我們要創建一個項目,項目就像是一個裝滿了各種編程寶貝的“魔法盒子”,把我們寫的代碼、配置信息等都裝在里面。

VS 中有很多項目類型,比如控制臺應用程序、Windows 桌面應用程序、MFC(Microsoft Foundation Classes)應用程序、QT 應用程序等。這里我們先選擇 C++ 控制臺項目,那什么是控制臺呢?控制臺就像是一個和計算機“對話”的窗口,我們可以在這個窗口里輸入一些信息,計算機也可以在這個窗口里給我們輸出一些結果。比如說,我們寫一個簡單的加法程序,在控制臺里輸入兩個要相加的數,計算機就會在這個窗口里把結果顯示出來,就像我們和計算機在這個小小的“對話框”里聊天一樣。

當我們選擇創建 C++ 控制臺項目時,其實 VS 已經在后臺幫我們做了一些基本的配置,這些配置就像是給我們的“魔法盒子”準備好了一些初始的“魔法道具”。但如果我們以后要開發 GUI(Graphical User Interface,圖形用戶界面)應用程序,比如像我們平時使用的軟件那樣有漂亮的窗口、按鈕等,我們可能就會選擇 MFC 或者 QT 項目類型,這時候 VS 會在空項目的基礎上配置更多的東西,就像給我們的“魔法盒子”添加更多更高級的“魔法道具”,讓我們能夠創造出更加豐富多彩的程序。

四、深入了解項目配置

一個項目就像一個小小的編程王國,而項目配置就是這個王國的“規章制度”。在 VS 中,我們可以對項目進行各種配置,讓它更符合我們的需求。

比如輸出目錄,這就像是我們王國的“寶藏倉庫”,我們可以指定編譯后生成的文件(比如可執行文件)存放在哪里。我們可以創建一個專門的文件夾,然后把輸出目錄設置為這個文件夾的路徑,這樣我們就能很容易地找到編譯好的文件,就像把寶藏都放在一個特定的倉庫里,方便我們隨時取用。

工作目錄呢,就像是我們在王國里工作的“辦公室”,當程序運行時,如果它要讀取一些文件,就會默認在這個工作目錄下去找。比如說我們的程序要讀取一個配置文件,只要把這個配置文件放在工作目錄下,程序就能順利地找到它,就像我們在辦公室里找文件一樣,知道去哪里找自己需要的東西。

還有其他配置,比如是否開啟編譯器優化,C++版本等等。

VS 是通過一些特殊的文件來實現項目配置的,比如.sln 文件和.vcxproj 文件。.sln 文件就像是我們編程王國的“總地圖”,它管理著整個項目或者多個項目之間的關系。如果我們的項目比較大,可能會有多個部分,每個部分都是一個獨立的項目,這時候.sln 文件就能把它們都管理起來,讓我們可以方便地在不同項目之間切換和協調,就像拿著總地圖在一個大城堡里穿梭不同的房間一樣。.vcxproj 文件則是單個項目的“詳細說明書”,它里面記錄了源文件和頭文件的路徑、編譯器選項、鏈接器選項等各種詳細信息。當 VS 編譯我們的項目時,就會按照這個“說明書”上的指示去做,就像建筑工人按照建筑圖紙來蓋房子一樣,確保項目能夠正確地編譯和運行。我們在進行項目配置時實際上就是在修改這兩個文件。

.sln中文稱為解決方案,一個解決方案可以包含多個項目,后面的文章會講到如何在一個解決方案種添加多個項目。

五、項目的多種配置模式

在一個項目中,我們可以設置多種不同的配置,就像給我們的編程王國準備不同的“裝扮”。一般來說,最常用的是 debug 和 release 兩種配置。

debug 模式就像是給程序戴上了一個“放大鏡”,它會生成包含很多調試信息的可執行文件。這些調試信息就像是在程序的各個關鍵地方都安裝了“攝像頭”,讓我們可以在程序運行的時候查看變量的值、跟蹤程序的執行流程。比如說我們寫了一個計算數學題的程序,但是結果不對,在 debug 模式下,我們可以一步一步地看程序是怎么計算的,看看是不是在某個地方算錯了,就像用放大鏡仔細檢查一個精密儀器的內部結構,找出哪里出了問題。

release 模式則像是給程序穿上了一雙“跑鞋”,它的目標是讓程序跑得更快。在這個模式下,編譯器會對代碼進行各種優化,去掉一些不必要的東西,讓程序的運行效率更高。生成的可執行文件會更小、運行速度更快,就像一輛經過改裝的賽車,去掉了多余的重量,調整到最佳的性能狀態,全力沖刺。但是因為它主要關注速度,所以不會包含 debug 模式下的那些調試信息,所以如果程序出了問題,在 release 模式下就不太容易找到錯誤原因。

除了 debug 和 release 模式,還有位數的配置,比如 x86 和 x64。x86 是指 32 位的程序,x64 是指 64 位的程序。簡單來說,64 位的程序可以使用更多的內存,對于一些大型的程序或者需要處理大量數據的程序來說,64 位可能會更合適;而 32 位的程序在一些舊的系統或者對內存需求不大的情況下也有它的優勢。當我們把 debug 和 release 模式與位數配置結合起來,實際上就有了 4 種配置,分別是 debug x86、debug x64、release x86 和 release x64。我們還可以根據自己的需求新建一組配置,就像給我們的編程王國定制一種新的“裝扮風格”,讓項目更符合我們的特殊要求。

實操環節

在這里插入圖片描述
控制臺上面這個黑框就是控制臺
在這里插入圖片描述
點擊創建,項目就創建好了,可以看到有一個main.cpp的文件。
然后我們把窗口關掉,學習如何打開一個項目。
直接雙擊.sln文件就能打開解決方案。
在這里插入圖片描述
也可以像下面這樣:
在這里插入圖片描述
選擇sln文件打開即可
在這里插入圖片描述

多種配置,表示目前正在使用debug x86的配置,推薦把x86改為x64.
在這里插入圖片描述

這個可以新增配置:
在這里插入圖片描述
在這里插入圖片描述
目前初學,不用新增,這幾種配置夠用的。

下面來看每種配置的詳細配置,通過屬性管理器查看。
在這里插入圖片描述

可以看到這個項目有四種配置。
在這里插入圖片描述
右鍵屬性,即可查看配置。
在這里插入圖片描述
可修改的配置非常多,可以自行研究下,他們的作用。
如果要修改C++版本,修改這里即可。
在這里插入圖片描述

生成,是指生成目標文件,比如exe,清理是指刪除生成的目標文件。
在這里插入圖片描述

調試執行生成的文件,如果點擊后,VS檢測到沒生成,那么就先自動生成,再調試執行。調試執行就是遇到斷點會停下。
在這里插入圖片描述

看看這個文章:https://blog.csdn.net/weixin_45100742/article/details/135152562

也可以忽略所有斷點直接運行,開始執行不調試。
在這里插入圖片描述
我們也可以這樣運行,找到這個生成的exe文件,直接運行他。
在這里插入圖片描述

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

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

相關文章

達夢官方工具 SQLark數據遷移(oracle->達夢數據庫)

應國產化需求需要,需將系統中涉及的各中間件替換成國產中間件,此文介紹了從Oracle遷移數據至達夢dm8的步驟,該文在windos環境下已驗證測試過 1 SQLark介紹 SQLark是一款專為信創應用開發者設計的數據庫開發和管理工具。它支持快速查詢、創建和管理多種類型的數據庫系統&#xf…

【JAVA】JAVA接口公共返回體ResponseData封裝

一、JAVA接口公共返回體ResponseData封裝&#xff0c;使用泛型的經典 例子 public class ResponseData<T> implements Serializable { /** * */ private static final long serialVersionUID 7098362967623367826L; /** * 響應狀態碼 */ …

AlipayHK支付寶HK接入-商戶收款(PHP)

一打開支付寶國際版 二、點開商戶服務 三、下載源碼

【Prompt Engineering】6 文本擴展

一、引言 文本擴展&#xff1a;將短文本輸入到大型語言模型中&#xff0c;生成更長的文本。應用場景&#xff1a;頭腦風暴、生成電子郵件或論文等。風險&#xff1a;可能被用于生成垃圾郵件。使用原則&#xff1a;負責任地使用&#xff0c;確保有益于人們。技術準備&#xff1…

nginx學習總結(不包含安裝過程)

1. nginx常見配置 http服務上支持【若干虛擬主機】。每個虛擬主機對應一個server配置項&#xff0c;配置項里面包含該虛擬主機相關的配置。 server{listen 80 default;server_name www.yonqin.com;index index.html index.htm index.php;root /data/www;location ~ .*\.(gif|…

CSS系列(29)-- Scroll Snap詳解

前端技術探索系列&#xff1a;CSS Scroll Snap詳解 &#x1f4dc; 致讀者&#xff1a;探索流暢滾動體驗 &#x1f44b; 前端開發者們&#xff0c; 今天我們將深入探討 CSS Scroll Snap&#xff0c;這個強大的滾動優化特性。 基礎特性 &#x1f680; 容器設置 /* 基礎滾動…

如何設計高效的商品系統并提升擴展性:從架構到實踐的全方位探索

在現代電商、零售及企業資源管理系統中&#xff0c;商品管理無疑是核心模塊之一。隨著市場的變化與企業規模的擴展&#xff0c;商品系統需要具備強大的功能支持以及高效的擴展能力&#xff0c;以應對日益復雜的業務需求。一個設計良好的商品系統不僅僅是一個商品信息的容器&…

RFdiffusion get_torsions函數解讀

函數功能 get_torsions 函數根據輸入的原子坐標(xyz_in)和氨基酸序列(seq),計算一組主鏈和側鏈的扭轉角(torsions)。同時生成備用扭轉角(torsions_alt),用于表示可以鏡像翻轉的幾何結構,并返回掩碼(tors_mask)和是否平面化(tors_planar)的信息。 輸入參數 xyz…

docker springboot 運維部署詳細實例

環境安裝 [rootiZbp1dcnzq7pzpg9607m6pZ ~]# docker -v Docker version 26.1.4, build 5650f9b鏡像構建 Dockerfile 文件內容 FROM openjdk:8 # Author Info 創建人信息 MAINTAINER ratelcloudfoxmail.com ENV PORT20001 EXPOSE 20001 RUN mkdir /usr/local/ratel-boot-serv…

貪心算法在背包問題上的運用(Python)

背包問題 有n個物品,它們有各自的體積和價值,現有給定容量的背包,如何讓背包里裝入的物品具有最大的價值總和? 這就是典型的背包問題(又稱為0-1背包問題),也是具體的、沒有經過任何延伸的背包問題模型。 背包問題的傳統求解方法較為復雜,現定義有一個可以載重為8kg的背…

【ArcGIS Pro微課1000例】0063:處理無人機數據(空三、生成DOM、DSM、DTM)

使用ArcGIS Pro 正射拼接處理無人機數據流程化工具,不需要額外產品許可的支持,只需要桌面是高級版許可即可支持。ArcGIS Pro處理無人機攝影測量數據主要內容有:空三、生成DOM、DSM、DTM。 文章目錄 一、創建映射項目二、提交自由空三三、添加控制點優化四、提交產品生產一、…

解鎖 Jenkins 搭建全攻略

一、Jenkins 簡介 &#xff08;一&#xff09;簡述 Jenkins 的作用與價值 Jenkins 是一款在軟件開發領域備受矚目的開源軟件項目&#xff0c;它基于 Java 開發&#xff0c;是極為重要的持續集成工具。在軟件開發的整個流程中&#xff0c;Jenkins 發揮著關鍵作用&#xff0c;能…

人工智能ACA(四)--機器學習基礎

零、參考資料 一篇文章完全搞懂正則化&#xff08;Regularization&#xff09;-CSDN博客 一、 機器學習概述 0. 機器學習的層次結構 學習范式&#xff08;最高層&#xff09; 怎么學 監督學習 無監督學習 半監督學習 強化學習 學習任務&#xff08;中間層&#xff0…

豆包MarsCode:小U的數字插入問題

問題描述 問題分析 問題的核心是找到將數字 b 插入到數字 a 的某個位置后&#xff0c;使形成的數字盡可能大。需要仔細分析以下幾個要點&#xff1a; 1. 分析數字的特性 輸入的兩個數字&#xff1a; a 是一個正整數&#xff08;例如 76543&#xff09;。b 是一個非負整數&am…

雅思真題短語梳理(八)

126員工流動率高 high staff turnover 127(多)負擔一些工作任務 cover some duties / an increased workload 128不滿 feel upset and resentful 129偏向性待遇 preferential treatment 130介入幫忙 step in and help 131切實的好處 tangible benefits 132挽留 staff retention…

【Cadence射頻仿真學習筆記】IC設計中電感的分析、建模與繪制(EMX電磁仿真,RFIC-GPT生成無源器件及與cadence的交互)

一、理論講解 1. 電感設計的兩個角度 電感的設計可以從兩個角度考慮&#xff0c;一個是外部特性&#xff0c;一個是內部特性。外部特性就是把電感視為一個黑盒子&#xff0c;帶有兩個端子&#xff0c;如果帶有抽頭的電感就有三個端子&#xff0c;需要去考慮其電感值、Q值和自…

基礎元器件的學習

1、二極管 1.1二極管的符號 ZD是穩壓二極管 VD、V、D是普通二極管的符號。 1.2二極管的反向恢復時間 首先交流電為上正下負&#xff0c;然后下正上負。當二極管接到反向電壓&#xff0c;二極管存在寄生電容&#xff0c;電壓不能立刻突變&#xff0c;當輸入頻率變高時&#…

EdgeX物聯網平臺

一、概述 EdgeX Foundry是一個由Linux基金會支持的邊緣計算開源平臺。它的定位是作為通用工業物聯網邊緣計算通用框架,部署在路由器和交換機等邊緣設備上。EdgeX Foundry為各種傳感器、設備或其他物聯網器件提供即插即用功能,并管理它們,進一步收集和分析它們的數據,或者導…

基于小樣本學習的自然場景圖像中茶葉病害識別技術綜述

基于小樣本學習的自然場景圖像中茶葉病害識別技術綜述 引言 茶葉作為全球廣泛消費的飲品之一&#xff0c;其產量和品質直接關系到茶農的經濟收益。然而&#xff0c;茶樹在生長過程中容易受到多種病害的侵染&#xff0c;這些病害不僅影響茶葉的產量和品質&#xff0c;還給茶農…

Linux之幫助命令

一、man幫助命令 語法&#xff1a; man 你要查找的命令例如&#xff1a;man ls 即可得到你要的命令說明&#xff0c;按q退出 二、內置命令和外部命令 一部分基礎功能的系統命令是直接內嵌在shel中的&#xff0c;系統加載啟動之后會隨著shll一起加載&#xff0c;常駐系統內存中…