當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Java.lang.Runtime.loadLibrary()用法及代碼示例


描述

這個java.lang.Runtime.loadLibrary(String filename)方法加載具有指定庫名的動態庫。包含本機代碼的文件是從本地文件係統從通常獲取庫文件的地方加載的。此過程的細節取決於實現。從庫名到特定文件名的映射以 system-specific 方式完成。

首先,如果有一個安全管理器,它的 checkLink 方法會以 libname 作為參數被調用。這可能會導致安全異常。 System.loadLibrary(String) 方法是調用此方法的常規且方便的方法。如果要在類的實現中使用本機方法,標準策略是將本機代碼放在庫文件中(稱為 LibFile),然後放置一個靜態初始化程序 -

static { System.loadLibrary("LibFile"); }

在類聲明中。當類被加載和初始化時,本地方法的必要本地代碼實現也將被加載。如果使用相同的庫名多次調用此方法,則忽略第二次和後續調用。

聲明

以下是聲明java.lang.Runtime.loadLibrary()方法

public void loadLibrary(String libname)

參數

libname- Library 的名稱。

返回值

此方法不返回值。

異常

  • SecurityException- 如果存在安全管理器並且其 checkLink 方法不允許加載指定的動態庫

  • UnsatisfiedLinkError- 如果庫不存在

  • NullPointerException− 如果 libname 為空

示例

下麵的例子展示了 lang.Runtime.loadLibrary() 方法的用法。

package com.tutorialspoint;

public class RuntimeDemo {

   public static void main(String[] args) {

      // print when the program starts
      System.out.println("Program starting...");

      // load a library that is Windows/System32 folder
      System.out.println("Loading Library...");
      Runtime.getRuntime().loadLibrary("C:/Windows/System32/crypt32.dll");
      System.out.println("Library Loaded.");
   }
}

讓我們編譯並運行上麵的程序,這將產生以下結果 -

Program starting...
Loading Library...
Library Loaded.

相關用法


注:本文由純淨天空篩選整理自 Java.lang.Runtime.loadLibrary() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。