我正在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对此进行了大量讨论。