extern "C"

extern "C" 链接指示符不能在函数体内定义。
extern "Fortran"
等等。

extern"C"
为了混合联编而出现的。
1

C++
中引用C的头文件,然后包括librarydll动态和静态的加载了。例如:
extern "C"
{
    #include  "Cheader.h"
}
 #pragment mylib
等。
/*
引用Cheader中的函数了*/
或者可以extern "C"的函数。

所以标准的头文件中就会出现:
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
这样是为了使得C++引用头文件不用再添加这个extern "C" {...}

2
C引用C++的函数的时候要注意,此时C++的头文件应该包含着extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文件,应该仅将C文件中将C++中定义的extern "C"函数声明为extern类型。

michalegao 2008-06-05 14:42 发表评论

文章来源:http://www.cnblogs.com/michael-gao/archive/2008/06/05/1214470.html
Posted on 2008-06-05 15:59 micheal's tech 阅读(1280) 评论(0)  编辑 收藏 引用 所属分类: C++ programme language

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理