C++在vscode中的多文件編程問題解讀
C++在vscode中的多文件編程
相信有很多的小伙伴在一開始的時候,都會對vscode的多文件編程有很多的疑問,網(wǎng)上也有很多的教學,不過網(wǎng)上的解決方法都會對一些json文件進行修改,或者使用cmake寫命令來操作,不過即使有這么多的教學我也還是沒有完全學會。
所以今天我將給大家介紹一種方法可以不用修改json或者使用cmake就能夠實現(xiàn)vcsode中C++的多文件操作。
首先我們需要創(chuàng)建幾個需要的文件,比如main.cpp 、my_swap.h(這里就用my_swap來做例子)注意我們不需要my_swap.cpp
然后輸入代碼
main.cpp
#include <iostream>
#include "my_swap.h"http://需要包含的頭文件,可包含多個using namespace std;int main()
{
? ? int a=2,b=1;
? ? cout<<"a="<<a<<" "<<"b="<<b<<endl;
? ? my_swap(a,b);
? ? cout<<"a="<<a<<" "<<"b="<<b;
? ? return 0;
}my_swap.h
#pragma oncevoid my_swap(int &a,int&b)//直接將函數(shù)定義寫入
{
? ? int t=a;
? ? a=b;
? ? b=t;
}如果大家是要寫類的話,可以將函數(shù)定義寫在class中,也可以寫在class外(在同一個頭文件中)
結果展示

同樣也支持調(diào)試喲


vscode編譯多個C++文件
tips:
launch.json中的preLaunchTask對應的是task.json中的label,兩個名字一樣,也就是說,運行l(wèi)aunch.json文件之前,需要首先運行task.json文件,將cpp文件編譯鏈接成.exe的可執(zhí)行文件,launch.json通過"program": “{fileDirname}\${fileBasenameNoExtension}.exe”,直接進入編譯鏈接后的可執(zhí)行文件main.exe。
launch.json:

task.json:

問題
VScode編譯多個Cpp文件時,報錯顯示找不到關聯(lián)文件。
解決方法
需要修改task.json文件。
可以先在當前文件目錄下新建一個out文件,這樣生成的.exe可執(zhí)行文件就都存在這個目錄下,不會和.cpp文件混在一起,目錄結構更清晰。這時候需要同時修改launch.json文件。
文件目錄如下:

task.json:
"args": [
"-fdiagnostics-color=always",
"-g",
// 編譯單個文件
// "${file}", // 只能編譯一個文件
// "-o",
// "${fileDirname}\\out\\${fileBasenameNoExtension}.exe" // 這里的out文件需要新建
// 編譯多個文件
"${fileDirname}\\*.cpp", // 只需要修改這一行,編譯鏈接所有的cpp文件
"-o",
"${fileDirname}\\out\\${fileBasenameNoExtension}.exe", // 這里也有out文件
],
launch.json:
"program": "${fileDirname}\\out\\${fileBasenameNoExtension}.exe", // 添加out文件
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
C++ LeeCode題目:比特位計數(shù)和買賣股票的最佳時機
這篇文章主要介紹了基于C語言計算比特位計數(shù)和買賣股票的最佳時機,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2021-07-07

