寫給前端同學的C++入門教程(一):概述和環境搭建


說明:本人是前端er,因為最近對 UE4(一個游戲開發引擎)產生了興趣,而這個引擎源開發游戲時需要用到 C++ ,所以就開始入坑 C++ 了。現將自己學習 C++ 的筆記整理並分享出來,以便一些想入門 C++ 的朋友一起學習,將會以系列教程的的形式來編寫,這是第一篇。

C++ 是什么?

我們都知道,目前的高級編程語言主要分成兩種,一個是面向過程的比如 C,一個是面向對象的比如 Java。而 C++ 時同時整合了這兩種特性的語言,在C語言基礎上添加的類代表的面向對象。另外,C++模板還支持支持的泛型編程(后面會介紹)。至於 C++ 發展歷史,這里不做介紹,大家可以自行查找。

在 C++ 最初發布的時候,在編譯過程分成兩段的,先是把 C++ 編譯成 C,再把 C 編譯成機器代碼的,就像我們前端寫 TS 需要先將 TS 轉換成 JS 后瀏覽器才能識別一樣。但是現在的編譯器一般都不需要先將C++轉換成 C 的,而是一步到位的。

環境搭建

如果是使用 windows 平台,常用的編譯器有 visual studio , visual c++6.0 ,borland c++ 和 code block 等。 我相信好多朋友對 visual c++6.0 , borland c++ 和 code block 肯定都不陌生,這是因為大學做課程設計時,老師經常推薦給我們的編譯器,但是我不推薦,原因有二,第一,界面長得太丑了,起碼是20年前的界面風格,第二,不夠智能,比如自動補全或錯誤提示等都做得不好。至於 visual studio 確實很強大,但是對於新手也不太推薦,畢竟剛開始只是寫 helloworld 級別的,如果使用這個就有點殺雞用牛刀的感覺了。那怎么辦呢?

我推薦的做法是,在 vscode(注意不是 visual studio)中編寫 C++ 源碼,然后使用 gcc 來編譯源碼,即把編輯器和編譯器分開來用。

如果是使用 ubuntu 等 linux 系統,默認是裝了 gcc 的,這里也不詳細展開。本文主要講的是 windows 平台下的搭建。

首先,安裝 vscode ,同時要裝上 C/C++ 插件,它會有自動補全和錯誤檢測等功能(如果沒有提示,可以安裝 gcc 后再回頭不試試)。

比如,我平時寫前端,習慣了用 var 來聲明變量,則會有如下提示,因為 c++ 是沒有 var 標志符的:

鼠標移上去就會顯示詳細的錯誤信息:

還有關鍵字的自動補全,比如我們定義一個 double 類型的變量,輸入 doub 就會有很多的選項:

然后,再來安裝 gcc 編譯器。windows 平台安裝可以安裝 mingw。可以到這里下載:MinGW-w64 - for 32 and 64 bit Windows。往下稍微翻一下,選 x86_64-posix-seh。

提示:最好不要選擇 MinGW-W64 Online Installer , 因為國內網絡被牆的原因,在線安裝有很大機率會安裝失敗。

下載完安裝包之后,然后解壓,你會發現它里面的目錄結構如下:

接下來,還需要配置 path 路徑,假如我解壓到了 C 盤的 mingw 目錄,則在環境變量 Path 中添加如下路徑:

C:\mingw\bin

配置完成之后 ,打開命令行工具,cmd 或者 powsershell 都可以,輸入 gcc -v

如果看到上面的信息,則說明我們的 gcc 已經配置成功了。如果沒有,則檢查一下你的 path 路徑正不正確,或重啟一下電腦試試。

現在編輯器和編譯器我們都搭好了,可以快樂的來寫 Hello World! 啦。

#include <iostream>
int main() {
  std::cout << "Hello World!";
  return 0;
}

然后在當前目錄的終端中輸入 g++ main.cpp,就會發現當前目錄下多了一個 a.exe 文件。,然后,再到終端中輸入 ./a.exe 就可以執行該文件,並有 Hello World! 輸出了。當然,編譯和運行也可以合並成一條命令 g++ main.cpp && ./a.exe,如下:

這段代碼也很簡單,首先是 #include 預處理指令引入 iostream 這個頭文件,然后在 main 函數中輸出 Hello World! 。iostream 這個是標准輸入輸出流的頭文件,我們下面使用 std::cout 就在這里面定義的。

OK,這一章節就寫到這里,如果有什么疑問的大家可以在評論區交流討論哈~。

最后,網上也有很多教程是關於如何把 vscode 配置成可以編譯 C++ 的,但是我覺得沒有必要,我們就只使用 vscode 作為書寫代碼的編輯器就夠了,編譯我們使用命令行工具就行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM