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 @ 2008-06-05 15:59 micheal's tech 阅读(1280) | 评论 (0)编辑 收藏

仅列出标题
共8页: 1 2 3 4 5 6 7 8