我正在eclipse-cdt(ubuntu 14.0)中使用CppUTest。
对于CppUTest中C函数的继承,我应该写:

extern "C" {
}


是否有其他选择可以将所有C项目继承到CppUTest的Cpp中?

CppUTest中extern的缺点是什么?

最佳答案

好吧,一个“替代”当然是将extern "C"声明移到C项目的标头中,当然受到#if defined __cplusplus的保护。但是,这意味着您必须遍历整个项目并进行修复。听起来好像只是在您使用C ++的测试代码中进行上述操作一样容易。

许多人这样做是为了使他们的C代码可从C ++使用。我个人认为这有点“肮脏”,因为您正在混合语言("don't cross the streams!"),但这仍然很常见。

See this question对此进行了大量讨论。

08-15 23:11