如何使用C++(g++)编译器编译包含C++关键字的C代码
How does one compile C code, containing C++ keywords, using a C++(g++) compiler?
有没有办法使用 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"一样) 根本没有使用过)。
从这里引用
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- C++中的"inline"关键字
- 如何确保C++函数在定义之前声明(如override关键字)
- 谷歌模拟和覆盖关键字
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 为什么"delete"关键字不删除节点?
- 在 c++ 中正确定义"this"关键字?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- C++ - 为什么这里需要'template'关键字?
- C++函数的关键字?
- 使用 'typename' 关键字将非类型视为依赖上下文中的类型
- "friend"关键字在C++中是什么意思?
- 声明C++数组(带或不带 "new" 关键字)
- 对齐和对齐的实际用例C++关键字
- 在 c++ 中三元运算符中不允许继续(关键字)吗?
- 考虑到其他好处,关键字'auto'真的有助于简化调试C++吗?
- 在 Objective-C++ -> EXC_BAD_ACCESS Error 中使用"new"关键字