<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    知新軒
    溫故而知新,可以為師矣.
    posts - 7,  comments - 2,  trackbacks - 0

    使用gcc(win32)根據java導出的jini頭文件,編譯出的動態庫,無法被java正常的調用.而相同的頭文件,使用vc6編譯出的dll則可以.函數聲明如下:
    JNIEXPORT jint JNICALL Java_DataModule_VersionCtrl_CPP_1SrvVsn_1Depend
      (JNIEnv *, jobject, jstring, jint, jstring, jint, jint, jstring);
    其中:
    JNIEXPORT  在gcc和vc6的中都是定義為 __declspec(dllexport)
    JNICALL  在兩種編譯環境下也都是定義為 __stdcall
    觀察兩種環境下生成的dll,發現這兩個dll導出的函數名稱有所區別.
    一個是 (gcc)
    Java_DataModule_VersionCtrl_CPP_1SrvVsn_1Depend@32
    另一個是(vc6)
     _Java_DataModule_VersionCtrl_CPP_1SrvVsn_1Depend@32
    相差了一個下劃線!!
    難道是因為gcc編譯出的函數名稱與java預期的不一致,導致其在java中不能被正常的調用?于是,手動修改用于gcc編譯的jini頭文件中的函數聲明,在其原有名稱前加一個下劃線,使其與vc6的輸出的名稱一致,并相應修改函數定義中的函數名稱.重現編譯之,并再次于java中調用,竟然通過了.

    google搜索 __stdcall

    發現不同編譯器對__stdcall的實現是不同的,所以導致相同的聲明下,輸出函數名不一致.而java在win32平臺下默認是以微軟的vc6的編譯輸出格式為標準進行調用的.所以相同的頭文件vc6可以,而gcc不行,(bcb也不行)
    或許java有選項可以輸出兼容于其他編譯器的JNI頭文件吧.^_^.

    posted on 2005-12-23 10:47 ___ 閱讀(3172) 評論(2)  編輯  收藏

    FeedBack:
    # re: win32下使用gcc編譯供java 調用的dll須知(jini)
    2006-01-09 17:06 | 小鐵匠
    JNI吧  回復  更多評論
      
    # re: win32下使用gcc編譯供java 調用的dll須知(jni)
    2007-05-31 21:12 | zb
    暈倒,那里的事呀....一點也不用改的..  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2005年12月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆檔案(6)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲日韩国产欧美一区二区三区 | 久久丫精品国产亚洲av不卡| 男女午夜24式免费视频| 亚洲的天堂av无码| 在线免费视频一区二区| 国产精品内射视频免费| 亚洲视频一区在线播放| 精品免费国产一区二区| 人妻在线日韩免费视频| 亚洲日本久久久午夜精品| 国产亚洲人成A在线V网站| 在线美女免费观看网站h| 国产精品亚洲一区二区三区在线观看 | 又粗又硬又大又爽免费视频播放| 中文字幕免费在线播放| 亚洲一区在线免费观看| 亚洲美日韩Av中文字幕无码久久久妻妇 | 成人永久免费福利视频网站| 国产中文字幕在线免费观看| 亚洲国产日韩综合久久精品| 亚洲色偷拍另类无码专区| 成年人视频在线观看免费| 五月天婷婷免费视频| 亚洲AV无码专区在线亚| 中文字幕亚洲天堂| 日韩成人免费aa在线看| 97国产在线公开免费观看| 一边摸一边桶一边脱免费视频| 亚洲一区二区三区91| 久久精品国产69国产精品亚洲| 在线免费观看国产视频| 最近免费中文在线视频| 91精品全国免费观看青青| 在线观看亚洲免费| 亚洲人成人77777网站不卡| 亚洲熟妇无码另类久久久| 国产免费资源高清小视频在线观看| 少妇太爽了在线观看免费视频| 一级特黄a大片免费| 亚洲精品女同中文字幕| 亚洲精品一卡2卡3卡三卡四卡|