android ndk开发之 extern "C" 编译出错

感叹:神一般的eclipse!

首先, 我这么写 extern "C" void func(){}; 代码爆红:(error: expected identifier or ‘(’ before string constant )

what the fuck!!

百度后是说c编译器不支持这种写法, 会报错, 虽然我知道我用的是c++编译器,然而决定还是改一下

#ifdef __cplusplus

      #define EXTERNC externc "C"

#else

#define EXTERNC

#endif

EXTERNC void func(){};

果不其然还是飘红。

没办法,试着改成这样:

#ifdef __cplusplus

#define EXTERN extern

      #define EXTERNC EXTERN "C"

#else

#define EXTERNC

#endif

奇迹出现了, 不爆红了, 编译通过!!!

不开心, 我们再改回来。

#ifdef __cplusplus

      #define EXTERNC externc "C"

#else

#define EXTERNC

#endif

不爆红了, 居然不爆红了!!!

我只想说, eclipse c/c++编译器, 泥垢了!!!!