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++编译器, 泥垢了!!!!