IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> VS code支持多个CPP文件编译【和运行】的解决方法 -> 正文阅读

[C++知识库]VS code支持多个CPP文件编译【和运行】的解决方法

背景

c++工程的组织方式

在较大的工程中,往往会采用如下方式:
将函数声明放在头文件,如myplus.h

#include<iostream>
#include<cstring>
using namespace std;
#ifndef _MYPLUS_H
#define _MYPLUS_H
string myplus(string &a, string &b);
int myplus(int a, int b);
#endif

头文件中只放声明,如函数声明。函数实现放在相应的cpp文件中,并引用相应的头文件,如myplus.cpp

#include<iostream>
#include<cstring>
#include "myplus.h"
using namespace std;

string 
myplus(string &a,string &b){
    return (a + b);
}

int
myplus(int a,int b){
    return (a + b);
}

主函数main.cpp中包含相应的函数头文件后,就可以对函数进行调用。

#include<iostream>
#include<cstring>
#include<vector>
#include <iterator>
#include "myplus.h"
using namespace std;

int 
main(){
    string a = "hello ";
    string b = "world!";
    int c = 1;
    int d = 2;
    
    string outc=myplus(a, b);
    int outi = myplus(c, d);
    cout << "outc=" << outc << endl;
    cout << "outi=" << outi << endl;

    cin.get();

    return 0;
}

但是上述方法,只对main进行编译是不行的,不能实现对函数的调用,因此需要对main函数cpp文件和函数cpp文件一起编译,命令行可以使用如下:

g++ myplus.cpp main.cpp

在vs code中直接实现

多数博客提供的vs code编写c++中的配置使之不能实现多个cpp文件编译和运行,后来有的博客提出的支持多个CPP文件编译的解决方法成功的实现了多文件编译,但是仍然不能运行。解决如下:

解决方法

tasks.json中更改

在这里插入图片描述
将${file}更改为选中部分,使之编译所有cpp文件。注意:变更之后本工程内不能出现多个main函数!!

settings.json中更改

完成上述更改后,可以成功编译,但是不能直接运行,因此做如下更改:
在这里插入图片描述
将$filename改为*.cpp即可。此后可以直接使用运行按钮进行运行。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 18:44:48  更:2022-05-21 18:47:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 21:38:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码