C++函数标准头

#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
#ifndef __INCvxWorksh
#define __INCvxWorksh

编译宏的作用是为了防止重复引用。C++支持函数重载。C作为过程语言并不支持函数重载。这是因为编译后C和C++的名字不同。假设某函数为void foo(int ,int)

C编译后为_foo,C++编译后为_foo_int_int,C++ 就是靠这个机制来实现重载的。为了实现C和C++的混合编程。C++提供了C++ 链接交换制定符号extern"C"来解决名字匹配问题。函数声明钱加上extern"C"后

编译器就会按照C 语言的方式进行编译_foo,这样C语言就可以调用C++ 的函数了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章