链接指示符(linkage directive)extern "C"的作用就是完成这个功能的,它有两种存在形式:一、 单一语句形式(single statement);二、复合语句形式(compound statement)。
// 单一语句形式的链接指示符
extern "C" int math(int);
// 复合语句形式的链接指示符extern "C" {
int math(int);
int copy(const char*);
}
extern "C" {
#include <math.h>
}
int main()
{
extern "C" double sqrt( double ); //:错误
... ...
return 0;
}
链接指示符不只是链接C的,还可以是其他语言如:extern "Ada"可以用来声明是用Ada语言写的函数;extern "FORTRAN"用来声明是用FORTRAN 语言写的函数等等。