• <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 閱讀(365) 評論(2)  編輯 收藏 引用 所屬分類: Knowledge

            評論

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

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

            中文成人久久久久影院免费观看| 一级女性全黄久久生活片免费| 久久久久久伊人高潮影院| 久久婷婷是五月综合色狠狠| 狠狠精品久久久无码中文字幕| 亚洲欧洲日产国码无码久久99| 久久精品国产一区| 亚洲精品无码久久久久AV麻豆| 久久精品国产精品亚洲毛片| 国产精品青草久久久久福利99| 久久精品人妻中文系列| 日本精品久久久久中文字幕8| 欧美色综合久久久久久| 国产成人精品久久一区二区三区 | 精品久久久久久成人AV| 久久精品国产只有精品66| 久久丫精品国产亚洲av不卡 | 久久综合偷偷噜噜噜色| 久久国产亚洲精品麻豆| 国色天香久久久久久久小说| 久久人人爽人人爽AV片| 大伊人青草狠狠久久| 色妞色综合久久夜夜| 伊色综合久久之综合久久| 精品久久久久久久久久久久久久久| 99久久国产精品免费一区二区| 久久久精品国产Sm最大网站| 久久精品人人做人人爽97| 亚洲乱码精品久久久久..| 久久婷婷五月综合国产尤物app| 国产日韩久久免费影院| 伊人久久大香线蕉精品| 精品国产福利久久久| 狠狠色丁香久久婷婷综| 99久久精品午夜一区二区| 亚洲熟妇无码另类久久久| 久久精品一本到99热免费| 一本久久综合亚洲鲁鲁五月天| 久久精品国产WWW456C0M| 日韩乱码人妻无码中文字幕久久| 久久久久久a亚洲欧洲aⅴ|