第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將本機(jī)方法添加到 OpenJDK 源代碼

將本機(jī)方法添加到 OpenJDK 源代碼

縹緲止盈 2023-06-28 16:14:34
我正在嘗試將自定義本機(jī)方法(免費(fèi))添加到 OpenJDK 源中,因此我可以從用戶應(yīng)用程序內(nèi)部將該方法調(diào)用為 System.free() 。我參考了在線資源來(lái)這樣做,并做了以下更改:{JDK13ROOT}/src/java.base/share/classes/java/lang/Runtime.javapublic static native void free();{JDK13ROOT}/src/java.base/share/classes/java/lang/System.javapublic static void free() {        Runtime.getRuntime().free();}{JDK13ROOT}/src/java.base/share/native/libjava/Runtime.cJNIEXPORT void JNICALLJava_java_lang_Runtime_free(){     printf("Caught !\n");}經(jīng)過(guò)上述更改后,我能夠成功編譯直接調(diào)用 System.free() 的驅(qū)動(dòng)程序,并打印Caught ! 執(zhí)行后。我想在 Java_java_lang_Runtime_free() 中調(diào)用 JVM_Free() ,如下所示:JNIEXPORT void JNICALLJava_java_lang_Runtime_free(){     printf("Caught !\n");     JVM_Free();}我已將聲明包含在 {JDK13ROOT}/src/hotspot/share/include/jvm.h中JNIEXPORT void JNICALLJVM_Free(void);以及{JDK13ROOT}/src/hotspot/share/prims/jvm.cpp中相同的定義JVM_ENTRY_NO_ENV(void, JVM_Free(void))  JVMWrapper("JVM_Free");  printf("SUCCESS\n");JVM_END我參考了 GC() 的實(shí)現(xiàn)并做了相同的更改,但是當(dāng)我構(gòu)建程序時(shí),出現(xiàn)以下錯(cuò)誤。Updating support/modules_libs/java.base/libjava.so due to 1 file(s)/usr/bin/ld: {JDK13ROOT}/build/linux-x86_64-server-slowdebug/support/native/java.base/libjava/Runtime.o: in function `Java_java_lang_Runtime_free':{JDK13ROOT}src/java.base/share/native/libjava/Runtime.c:71: undefined reference to `JVM_Free'我無(wú)法弄清楚為什么我無(wú)法從 Runtime.c 調(diào)用任何函數(shù)。PS:我還嘗試添加 System.c 而不是 Runtime.c 中的本機(jī)方法,并且我看到相同的構(gòu)建失敗。我在這里錯(cuò)過(guò)了什么或做錯(cuò)了什么?
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

您的符號(hào) ( JVM_Free) 未導(dǎo)出??纯催@里(t vs. T)


> nm libjvm.dylib | grep JVM_GC

000000000041508c T _JVM_GC


vs.


> nm libjvm.dylib | grep JVM_Free

000000000041517a t _JVM_Free

為了導(dǎo)出您的新符號(hào),您必須在此處添加它


{JDK13ROOT}/make/hotspot/symbols/symbols-unix

一旦它在那里,您將能夠從libjvm.dylib(或.so) 的外部“看到”它。


查看完整回答
反對(duì) 回復(fù) 2023-06-28
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)