extern 關鍵字

1、聲明外部變量

extern 用來修飾變量或者函數名,用以在一個文件中定義,但是可以在其他文件中進行使用的。

例如在A文件中定義了 全局變量 int mm=0;你在另一個文件B中也定 定義了 int mm=0; 編譯時時候不會出錯,因爲編譯時以文件爲單位作用域在本文件中。但是在鏈接是後出錯,因爲他會將多文件進行合併生成obj 全局變量的存儲空間合併爲一塊兒,導致重名;如果加上extern 的話就會鏈接放行,認爲是一個變量。

2、在C++文件中調用C方式編譯的函數

C方式編譯和C++方式編譯相對於C,C++中新增了諸如重載等新特性,編譯時候會生成一個由函數名參數組成的中間函數名用來檢查重載特性。而C語言編譯不會這樣。導致C++中如果調用C語言接口會不認識,那麼extern ‘C’  就有用了告訴編譯器,這段代碼用C編譯器編譯。那麼自然而然調用的時候就認識了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章