本文主要是介绍头文件中extern “C”的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C语言的. h头文件常会看到如下做法:
#ifdef __FUNC_H_
#define _FUNC_H_
#ifdef __cplusplus__
extern "C" {
#endif
#include<stm32f10x.h>
int foo(char ,int );
#ifdef __cplusplus__
}
#endif
#endif
开始看别人的代码中类似这样的用法,表示不解,直到学到C++的函数重载时明白了。在C语言中,只要根据函数名就可以区分不同的函数。而在C++函数中,支持函数的重载,因此函数名可能会对应多个不同的函数,这些函数的函数名相同,而参数不同。增加extern “C”相当于告诉C++编译器,函数foo是C连接,避免重载的出现。
这篇关于头文件中extern “C”的理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!