1. 程式人生 > >windows下使用vscode編寫執行以及除錯C/C++

windows下使用vscode編寫執行以及除錯C/C++

內容會不定期更新。

一、vscode介紹

vscode是一個輕量的程式碼編輯器,本身是不帶有編譯器的,所以使用的時候要提前安裝好一個C/C++編譯器。肯定會有人拿vscode和sublime text去做一個比較,因為vscode已整合控制檯通過寫命令列的方式實現編譯執行程式,所以在Windows下vscode體驗稍微好一些,其他不做比較。

二、C/C++編譯器安裝

安裝完編譯器需要配置環境變數。

直接去官網下載mingw或者mingw-w64可能會下載失敗,這裡給出mingw-w64的離線版下載地址:mingw-w64 ,下載完解壓即可。

解壓的目錄儘量簡單些,假設解壓在了D:\下,那麼需要將D:\mingw64\bin加入系統環境變數,因為比較簡單,這裡不再贅述,可自行百度。

在cmd或者powershell下輸入gcc -v出現以下內容,說明編譯器安裝成功:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=D:/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

之後就可以通過g++ -o $test $test.cpp(字尾名可省略)

三、vscode下編譯C++程式

這裡先給出一個簡單的示例程式:

#include <iostream>
using namespace std;
int main(){
    cout<<"Enter two numbers:"<<endl;
    int v1=0,v2=0;
    cin>>v1>>v2;
    cout<<"The sum of "<<v1<<"and "<<v2<<"is "<<v1+v2<<endl;
    return 0;
}

1、通過控制檯寫命令

使用ctrl + ~ 開啟vscode控制檯,點選終端(其實就是在windows下面的powershell或者cmd下操作),使用的命令如下:

Windows PowerShell
版權所有 (C) Microsoft Corporation。保留所有權利。

PS D:\Document\C++> cd 01/1.4
PS D:\Document\C++\01\1.4> ls


    目錄: D:\Document\C++\01\1.4


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         2019/1/3     11:32            211 test.cpp


PS D:\Document\C++\01\1.4>
PS D:\Document\C++\01\1.4> g++ -o test test.cpp

// 編譯後增加test.exe檔案 
PS D:\Document\C++\01\1.4> ls


    目錄: D:\Document\C++\01\1.4


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         2019/1/3     11:32            211 test.cpp
-a----         2019/1/5     20:37          58019 test.exe


PS D:\Document\C++\01\1.4> ./test.exe
Enter two numbers:
3 4
The sum of 3and 4is 7

2、通過code runner外掛

安裝下面兩個外掛
C/C++
Code runner
已安裝外掛

安裝好以後就能在程式碼編輯框裡看到
在這裡插入圖片描述

但是現在還有一個問題,程式無法實現互動,不能從鍵盤輸入資料,解決辦法如下:

依次開啟:檔案>首選項>設定>使用者設定>拓展>Run Code Configuration,
找到 Run In Terminal 打上勾 這樣執行的程式就會執行在vscode的整合控制檯上。

程式執行的效果如下:

Windows PowerShell
版權所有 (C) Microsoft Corporation。保留所有權利。

PS D:\Document\C++> cd "d:\Document\C++\01\1.4\" ; if ($?) { g++ test.cpp -o test } ; if ($?) { .\test }
Enter two numbers:
3 4
The sum of 3and 4is 7

可以看出,外掛就是把g++ -o test test.cpp命令給集成了下,如果程式編譯的時候需要特殊的引數,需要自己寫編譯的命令。

四、除錯

待補充

參考內容:https://www.cnblogs.com/TAMING/p/8560253.html