0

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

extern "C" {
}

是否可以将所有 C 项目继承到 Cpp for CppUTest 中?

CppUTest 中 extern 的缺点是什么?

4

1 回答 1

0

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

许多人这样做是为了让他们的 C 代码在 C++ 中可用。我个人认为这有点“肮脏”,因为您正在混合语言(“不要跨界!”),但它仍然很常见。

有关此问题的大量讨论,请参阅此问题。

于 2015-03-04T08:52:54.340 回答