欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 文件間調用變量(extern,include) [打印本頁]

作者: heila    時間: 2015-12-9 02:42
標題: 文件間調用變量(extern,include)

文件間調用變量(extern,include)



   首先要搞清楚的是.h頭文件中都是一些聲明性的語句,是不分配內存的,所以頭文件中有對函數的聲明,有define語句,有沒有實例化的結構體定義,但是沒有對變量的定義(比如 int a),有的只是對外變量的聲明(extern int a)。


  因為全局變量一般定義在原文件.c中(假設是a.c),對于一個文件調用另一個文件的全局變量,我們不能用#include包含源文件而只能包含頭文件,所以常用的方法是用extern  int a來聲明外部變量。   還有一種方法是可以是在a.c文件中定義了全局變量int global_num ,可以在a.h頭文件中寫extern int global_num 這樣其他源文件可以通過include a.h來聲明她是外部變量就可以了.


  對于一個文件調用另一個文件中的函數,最常用的是在.h頭文件中配上extern聲明函數,其他源文件可以通過#include該頭文件來聲明函數并且在調用該函數。  也可以是在a.c中定義該函數int fun()后 ,在 b.c文件中使用extern int  fun()來聲明該函數是外部定義后并實行調用。


  此外,extern修飾符可用于指示C或者C++函數的調用規范。比如在C++中調用C庫函數,就需要在C++程序中用extern “C”聲明要引用的函數。這是給鏈接器用的,告訴鏈接器在鏈接的時候用C函數規范來鏈接。主要原因是C++和C程序編譯完成后在目標代碼中命名規則不同。








歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1