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