青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C底世界

C 學習庫

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  3 Posts :: 1 Stories :: 0 Comments :: 0 Trackbacks

常用鏈接

留言簿(12)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

1 基本解釋

  extern可以置于變量或者函數前,以標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。

  另外,extern也可用來進行鏈接指定。

2 問題:extern 變量

  在一個源文件里定義了一個數組:char a[6];
  在另外一個文件里用下列語句進行了聲明:extern char *a;
  請問,這樣可以嗎?


  答案與分析:
  1)、不可以,程序運行時會告訴你非法訪問。原因在于,指向類型T的指針并不等價于類型T的數組。extern char *a聲明的是一個指針變量而不是字符數組,因此與實際的定義不同,從而造成運行時非法訪問。應該將聲明改為extern char a[ ]。

  2)、例子分析如下,如果a[] = "abcd",則外部變量a=0x61626364 (abcd的ASCII碼值),*a顯然沒有意義

  顯然a指向的空間(0x61626364)沒有意義,易出現非法內存訪問。

  3)、這提示我們,在使用extern時候要嚴格對應聲明時的格式,在實際編程中,這樣的錯誤屢見不鮮。

  4)、extern用在變量聲明中常常有這樣一個作用,你在*.c文件中聲明了一個全局的變量,這個全局的變量如果要被引用,就放在*.h中并用extern來聲明。

4 問題:extern 函數2

  當函數提供方單方面修改函數原型時,如果使用方不知情繼續沿用原來的extern申明,這樣編譯時編譯器不會報錯。但是在運行過程中,因為少了或者多了輸入參數,往往會照成系統錯誤,這種情況應該如何解決?

  答案與分析:

  目前業界針對這種情況的處理沒有一個很完美的方案,通常的做法是提供方在自己的xxx_pub.h中提供對外部接口的聲明,然后調用方include該頭文件,從而省去extern這一步。以避免這種錯誤。

  寶劍有雙鋒,對extern的應用,不同的場合應該選擇不同的做法。

5 問題:extern “C”

  在C++環境下使用C函數的時候,常常會出現編譯器無法找到obj模塊中的C函數定義,從而導致鏈接失敗的情況,應該如何解決這種情況呢?

  答案與分析:

  C++語言在編譯的時候為了解決函數的多態問題,會將函數名和參數聯合起來生成一個中間的函數名稱,而C語言則不會,因此會造成鏈接時找不到對應函數的情況,此時C函數就需要用extern “C”進行鏈接指定,這告訴編譯器,請保持我的名稱,不要給我生成用于鏈接的中間函數名。

  下面是一個標準的寫法:

//在.h文件的頭上
#ifdef __cplusplus
#if __cplusplus
extern "C"{
 #endif
 #endif /* __cplusplus */
 …
 …
 //.h文件結束的地方
 #ifdef __cplusplus
 #if __cplusplus
}
#endif
#endif /* __cplusplus */
 

3 問題:extern 函數1

  常常見extern放在函數的前面成為函數聲明的一部分,那么,C語言的關鍵字extern在函數的聲明中起什么作用?

  答案與分析:

  如果函數的聲明中帶有關鍵字extern,僅僅是暗示這個函數可能在別的源文件里定義,沒有其它作用。即下述兩個函數聲明沒有明顯的區別:

extern int f(); 和int f();
  當然,這樣的用處還是有的,就是在程序中取代include “*.h”來聲明函數,在一些復雜的項目中,我比較習慣在所有的函數聲明前添加extern修飾。
