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

}