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

            sherrylso

            C++博客 首頁 新隨筆 聯系 聚合 管理
              18 Posts :: 0 Stories :: 124 Comments :: 0 Trackbacks
            DLL中導出函數有兩種方式,即:dllexport與.def文件。
            dllexport方式是:在函數聲明中加上__declspec(dllexport);
            .def方式是:采用模塊定義(.def)文件聲明,(.def)文件為鏈接器提供了有關被鏈接程序的導出、屬性及其他方面的信息。
            (關于def文件,可以參考http://msdn.microsoft.com/en-us/library/d91k01sh(VS.80).aspx)
            對于這兩種方式,需要特別說明的是:
             第一、用.def文件導出的函數,其名稱是按我們的意愿定義的,而用__declspec(dellexport)導出時,會有相應的修飾名,具體的話,根據不同的編譯器其修飾名也不一樣。

             第二、__declspec(dllexport)定義的導出多用于同一編譯器的隱式鏈接(靜態調用),而.def導出函數可以確定導出的函數名不會因為不同的編譯器而不同,可用于其它開發工具的調用。

            有了上面的知識,我們再看JNI環境下的問題。

            JNI定義了關鍵字JNIEXPORT,用于實現DLL中函數的導出的。實際在JNI中,JNIEXPORT被定義為,#define JNIEXPORT __declspec(dllexport),也就是說JNI默認的導出函數使用dllexport方式。我們知道,使用使用dllexport方式產生的導出函數名會根據編譯器發生變化,在這種情況下,當Java程序通過Native接口調用DLL本地方法時,可能會發生找不到導出函數的問題。所以,在JNI的情況下,因此最好是定義一個.def文件來指明導出函數,以避免發生UnSatisfiedLinkedException錯誤 。




            posted on 2009-08-07 22:44 愛上龍卷風 閱讀(2635) 評論(1)  編輯 收藏 引用

            Feedback

            # re: JNI調用之關于DLL庫函數的導出[未登錄] 2009-08-08 09:08 Alex
            函數名稱的改變是因為使用c++編譯器造成的。使用C編譯器就不會有這個問題。當使用C++編譯器時,請使用extern "C" ,這樣就沒有問題了。  回復  更多評論
              

            久久99精品久久久久婷婷| 狠狠色丁香婷婷久久综合不卡| 精品九九久久国内精品| 亚洲国产精品久久久久| 亚洲国产综合久久天堂 | 无码精品久久一区二区三区| 亚洲狠狠婷婷综合久久久久| 91精品国产综合久久香蕉 | 亚洲色欲久久久综合网东京热 | 亚洲国产成人乱码精品女人久久久不卡 | 伊人久久大香线蕉综合5g| 99久久99久久| 久久99热这里只有精品国产| 久久精品综合一区二区三区| 国内精品人妻无码久久久影院 | 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲国产精品无码成人片久久| 久久最新免费视频| 66精品综合久久久久久久| 国产产无码乱码精品久久鸭| 久久精品国产亚洲AV蜜臀色欲| 亚洲第一永久AV网站久久精品男人的天堂AV | 日产精品久久久久久久性色| 亚洲日本久久久午夜精品| 久久性精品| 午夜精品久久久内射近拍高清 | 亚洲国产精品无码久久久久久曰 | 久久发布国产伦子伦精品 | AV无码久久久久不卡网站下载| 少妇久久久久久被弄高潮| 亚洲AⅤ优女AV综合久久久| 久久精品中文字幕一区| 色欲综合久久躁天天躁| 午夜精品久久久久久影视777| 久久精品国产亚洲精品| 久久er国产精品免费观看8| 久久精品99无色码中文字幕| 久久亚洲欧洲国产综合| 四虎影视久久久免费观看| 久久久国产精华液| 久久亚洲精精品中文字幕|