posted on 2008-07-10 11:34 C_Student 閱讀(4276) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品一区四区| 亚洲欧美一区二区精品久久久| 欧美高清影院| 性欧美大战久久久久久久免费观看| 欧美日韩美女一区二区| 最新中文字幕亚洲| 久久久久一区二区三区四区| 亚洲一区二区精品视频| 欧美色欧美亚洲高清在线视频| 亚洲日本欧美天堂| 亚洲国产综合91精品麻豆| 久久免费视频一区| 亚洲春色另类小说| 欧美成人第一页| 久久夜色精品国产亚洲aⅴ| 黄色一区二区三区| 女人色偷偷aa久久天堂| 久久免费偷拍视频| 亚洲精选大片| 亚洲免费观看高清在线观看 | 牛人盗摄一区二区三区视频| 久久国产一区| 最新国产乱人伦偷精品免费网站 | 欧美日韩八区| 亚洲一区二区三区色| 亚洲无线视频| 国产亚洲欧美激情| 女同性一区二区三区人了人一| 欧美va亚洲va香蕉在线| 一本色道久久88综合日韩精品 | 精品动漫3d一区二区三区免费版| 久久在线免费观看视频| 六月婷婷一区| 亚洲视频网站在线观看| 午夜视频在线观看一区二区三区 | 亚洲国产成人在线| 亚洲第一中文字幕| 欧美午夜不卡在线观看免费| 欧美怡红院视频一区二区三区| 久久爱另类一区二区小说| 亚洲人成人77777线观看| 一本久道久久综合中文字幕| 国产精品一区二区三区观看| 久久久99国产精品免费| 欧美国产在线观看| 欧美一区二区三区在| 老牛嫩草一区二区三区日本| 亚洲午夜av在线| 久久激情网站| 一区二区毛片| 亚洲影院色在线观看免费| 蜜臀av一级做a爰片久久| 欧美激情中文不卡| 久久精品国产99精品国产亚洲性色| 久久久久免费视频| 亚洲一区二区精品| 久久亚洲私人国产精品va媚药 | 一本一本a久久| 韩国福利一区| av成人激情| 亚洲人成7777| 久久精品夜色噜噜亚洲a∨| 亚洲午夜精品17c| 免费永久网站黄欧美| 西西裸体人体做爰大胆久久久| 久久女同精品一区二区| 香蕉久久夜色精品| 欧美三区在线观看| 91久久黄色| 亚洲人成在线观看| 久久先锋影音| 久久综合电影| 国产视频在线观看一区二区三区| 亚洲免费观看高清在线观看| 亚洲激情六月丁香| 久久久一区二区| 久久亚洲综合色| 国产精品综合久久久| 亚洲理伦在线| 亚洲免费福利视频| 欧美激情综合在线| 亚洲国产精品一区在线观看不卡| 狠狠色伊人亚洲综合网站色| 午夜综合激情| 欧美一级片久久久久久久| 欧美色图首页| 亚洲午夜在线观看| 亚洲淫性视频| 国产精品久久久久久福利一牛影视| 亚洲精品国产无天堂网2021| 亚洲精品网址在线观看| 欧美激情一区二区三区在线 | 欧美成人按摩| 亚洲福利国产| av成人免费在线| 欧美日韩精品中文字幕| 99re亚洲国产精品| 亚洲一二三区视频在线观看| 欧美日韩一区三区四区| 一本一本久久a久久精品综合妖精| 99pao成人国产永久免费视频| 欧美理论大片| 亚洲视频在线免费观看| 性娇小13――14欧美| 国产人成精品一区二区三| 欧美有码视频| 欧美1区2区3区| 亚洲精品乱码视频| 国产精品www| 欧美亚洲网站| 欧美aaa级| 在线视频亚洲欧美| 国产一区在线看| 美女日韩欧美| 亚洲精品影院在线观看| 亚洲欧美日韩国产另类专区| 狠狠色综合一区二区| 亚洲人成人一区二区在线观看| 欧美激情久久久久| 一本色道久久综合狠狠躁篇的优点| 亚洲嫩草精品久久| 国产在线视频不卡二| 欧美 日韩 国产 一区| 亚洲精品一区二区三| 欧美中文字幕精品| 亚洲区一区二区三区| 国产精品色婷婷| 欧美成人69av| 香蕉免费一区二区三区在线观看| 男人的天堂亚洲| 午夜在线一区| 亚洲精品久久久久久久久久久| 国产精品久久午夜| 噜噜噜久久亚洲精品国产品小说| 99亚洲一区二区| 嫩草伊人久久精品少妇av杨幂| 一本色道婷婷久久欧美| 国内精品久久久久伊人av| 欧美日本不卡高清| 久久久天天操| 国产精品99久久久久久白浆小说| 久久亚洲美女| 欧美一区午夜精品| 亚洲一区二区三区免费在线观看 | 韩国av一区| 国产精品大片| 欧美成人在线影院| 久久精品国产96久久久香蕉| 中国日韩欧美久久久久久久久| 欧美国产在线观看| 久久精品国产在热久久 | 欧美高清视频一区二区三区在线观看| 亚洲香蕉视频| 亚洲精品小视频在线观看| 国产亚洲视频在线| 国产精品国产福利国产秒拍| 欧美va亚洲va日韩∨a综合色| 欧美综合国产| 亚洲免费视频观看| 一级成人国产| 亚洲精品在线视频观看| 亚洲国产mv| 欧美激情欧美狂野欧美精品| 久久影视精品| 久久青青草综合| 欧美淫片网站| 久久国产精品99精品国产| 午夜精品福利在线| 亚洲欧美制服另类日韩| 亚洲先锋成人| 亚洲免费在线观看| 亚洲少妇最新在线视频| 99视频一区| 在线中文字幕不卡| 亚洲图色在线| 亚洲欧美国产制服动漫| 亚洲小说春色综合另类电影| 亚洲视频一二区| 香蕉免费一区二区三区在线观看 | 亚洲第一成人在线| 在线不卡中文字幕播放| 精品成人在线视频| 亚洲黑丝一区二区| 久久成人资源| 午夜在线电影亚洲一区| 欧美亚洲一区| 久久久久9999亚洲精品| 欧美综合第一页| 久久综合一区二区| 蜜臀久久久99精品久久久久久| 久久天天狠狠| 欧美激情性爽国产精品17p| 欧美日韩在线播放三区四区| 国产精品久久久久免费a∨大胸| 国产精品中文字幕欧美| 国内精品模特av私拍在线观看| 亚洲福利免费| 亚洲视频一起| 久久精品视频在线观看| 久久久综合精品|