国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

多個源程序組成程序編譯問題

2019-11-10 22:42:31
字體:
來源:轉載
供稿:網友

在所有函數之外定義聲明的變量被默認為靜態存儲類型并被視為全局變量。全局變量可以被同一個文件中位于變量聲明之后定義的任何函數訪問。全局變量還可以被其他文件中的函數訪問,若要做到這點,必須在使用全局變量的每一個文件中對這些全局變量進行聲明。例如,若一個文件想利用另一個文件中聲明的全局變量flag,那么該文件中必須包含以下語句在使用flag之前:

extern int flag;

編譯器將通知鏈接程序,本文件中出現了對變量flag的未定值的引用,如果鏈接程序找不到變量flag的定義,那么就會發出一條出錯信息,并且不生成可執行文件。如果鏈接程序找到了正確的全局變量的定義,那么就以變量flag的位置來確定那些未定值的引用。 函數原型也可以將它的作用域擴展到定義它的文件之外(函數原型并不需要extern說明符)。為了達到這個目的,只需簡單的將函數原型包含在每一個想調用它的文件中,然后將這些文件一起編譯即可(include)。函數原型會告訴編譯器其指定的函數要么在本文件后面定義,要么在另外一個文件中定義。同樣,編譯器并不嘗試確定對這個函數的引用,鏈接器來完成。如果鏈接器找不到,則會發出一條錯誤信息。 實際可能需要將一個全局變量或者一個函數的作用域限定在定義它的文件之內,將存儲類型說明符static應用于全局變量或函數時,就可以阻止在本文件之外定義的函數訪問它們。這被稱為內部鏈接(internal linkage)。在定義前沒有加上static的全局變量或者函數就是外部鏈接(external linkage)–如果在其他文件中包含了適當的聲明或函數原型,那么在這些文件中是可以被訪問的。 全局變量的聲明:

static const double PI = 3.14159;

說明符static通常用在僅能被特定文件中的函數所調用的實用函數中。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平潭县| 田林县| 高阳县| 西畴县| 武穴市| 全南县| 林西县| 隆德县| 陇川县| 海门市| 新民市| 马山县| 青铜峡市| 女性| 南开区| 永善县| 蓝田县| 长顺县| 琼海市| 宁化县| 正宁县| 徐州市| 临洮县| 卓资县| 乐山市| 溧阳市| 泉州市| 灵川县| 金川县| 织金县| 博乐市| 渭南市| 奉节县| 富川| 将乐县| 旅游| 桐庐县| 扎囊县| 嘉荫县| 虞城县| 报价|