VC中extern的使用

2021-06-07 00:32:15 字數 882 閱讀 2238

extern為外部連線符號

通常是在定義介面(全域性變數)的時候這樣使用的,這樣的乙個宣告寫在標頭檔案內,供其他檔案包含。 這時候extern表示函式的實現部份不在檔案內部,在連線的時候統一由聯結器處理,編譯器通常會假定編譯時候找不到實現部份的函式為extern形式.當然,加了extern也可以在該檔案內寫實現,不過我們一般不這樣做,因為我們知道 在同乙個專案中變數可以多處申明,但定義只能一次。如果將定義寫的乙個標頭檔案中,而在不同的實現檔案要包含該標頭檔案的話,則會出現多重定義的錯誤。

對於函式來說 寫不寫這個extern都是extern的, 除非要指定匯出格式, 最常見的就是多種語言混合程式設計經常用到 extern "c" 。

變數用extern的例子如下:

extern int a;

#include"a.h"

int a=5;

#include"a.h"

printf("a=%d",a);

//c語言中的解釋:

如果不在乙個檔案中,如file1 和 file2 是兩個不同的檔案。我們想在 file1 用變數 i (它的型別是 int), 但它是在 file2 中定義的。我們必須在file1 中說明 i :extern int i;

如果extern 的說明的最初定義是在同乙個檔案中, 並且是在使用它的函式之前, 就可以忽略它。

如果你在乙個檔案中, 要在乙個外部變數的定義之前使用它, 那麼你必須在用之前先用 extern 來說明它。看乙個例子:

try()

...int i;

<---i在後面定義  

#ifndef m

#define m

.....這裡可以定義變數或者標頭檔案

#endif

C 中extern的使用

來自 1.宣告外部實體 宣告外部全域性變數或物件,一般用於標頭檔案中,表示在其它編譯單元內定義的變數,鏈結時進行外部鏈結,如 1.宣告外部實體 宣告外部全域性變數或物件,一般用於標頭檔案中,表示在其它編譯單元內定義的變數,鏈結時進行外部鏈結,如 extern int ivalue 此時的extern...

extern的簡單使用

extern用在變數宣告中常常有這樣乙個作用 你要在 c檔案中引用另乙個檔案中的乙個全域性的變數,那就應該放在 h中用extern來宣告這個全域性變數。這個關鍵字真的比較可惡,在定義 函式 的時候,這個extern居然可以被省略,所以會讓你搞不清楚到底是宣告還是定義,下面分變數和函式兩類來說 尤其是...

extern的使用例項

利用關鍵字extern,實現全域性變數的共享 extern 變數只能一次定義 宣告定義 多次宣告。宣告 extern int a int a 宣告 定義 extern int a 0 int a 0 一 兩個cpp檔案之間共享 test.cpp includeusing namespace std ...