VS Code:g++命令实现多文件编译运行
程序员文章站
2024-03-20 14:54:34
...
VS Code:g++命令实现多文件编译运行
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
运行结果:
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
运行结果:
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
运行结果:
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
运行结果:
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
运行结果:
2.4 另一目录下的文件
main.h代码:
#include <iostream>
using namespace std;
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
运行结果:
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 "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
运行结果:
3. 总结
- 若文件中只导入.h文件,g++命令不变。
g++ ***.cpp -o ***.exe && ***.exe
- 若文件中导入.cpp文件,需要根据.cpp文件位置需修改g++命令。
同一目录同一文件夹下:
g++ ***.cpp ***.cpp -o ***.exe && ***.exe
同一目录不同文件夹下(相对路径):
g++ ***.cpp ***\***.cpp -o ***.exe && ***.exe
不同目录下(绝对路径):
g++ ***.cpp C:\***\***\***.cpp -o ***.exe && ***.exe
- g++与gcc是不同的,一定要区分。
上一篇: vue 面试问题总结