C++编译器的差异

Pwn*_*nna 3 c++ compiler-construction

VC++.net complier(cl.exe/EHsc)和GCC编译器有什么区别,编译,假设这个程序:

#include <iostream>
using namespace std;

int main(){
 unsigned int test;
 cin >> test;
 cout << test;
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我知道vc ++编译器编译成一个exe,而gcc正在编译linux可执行文件,就是这个.但真正的区别是什么?

编辑:我把差异考虑到较低的水平.让我更清楚一点.在同一平台上用2个不同的C++编译器编译的相同程序之间的区别是什么(win或linux并不重要).

Bri*_*ndy 8

GCC意味着GNU编译器集合,它是编译器和链接器集合的前端.在编译C++时,它通常会调用g ++.

至于g ++ vs VC++,它们是完全不同的编译器,因此存在很多差异.

例如,他们将以不同的方式优化代码,基于不正确遵循标准,不同的库,不同的标题,不同的实现等,它们可能有轻微的语法差异......

g ++可用于在各种不同平台上编译项目,而VC++仅用于编译Windows平台的程序.