C++中extern "C"的使用
由上一篇博客知识可得,C++中对符号表中符号的生成方式是不一样的,所以我们需要一种兼容方式处理他们
上篇博客地址:https://www.cnblogs.com/woodx/p/17434227.html
但是如果我们需要C的静态库或动态库的时候,C++的符号表和C的符号表不是一样,是不是会发生冲突呢
因此需要提前声明extern "C",让编译器按C的方式来解释
用法示例:
extern "C" {
int func(int);
int var;
}
更好的兼容C编译器的方式
#ifdef __cplusplus
extern "C" {
#endif
void *memset (void *, int , size_t);
#ifdef __cplusplus
}
#endif