差異處
這裏顯示兩個版本的差異處。
下次修改 | 前次修改 | ||
java:jna:dll_search_path [2013/02/24 23:01] 127.0.0.1 外部編輯 |
java:jna:dll_search_path [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 28: | 行 28: | ||
===== 結論 ===== | ===== 結論 ===== | ||
由以上五個case可以發現:dll的搜尋路徑是由執行檔路徑開始,接著是system32,最後是工作目錄。對Java而言,啟動jvm都是透過java指令,也就是java_home/bin/java.exe執行檔。因此放在java_home/bin中的dll,會比system32中的優先找到。後來我透過batch檔去執行Debug/HelloWorld.exe,結果發現搜尋的依據,是根據HelloWorld.exe而非batch檔。不管怎樣包裝,如果是A要去Load B,優先找尋的是A所在的目錄。 | 由以上五個case可以發現:dll的搜尋路徑是由執行檔路徑開始,接著是system32,最後是工作目錄。對Java而言,啟動jvm都是透過java指令,也就是java_home/bin/java.exe執行檔。因此放在java_home/bin中的dll,會比system32中的優先找到。後來我透過batch檔去執行Debug/HelloWorld.exe,結果發現搜尋的依據,是根據HelloWorld.exe而非batch檔。不管怎樣包裝,如果是A要去Load B,優先找尋的是A所在的目錄。 | ||
+ | |||
+ | ===== ===== | ||
+ | ---- | ||
+ | \\ | ||
+ | ~~DISQUS~~ |