<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)根據(jù)java導(dǎo)出的jini頭文件,編譯出的動(dòng)態(tài)庫(kù),無(wú)法被java正常的調(diào)用.而相同的頭文件,使用vc6編譯出的dll則可以.函數(shù)聲明如下:
    JNIEXPORT jint JNICALL Java_DataModule_VersionCtrl_CPP_1SrvVsn_1Depend
      (JNIEnv *, jobject, jstring, jint, jstring, jint, jint, jstring);
    其中:
    JNIEXPORT  在gcc和vc6的中都是定義為 __declspec(dllexport)
    JNICALL  在兩種編譯環(huán)境下也都是定義為 __stdcall
    觀察兩種環(huán)境下生成的dll,發(fā)現(xiàn)這兩個(gè)dll導(dǎo)出的函數(shù)名稱(chēng)有所區(qū)別.
    一個(gè)是 (gcc)
    Java_DataModule_VersionCtrl_CPP_1SrvVsn_1Depend@32
    另一個(gè)是(vc6)
     _Java_DataModule_VersionCtrl_CPP_1SrvVsn_1Depend@32
    相差了一個(gè)下劃線(xiàn)!!
    難道是因?yàn)間cc編譯出的函數(shù)名稱(chēng)與java預(yù)期的不一致,導(dǎo)致其在java中不能被正常的調(diào)用?于是,手動(dòng)修改用于gcc編譯的jini頭文件中的函數(shù)聲明,在其原有名稱(chēng)前加一個(gè)下劃線(xiàn),使其與vc6的輸出的名稱(chēng)一致,并相應(yīng)修改函數(shù)定義中的函數(shù)名稱(chēng).重現(xiàn)編譯之,并再次于java中調(diào)用,竟然通過(guò)了.

    google搜索 __stdcall

    發(fā)現(xiàn)不同編譯器對(duì)__stdcall的實(shí)現(xiàn)是不同的,所以導(dǎo)致相同的聲明下,輸出函數(shù)名不一致.而java在win32平臺(tái)下默認(rèn)是以微軟的vc6的編譯輸出格式為標(biāo)準(zhǔn)進(jìn)行調(diào)用的.所以相同的頭文件vc6可以,而gcc不行,(bcb也不行)
    或許java有選項(xiàng)可以輸出兼容于其他編譯器的JNI頭文件吧.^_^.

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

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

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    <2006年1月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(1)

    隨筆檔案(6)

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 久久精品国产亚洲AV| 亚洲熟妇av一区二区三区漫画| 国产精品免费精品自在线观看| 最近免费字幕中文大全视频| 一区二区三区观看免费中文视频在线播放| 成人黄网站片免费视频| 免费人成黄页在线观看日本| 久久国产乱子伦精品免费强| 久久久久国色av免费看| 91精品国产免费| 四虎永久在线观看免费网站网址 | 欧美亚洲国产SUV| 国产精品亚洲а∨天堂2021| 阿v免费在线观看| 国产成人无码免费看片软件| 国产免费爽爽视频在线观看| 69视频在线是免费观看| 久九九精品免费视频| 免费无码黄网站在线观看| 亚洲成AⅤ人影院在线观看| MM131亚洲国产美女久久| 国产亚洲人成无码网在线观看| 亚洲男人第一av网站| 亚洲一区二区三区久久久久| 亚洲人成无码网站在线观看| 香蕉视频免费在线| 国产精品免费无遮挡无码永久视频| 67pao强力打造高清免费| 好吊妞在线成人免费| 亚洲精品美女久久久久99小说| 亚洲AV无码乱码国产麻豆| 亚洲国产av高清无码| 黄页网站在线免费观看| 波多野结衣免费一区视频 | 四虎永久免费影院在线| 亚洲人JIZZ日本人| 亚洲一区二区三区在线观看蜜桃| 精品亚洲成A人在线观看青青| 99精品视频免费| 成人免费午夜在线观看| 亚洲人成电影网站国产精品|