【发布时间】:2021-01-30 03:35:54
【问题描述】:
今天我不小心在 CPP 程序上添加了扩展名“.c”(其中包含命名空间、类和其他内容)并将其传递给 g++。它编译它没有问题,但它不应该将它视为 C 程序并抛出错误或警告吗?在其他线程上,我读到 g++ 的扩展名无关紧要(有些人建议使用任何未采用的任意扩展名,但是我尝试了标准 .c、.C、.cpp 等之外的其他扩展名)并且它们未被识别。
那么,扩展程序到底发生了什么?我的 cpp 程序是编译成 cpp 程序还是 c 程序?
【问题讨论】:
-
你是如何调用编译器的?你到底在命令行上输入了什么?
-
如果您使用
gcc工具链驱动程序而不是g++工具链驱动程序会发生什么? -
这能回答你的问题吗? stackoverflow.com/questions/172587/…
-
我只是像这样使用 g++ 编译它,g++ -o pr.o pr.c 并且编译得很好。此外,使用 GCC 根本不起作用(意味着它不会编译)。值得注意的是,我是在 WSL 上编译的,不确定它是否有所作为。
-
对提议的欺骗的答案解释了 gcc 上的哪些标志或多或少相当于只调用 g++