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

posted @ 2023-05-26 11:30  woodx  阅读(16)  评论(0编辑  收藏  举报