C語言中的extern與C++中的extern "C"
在C文件中extern關鍵字可修飾變量或函數
在C++文件中extern "C"用來修飾變量或函數
爲什麼要用extern與extern "C"關鍵字???
方便C語言文件與C++文件的方法與變量之間的相互調用,因爲C++裏面有重載機制,編譯時會改變函數名
比如在C文件與CPP文件同上定義一個函數:
int Fun(int x, double y);
C編譯後爲:_Fun
C++編譯後爲: Fun_int_double //因爲有了這種編譯方式,C++可以更具參數的類型,數量,順序不同實現重載
眼過千遍不如手過一遍,接下來親自寫一小段代碼體會一下吧!!
爲了簡單體會用法,我們就建立一個空的控制檯程序自己在逐一添加文件
C++文件調用C文件中函數以及變量
定義Func.h文件寫人如下內容:
定義Func.c文件對Func.h聲明函數添加函數體,以及定義聲明的變量
定義FunCpp.cpp文件來調用C文件的函數與變量
C文件調用C++文件中函數以及變量
同樣是三個文件直接上圖