<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
    暈倒,那里的事呀....一點也不用改的..  回復  更多評論
      

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


    網站導航:
     

    <2007年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆檔案(6)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产午夜免费福利红片| 日韩毛片免费在线观看| 亚洲熟妇中文字幕五十中出| 一级毛片a免费播放王色电影| 国产精品久久香蕉免费播放| 亚洲s码欧洲m码吹潮| 尤物永久免费AV无码网站| 国产精品亚洲色婷婷99久久精品| 狠狠久久永久免费观看| 男男gay做爽爽免费视频| 亚洲精品tv久久久久| 黄视频在线观看免费| 亚洲∧v久久久无码精品| 亚洲一区在线免费观看| 亚洲综合在线一区二区三区| 国产美女a做受大片免费| 特级毛片免费播放| 中文字幕亚洲无线码| 日韩免费人妻AV无码专区蜜桃 | 久久亚洲精品无码AV红樱桃| 久久国产高潮流白浆免费观看| 亚洲国产精品综合福利专区| 最近免费中文字幕视频高清在线看| 色欲aⅴ亚洲情无码AV蜜桃| 久久久精品国产亚洲成人满18免费网站 | 亚洲国产三级在线观看| 免费黄色网址网站| 色噜噜的亚洲男人的天堂| 亚洲人成伊人成综合网久久久 | 免费国产成人午夜在线观看| 亚洲人成网站日本片| 免费一级毛片在线播放| 大地资源网高清在线观看免费| 亚洲小说区图片区| 免费a级毛片18以上观看精品| 免费看成人AA片无码视频吃奶| 亚洲明星合成图综合区在线| 亚洲AV无码不卡在线观看下载| 91av免费观看| 青青草97国产精品免费观看 | 亚洲人成影院午夜网站|