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

            那誰的技術(shù)博客

            感興趣領(lǐng)域:高性能服務(wù)器編程,存儲,算法,Linux內(nèi)核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數(shù)據(jù)加載中……

            測試了一下VC和gcc對關(guān)鍵字export的支持

            <<c++ primer>>里面說,編譯模板函數(shù)的時候C++支持兩種模式,一種是包含模式,就是把模板函數(shù)的聲明和實(shí)現(xiàn)都放在同一個文件里面,我注意到STL就是這樣的,而且sgi和vc的實(shí)現(xiàn)都是如此,也許是因?yàn)樵缙趯δ0宓闹С植惶玫木壒拾?另一種是分離編譯模式,可以把模板函數(shù)的聲明和實(shí)現(xiàn)分開在頭文件和.cpp文件中,此時需要編譯器支持關(guān)鍵字export.

            測試的代碼如下,非常的簡單:
            頭文件里面的聲明:
            template?<class?T>
            void?test(T?n);

            .cpp文件里面的實(shí)現(xiàn),注意書寫的格式:
            export?//?前面加上關(guān)鍵字export
            template?<class?T>
            void?test(T?n)
            {
            ????std::cout?
            <<?"n?=?"?<<?n?<<?std::endl;
            }


            我用vc和gcc分別的編譯了一下,VC(我用的是7.1)中根本就不能識別export關(guān)鍵字,但是gcc下面可以編譯過去.但是如果把export關(guān)鍵字去掉那么兩個編譯器都是可以編譯過去的,而且也沒有對函數(shù)的結(jié)果產(chǎn)生影響,這是否說明現(xiàn)在已經(jīng)不再需要這個export關(guān)鍵字了?

            posted on 2006-07-11 19:04 那誰 閱讀(3679) 評論(13)  編輯 收藏 引用 所屬分類: C\C++

            評論

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            嗯.也許可以說是分離編譯的功能已經(jīng)被支持,但是那個語法標(biāo)準(zhǔn)沒有被MS采納而已.
            2006-07-11 19:21 | LOGOS

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            看看<Exceptional C++ Style>你就會知道目前的編譯器基本上都不支持export關(guān)鍵字。
            2006-07-11 19:26 | fanofvc

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            GCC版本是號多少?
            2006-07-12 11:33 | 周星星

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            to 星星,我在win下用的mingw,版本號是3.4.2
            2006-07-12 11:50 | 創(chuàng)系

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            @創(chuàng)系
            哦,謝謝,但我這里不行
            2006-07-12 17:37 | 周星星

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            僅僅是可以編譯過而已,應(yīng)該不能用,如果要使用仍需要include .c,失去了隱藏實(shí)現(xiàn)的意義。

            2006-08-06 19:24 | tango

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            順便問一下樓主用什么工具貼的代碼?帶語法加亮和解析。
            有現(xiàn)成的工具或教本嘛?
            謝了
            2006-08-06 21:12 | tango

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            @tango
            這個blog自帶的code功能,也是把我吸引到這里的原因之一:)
            2006-08-06 21:59 | 創(chuàng)系

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            你僅僅聲明和實(shí)現(xiàn)了模板,沒有"具現(xiàn)點(diǎn)",也就是說,沒有使用這個模板,那么就不會有連接問題出現(xiàn),如果你使用這個模板,那么ms的連接器將無法找到這個模板的實(shí)現(xiàn),也就無法具現(xiàn)(instantiate)這個模板,而支持export的編譯器將告訴連接器:"這個編譯單元里有你要的實(shí)現(xiàn),具現(xiàn)時來找吧",于是問題解決了.
            2007-03-20 16:44 | 空見

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            老大,template只在調(diào)用時才會生成。
            分離模板是指你在另一個文件 xxx.cpp 中只include 你上邊的.h時,也能正常連接通過...

            你這個代碼都沒有生成,怎么能證明不用export ....
            2007-03-22 19:24 | 糖菓

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            謝謝樓上幾位朋友的指正~~
            2007-03-22 23:17 | 創(chuàng)系

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            有本書這樣寫:
            //*.h

            #if defined USE_EXPORT
            #define EXPORT export
            #else
            #define EXPORT
            #endif

            EXPORT
            /*********some code***********/

            #ifnde UES_EXPORT
            #include"*.cpp"
            #endif
            2009-03-23 22:25 | AAA

            # re: 測試了一下VC和gcc對關(guān)鍵字export的支持  回復(fù)  更多評論   

            你的main函數(shù)在哪里?一般是連接時出錯,undefined reference to xxx
            2009-11-10 19:08 | lc
            久久91精品国产91久久户| 色婷婷噜噜久久国产精品12p| 久久99国产精品99久久| 国内精品伊人久久久久影院对白 | 国产99久久久国产精品~~牛| 久久人人爽人人爽人人片AV东京热| 久久亚洲熟女cc98cm| 国产精品99久久久久久www| 精产国品久久一二三产区区别 | 久久99精品久久久久久不卡| 亚洲天堂久久久| 久久精品免费大片国产大片| 国产精品99久久免费观看| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 欧美大香线蕉线伊人久久| 久久天天躁狠狠躁夜夜不卡| 久久精品欧美日韩精品| 久久妇女高潮几次MBA| 久久精品国产一区二区 | 久久精品国产半推半就| 亚洲精品无码久久千人斩| 久久综合久久性久99毛片| 国产高潮久久免费观看| 日本福利片国产午夜久久| 久久精品aⅴ无码中文字字幕重口| 久久久久av无码免费网| 色婷婷综合久久久久中文字幕 | 久久这里只精品国产99热| 久久综合狠狠综合久久| A级毛片无码久久精品免费| 国内精品久久久久影院老司| 久久亚洲精品国产亚洲老地址| 久久精品亚洲男人的天堂| 88久久精品无码一区二区毛片| 麻豆精品久久精品色综合| 国产 亚洲 欧美 另类 久久| 国产女人aaa级久久久级| 精品熟女少妇aⅴ免费久久| 狠狠色综合久久久久尤物 | 2021久久精品国产99国产精品| 久久久久久久久久久久中文字幕|