为什么c或c ++没有专用的编译器?

tem*_*tem 1 c c++ compiler-construction

似乎所有编译器都可以处理c和c ++,比如gcc,msvc ......

是因为这两种语言完全相同吗?

Mat*_*hen 6

实际上,GCC(GNU编译器集合)有两个不同的前端,gccg++.要指定C++,您还可以使用.cpp(或其他一些)扩展,或者-x c++在执行时gcc.但是,这需要额外的选项(例如在C++标准库中链接).

cl,Microsoft的C++编译器,不支持现代C.但是,它会将C源文件编译为C89的变体,您可以明确指定它/TC.

两者都是正确的,无论使用哪个前端(GCC还有更多),都有很多共享代码.但是,这些语言确实存在显着差异,这些差异在别处讨论过(这个问题除其他外).