欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS Code:g++命令实现多文件编译运行

程序员文章站 2024-03-20 14:54:34
...


1. 背景

  VS是一个基本完整的开发工具集,其编译运行和文件导入等操作相对方便,而VS Code只是一个代码编辑器,它实质上通过Mingw-w64来实现对C/C++程序的编译和运行。现总结使用g++命令来编译运行多个.cpp文件。

2. 编译运行

2.1 单个文件

main.cpp代码:

#include <iostream>
using namespace std;

int main()
{
    int m1 = 3, m2 = 6;
    int sum = m1 + m2;
    cout << m1 << "+" << m2 << "=" << sum << endl;
    return 0;
}

g++命令:

g++ main.cpp -o main.exe && main.exe

注意:
  操作系统版本不同,其终端命令可能不同,在本文中使用windows7(32位)。在windows10(64位),其终端命令可能如下所示:

g++ main.cpp -o main.exe; ./main.exe

  若main.cpp不在根目录下,则需跳转到main.cpp所在目录或使用绝对地址。

cd E:\1 && g++ main.cpp -o main.exe && main.exe
g++ E:\1\main.cpp -o E:\1\main.exe && E:\1\main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

2.2 同一目录下的文件

main.h代码:

#include <iostream>
using namespace std;

main.cpp代码:

#include "main.h"

int main()
{
    int m1 = 3, m2 = 6;
    int sum = m1 + m2;
    cout << m1 << "+" << m2 << "=" << sum << endl;
    return 0;
}

g++命令:

g++ main.cpp -o main.exe && main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

sum.h代码:

#include <iostream>
using namespace std;

extern int m1, m2;
extern int sum(int x1, int x2);

sum.cpp代码:

#include "sum.h"

int m1 = 3, m2 = 6;

int sum(int x1, int x2)
{
    return x1 + x2;
}

main.cpp代码:

#include "sum.h"

int main()
{
    cout << m1 << "+" << m2 << "=" << sum(m1, m2) << endl;
    return 0;
}

g++命令:

g++ main.cpp sum.cpp -o main.exe && main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

2.3 同一目录下另一文件夹中的文件

main.h代码:

#include <iostream>
using namespace std;

main.cpp代码:

#include "main_h/main.h"

int main()
{
    int m1 = 3, m2 = 6;
    int sum = m1 + m2;
    cout << m1 << "+" << m2 << "=" << sum << endl;
    return 0;
}

g++命令:

g++ main.cpp -o main.exe && main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

sum.h代码:

#include <iostream>
using namespace std;

extern int m1, m2;
extern int sum(int x1, int x2);

sum.cpp代码:

#include "sum.h"

int m1 = 3, m2 = 6;

int sum(int x1, int x2)
{
    return x1 + x2;
}

main.cpp代码:

#include "sum/sum.h"

int main()
{
    cout << m1 << "+" << m2 << "=" << sum(m1, m2) << endl;
    return 0;
}

g++命令:

g++ main.cpp sum/sum.cpp -o main.exe && main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

2.4 另一目录下的文件

main.h代码:

#include <iostream>
using namespace std;

VS Code:g++命令实现多文件编译运行

main.cpp代码:

#include "C:\Users\Administrator\Desktop\main_h\main.h"

int main()
{
    int m1 = 3, m2 = 6;
    int sum = m1 + m2;
    cout << m1 << "+" << m2 << "=" << sum << endl;
    return 0;
}

g++命令:

g++ main.cpp -o main.exe && main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

sum.h代码:

#include <iostream>
using namespace std;

extern int m1, m2;
extern int sum(int x1, int x2);

sum.cpp代码:

#include "sum.h"

int m1 = 3, m2 = 6;

int sum(int x1, int x2)
{
    return x1 + x2;
}

VS Code:g++命令实现多文件编译运行

main.cpp代码:

#include "C:\Users\Administrator\Desktop\sum\sum.h"

int main()
{
    cout << m1 << "+" << m2 << "=" << sum(m1, m2) << endl;
    return 0;
}

g++命令:

g++ main.cpp C:\Users\Administrator\Desktop\sum\sum.cpp -o main.exe && main.exe

运行结果:
VS Code:g++命令实现多文件编译运行

3. 总结

  1. 若文件中只导入.h文件,g++命令不变。
g++ ***.cpp -o ***.exe && ***.exe
  1. 若文件中导入.cpp文件,需要根据.cpp文件位置需修改g++命令。

同一目录同一文件夹下:

g++ ***.cpp ***.cpp -o ***.exe && ***.exe

同一目录不同文件夹下(相对路径):

g++ ***.cpp ***\***.cpp -o ***.exe && ***.exe

不同目录下(绝对路径):

g++ ***.cpp C:\***\***\***.cpp -o ***.exe && ***.exe
  1. g++与gcc是不同的,一定要区分。
相关标签: 编程小结

上一篇: vue 面试问题总结

下一篇: