我对使用gcc和g ++工具的混合C / C ++应用程序比较陌生。为了获得帮助,我下载了iperf源代码并使用Eclipse成功构建了它。
有一个奇怪的地方:如果我使用Eclipse查看文件“ Thread.c”,它会认为存在语法错误,并且几乎在整个文件下划线,就好像代码有缺陷,这绝对不是。
这是触发它的代码:
#ifdef __cplusplus
extern "C"
{
#endif
Run Code Online (Sandbox Code Playgroud)
我知道C ++中使用的extern“ C”是什么,但是Eclipse在.c文件中存在问题。它很高兴在.cpp和.h文件中接受它。
我已经检查了Make实用程序如何构建iperf应用程序,并且看到它总是使用gcc编译c文件,使用g ++编译cpp文件,这使我想知道是否实际需要extern“ C”。它绝对不会造成伤害,因为gcc编译器会愉快地处理它,但是如果不是严格要求,我可以省略它并在Eclipse中获得更好的可读性。
我还研究了一种针对Eclipse行为的可能解决方案,但还没有真正找到一个解决方案,如果有人可以指出如何解决这一问题同样好。