• <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 | 四虎国产精品免费久久| 无码伊人66久久大杳蕉网站谷歌 | 狠狠综合久久综合88亚洲| 性欧美丰满熟妇XXXX性久久久| 青青草原综合久久| 亚洲精品无码久久不卡| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产精品成人99久久久久91gav | 久久亚洲精精品中文字幕| 中文字幕久久欲求不满| 无码精品久久久天天影视| 久久免费大片| 亚洲精品高清国产一久久| 久久国产欧美日韩精品| 久久人人爽人爽人人爽av| 97久久国产亚洲精品超碰热 | 久久国产福利免费| 99热成人精品热久久669| 欧美激情一区二区久久久| 久久影院午夜理论片无码| 热久久这里只有精品| 国产精品岛国久久久久| 久久综合亚洲欧美成人| 亚洲国产精品成人久久| 欧美亚洲国产精品久久高清| 伊人色综合久久天天| 久久国产精品久久精品国产| 精品熟女少妇a∨免费久久| 综合网日日天干夜夜久久| 久久精品日日躁夜夜躁欧美| 久久亚洲国产成人影院| 久久国产欧美日韩精品免费| 国产精品成人久久久| 免费久久人人爽人人爽av| 亚洲αv久久久噜噜噜噜噜| 蜜臀久久99精品久久久久久小说|