我可以使用microsoft c / c ++编译器14.00(与visual studio 2005集成)将void main()编译为c ++源文件。这样就意味着编译器不符合主要的c ++标准功能原型?
microsoft c / c ++编译器只有一个编译器,也就是说,它只是一个c ++编译器?因为C源文件可以编译为C ++源文件,所以不再需要开发c编译器了吗?
感谢。
答案 0 :(得分:6)
我可以编译
void main()
main的有效签名是:
int main(void); // no parameters
int main(int, char **); // parameterized
其他一切都不标准。该标准允许实现允许main()
的备用签名。
microsoft c / c ++编译器只有一个编译器,也就是说,它只是一个c ++编译器?
是的,它是一个可执行文件(cl.exe
)。但是,它可以作为C编译器或C ++编译器工作。默认为C ++编译器模式。您可以通过进入项目属性>来更改此设置。 C / C ++>高级(/TP
或/TC
)