内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

extern"c"的作用詳解

        extern "c"的主要作用就是為了能夠正確實現(xiàn)C++代碼調(diào)用其它C語言代碼。加上extern "c"后,會指示編譯器這部分代碼按照C語言的風格進行編譯。
         由于C++支持函數(shù)重載,因此編譯器編譯函數(shù)的過程中會將函數(shù)的參數(shù)類型也加到編譯后的代碼中,而不僅僅是函數(shù)名;C語言并不支持函數(shù)重載,因此編譯C代碼的函數(shù)時不會帶上函數(shù)的參數(shù)類型,一般只包括函數(shù)名。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、開平ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的開平網(wǎng)站制作公司


         這個功能十分有用,因為在C++出現(xiàn)以前,很多代碼都是C語言寫的,而且底層的庫也是C語言寫的,為了更好的支持原來的C代碼和已經(jīng)寫好的C語言庫,需要在C++中盡可能的支持C,而extern "c"就是其中的一個策略。


   這個功能主要用在下面的情況:
   1、C++代碼調(diào)用C語言代碼
   2、在C++的頭文件中使用
   3、在多個人協(xié)同開發(fā)時,可能會出現(xiàn)有人編寫C代碼,有人能編寫C++代碼,這樣的情況也可以使用extern "c"。

 

     extern "c"包含雙重語義,從字面上可以知道,首先,被他修飾的目標是"extern"的;其次,被他修飾的目標代碼是"C"的。被extern "c"限定的函數(shù)和變量
是extern的。
     看這個例子: extern int a;   僅僅是一個變量的聲明,并不是在定義變量a,也沒有為a分配空間。變量a在所有模塊中作為一種全局變量只能被定義一次,否則會出錯。
   

extern "c"使用要點:
   1、可以使單一語句。
      extern "c" double sqrt(double)
   2、可以使復(fù)合語句,相當于復(fù)合語句中的聲明都加了extern "c"。
      extern "c"
      {
          double sqrt(double);l
          int min(int,int);
      }
    3、可以包含頭文件,相當于頭文件中的聲明都加了extern "c"。
       extern "c"
       {
           #include<cmath>
       }
    4、不可以將extern "c"添加到函數(shù)內(nèi)部。
    5、如果函數(shù)有多個聲明,可以都加extern "c",也可以只出現(xiàn)在第一次聲明中,后面的聲明會接受第一個鏈接指示符的規(guī)則。

 

名稱欄目:extern"c"的作用詳解
文章出自:http://www.rwnh.cn/article16/jgpsdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化、建站公司、微信公眾號軟件開發(fā)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
固始县| 浑源县| 永年县| 齐河县| 获嘉县| 镇坪县| 绥滨县| 五常市| 宾川县| 永和县| 南通市| 伊金霍洛旗| 左云县| 大英县| 无极县| 潜山县| 金寨县| 昌乐县| 巢湖市| 桐庐县| 华坪县| 金秀| 交口县| 剑河县| 南开区| 明星| 剑河县| 莒南县| 玉树县| 华亭县| 白朗县| 广饶县| 禹城市| 历史| 凤山市| 保定市| 西林县| 驻马店市| 栾城县| 罗甸县| 灵武市|