C 中extern
来源:互联网
作者:west263.com
时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
}
// c 实现文档,调用add:cppFile.cpp
extern "C"
{
#include "cExample.h"
}
int main(int argc, char* argv[])
{
add(2,3);
return 0;
}
假如C 调用一个C语言编写的.DLL时,当包括.DLL的头文档或声明接口函数时,应加extern "C" { }。
(2)在C中引用C 语言中的函数和变量时,C 的头文档需添加extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文档,应该仅将C文档中将C 中定义的extern "C"函数声明为extern类型。
笔者编写的C引用C 函数例子工程中包含的三个文档的源代码如下:
//C 头文档 cppExample.h
#ifndef CPP_EXAMPLE_H
#define CPP_EXAMPLE_H
extern "C" int add( int x, int y );
#endif
//C 实现文档 cppExample.cpp
#include "cppExample.h"
int add( int x, int y )
{
return x y;
}
/* C实现文档 cFile.c
/* 这样会编译出错:#include "cExample.h" */
extern int add( int x, int y );
int main( int argc, char* argv[] )
{
add( 2, 3 );
return 0;
}
假如深入理解了第3节中所阐述的extern "C"在编译和连接阶段发挥的作用,就能真正理解本节所阐述的从C 引用C函数和C引用C 函数的惯用法。对第4节给出的示例代码,需要特别留意各个细节。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



