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

            評論

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

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

            精品久久久久久久无码| 国产V综合V亚洲欧美久久| 一级做a爰片久久毛片毛片| 欧美激情一区二区久久久| 亚洲午夜无码久久久久| 国产精品久久波多野结衣| 欧美亚洲日本久久精品| 亚洲AV无码久久精品色欲| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 亚洲一区中文字幕久久| 区久久AAA片69亚洲| 精品久久人人爽天天玩人人妻| 久久久久久久波多野结衣高潮| 日本福利片国产午夜久久| 精品伊人久久久| 久久青青草原精品国产软件| 精品久久久久久国产潘金莲| 久久久亚洲裙底偷窥综合| 久久综合综合久久狠狠狠97色88| 超级碰碰碰碰97久久久久| 久久精品国产福利国产琪琪| a高清免费毛片久久| 色综合久久久久久久久五月| 一本久久免费视频| 久久久国产精华液| 久久久久久国产精品无码下载| 久久综合综合久久狠狠狠97色88| 久久久久亚洲Av无码专| 久久婷婷五月综合色奶水99啪| 久久久精品波多野结衣| 国产免费久久久久久无码| 91精品国产91久久久久久蜜臀| 99久久精品费精品国产一区二区| 日产精品99久久久久久| 色欲久久久天天天综合网精品| 久久国产免费直播| 久久久久亚洲精品天堂| 久久99精品久久久久久动态图| A狠狠久久蜜臀婷色中文网| 成人综合伊人五月婷久久| www.久久热.com|