extern關鍵字的作用
1、 聲明外部變量或者函數
當你所需要的變量或者函數在另一個文件裡邊的時候,除了用include包含,還可以用extern聲明外部變量或者函數。
//File1.cpp
int a;
int fun(int w)
{
return ++w;
}
//main.cpp
#include<iostream>
using namespace std;
int main()
{
extern int a;//聲明外部變量
extern int fun(int w);//聲明外部函數
a=5;
cout<<a<<endl;// 5
cout<<fun(a)<<endl;// 6
return 0;
}
這裡要注意的一點是,extern關鍵字的作用僅僅是聲明,沒有分配內存空間,聲明的格式和定義的格式一定要嚴格相符。www.2cto.com
2、 extern ”C” 鏈接指定為C函數庫
參數重載是C++的新特性,在C中是沒有的。在使用C++寫代碼的時候,如果調用C函數出錯(出錯的原因見C++重載的實現機制),則需要聲明extern “C”將鏈接指定為C函數庫。
extern "C"
{
/**/
}