• <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>

            Jiang's C++ Space

            創作,也是一種學習的過程。

               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            “調用轉換”(calling conversion)和“命名轉換”(naming conversion)這兩個概念對我們來說其實并不陌生,只要你聽說過extern "C",__cdecl,__stdcall和__fastcall這些東西,如果引用的聲明和導出的聲明不一致,就會出現類似下面這么一個編譯錯誤:

            RealTest.obj : error LNK2001: unresolved external symbol "double __stdcall Fun1(int,double)" (?Fun1@@YGNHN@Z)
            Debug/RealTest.exe : fatal error LNK1120: 1 unresolved externals

            解決這個問題很簡單,只要使用一致的聲明就可以了。我們用C++編程,常接觸到的也就兩種命名轉換,一種是C++的,不需要特別聲明,一種是C的,需要加上個extern "C"前綴;而調用轉換有三種,__cdecl,__stdcall和__fastcall,調用轉換不同,導出的符號也是有差別的。這里我就不深究它們的差別了,我們所要記住的就是:保持一致。
            posted on 2010-04-02 14:06 Jiang Guogang 閱讀(352) 評論(2)  編輯 收藏 引用 所屬分類: Knowledge

            評論

            # re: 調用轉換與命名轉換 2010-04-06 09:52 matthew
            曾經看過....忘了哈  回復  更多評論
              

            # re: 調用轉換與命名轉換 2010-06-17 14:25 marrywindy
            看了你很多文章,csdn你寫了很多很多哦....受益匪淺....謝謝...  回復  更多評論
              

            欧美一区二区三区久久综| 久久人人爽人人爽人人爽| 久久精品99久久香蕉国产色戒| 欧美国产成人久久精品| 久久超乳爆乳中文字幕| 久久精品无码一区二区三区免费| 国产农村妇女毛片精品久久| 九九精品久久久久久噜噜| 久久久婷婷五月亚洲97号色| 一本一道久久精品综合| 亚洲精品无码久久久久去q | 国产成人精品久久一区二区三区av | 久久综合精品国产一区二区三区| 亚洲欧美久久久久9999| 亚洲国产精久久久久久久| 国产精品99久久久精品无码| 久久综合九色欧美综合狠狠 | 综合人妻久久一区二区精品| 麻豆久久| 性高湖久久久久久久久| 日日狠狠久久偷偷色综合0| 思思久久99热免费精品6| 九九久久精品国产| 蜜桃麻豆www久久国产精品| 色欲综合久久躁天天躁| 人人妻久久人人澡人人爽人人精品| 国产精品久久久99| 亚洲成色WWW久久网站| 97久久香蕉国产线看观看| 国产精品久久久99| 亚洲色大成网站www久久九| 久久九九久精品国产免费直播| 久久天堂AV综合合色蜜桃网| 久久精品这里热有精品| 久久婷婷是五月综合色狠狠| 麻豆成人久久精品二区三区免费 | 久久中文骚妇内射| 99久久综合狠狠综合久久| 亚洲伊人久久综合中文成人网| 狠狠色丁香久久婷婷综合_中| 亚洲国产精品成人久久蜜臀 |