如何使用C++(g++)编译器编译包含C++关键字的C代码

How does one compile C code, containing C++ keywords, using a C++(g++) compiler?

本文关键字:C++ 关键字 包含 代码 编译 编译器 何使用 g++      更新时间:2023-10-16

有没有办法使用 C++(g++) 编译器编译这样的 C 代码。

例如,是否可以编译和运行以下代码:

int main()
{
    int private;
    private = 9;
    return private;
}

它具有private变量名称,这是一个C++关键字。


真正的项目是,混合了 C 和 C++ 代码,驱动程序是由 C 编写的,其中一些结构具有像 private 这样的成员名称,但应用程序是用 C++ 编写的,我尝试使用 extern"C"但不起作用。

您可以将 g++ 与选项 -x c 一起使用,也可以使用 gcc。

现场示例您可以使用"-x"选项显式指定输入语言:

-x 语言 显式指定以下输入文件的语言(而不是让编译器根据文件选择默认值) 名称后缀)。此选项适用于所有以下输入文件,直到 下一个"-x"选项。语言的可能值为:

c  c-header  cpp-output
c++  c++-cpp-output
objective-c  objc-cpp-output
assembler  assembler-with-cpp
f77  f77-cpp-input  ratfor
java

-x 无 关闭任何语言规范,以便根据其文件名后缀处理后续文件(就像"-x"一样) 根本没有使用过)。

从这里引用