是否还需要extern“C”来将Cpp文件中使用的全局变量链接到cfile中定义的变量?

是否还需要extern“C”来将Cpp文件中使用的全局变量链接到ac文件中定义的变量?

它用于连接C ++文件中的函数,该文件在C文件中引用,因为C ++文件中的函数名称名称已被修改。 C编译器是否也改变了变量的名称?

是否还需要extern "C"来将Cpp文件中使用的全局变量链接到ac文件中定义的变量?

可以,是的。

您可能会发现,将extern "C"用于您的编译器(例如,GCC,它不会破坏全局命名空间中的C ++变量名称),但这并不是您可以依赖所有编译器的东西。

C编译器是否也改变了变量的名称?

它取决于编译器(具体来说,取决于它使用的ABI)。 语言标准没有指定语言级名称如何映射到链接器符号,因此不同的编译器可以使用不同的名称修改方案。

变量不需要它。 函数需要外部“C”,因为在C ++中,可以针对不同数量和类型的参数多次定义函数。 每个函数名称包括编码forms的参数。 但是这些变量不能重新定义,并且C和C ++中的名称相同(兼容)。