java 呼叫 C# DLL 档

bokelai 发布于 2013/05/01 12:56
阅读 430
收藏 0

请问各位,要如何在 java 中呼叫 C# 的 DLL 档?

我有参考以下,但是,试不行,麻烦各位前辈如何经验可以分享一下,谢谢。

http://www.webjx.com/aspnet/2010-06-26/24887.html

加载中
0
南湖船老大
南湖船老大

C#本身又依赖.Net Framework。。这个有点蛋疼。

一般使用JNA调用DLL的,JNA是对JNI的封装

0
0
bokelai
bokelai

请问我照着网址上实作一次,出现以下错误。。

找不到程式码

JAR 档 C:\jacob-1.17-M2\jacob.jar 没有程式码附件。

您可以按一下底下的(附件程式码)来附件程式码:

附件程式码(A)钮

// 編譯自JacobObject.java (版本 1.5:49.0,超位元)
public class com.jacob.com.JacobObject {
  
  // 欄位描述子 #28 Z
  private static final boolean DEBUG;
  
  // 方法描述子 #30 ()V
  // 堆疊:1、本端:1
  public JacobObject();
    0  aload_0 [this]
    1  invokespecial java.lang.Object() [1]
    4  aload_0 [this]
    5  invokestatic com.jacob.com.ROT.addObject(com.jacob.com.JacobObject) : void [2]
    8  return
      行號:
        [pc:0,行:41]
        [pc:4,行:42]
        [pc:8,行:43]
      區域變數表:
        [pc:0,pc:9] 本端:this 索引:0 類型:com.jacob.com.JacobObject
  
  // 方法描述子 #30 ()V
  // 堆疊:2、本端:1
  public void safeRelease();
     0  invokestatic com.jacob.com.JacobObject.isDebugEnabled() : boolean [3]
     3  ifeq 34
     6  new java.lang.StringBuilder [4]
     9  dup
    10  invokespecial java.lang.StringBuilder() [5]
    13  ldc <String "SafeRelease: "> [6]
    15  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [7]
    18  aload_0 [this]
    19  invokevirtual java.lang.Object.getClass() : java.lang.Class [8]
    22  invokevirtual java.lang.Class.getName() : java.lang.String [9]
    25  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [7]
    28  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [10]
    31  invokestatic com.jacob.com.JacobObject.debug(java.lang.String) : void [11]
    34  return
      行號:
        [pc:0,行:52]
        [pc:6,行:54]
        [pc:34,行:56]
      區域變數表:
        [pc:0,pc:35] 本端:this 索引:0 類型:com.jacob.com.JacobObject
  
  // 方法描述子 #38 ()Z
  // 堆疊:1、本端:0
  protected static boolean isDebugEnabled();
    0  getstatic com.jacob.com.JacobObject.DEBUG :boolean [12]
    3  ireturn
      行號:
        [pc:0,行:66]
  
  // 方法描述子 #40 ()Ljava/lang/String; (即將棄用)
  // 堆疊:1、本端:0
  @java.lang.Deprecated
  public static java.lang.String getBuildDate();
    0  invokestatic com.jacob.com.JacobReleaseInfo.getBuildDate() : java.lang.String [13]
    3  areturn
      行號:
        [pc:0,行:77]
  
  // 方法描述子 #40 ()Ljava/lang/String; (即將棄用)
  // 堆疊:1、本端:0
  @java.lang.Deprecated
  public static java.lang.String getBuildVersion();
    0  invokestatic com.jacob.com.JacobReleaseInfo.getBuildVersion() : java.lang.String [14]
    3  areturn
      行號:
        [pc:0,行:88]
  
  // 方法描述子 #46 (Ljava/lang/String;)V
  // 堆疊:3、本端:1
  protected static void debug(java.lang.String istrMessage);
     0  invokestatic com.jacob.com.JacobObject.isDebugEnabled() : boolean [3]
     3  ifeq 40
     6  getstatic java.lang.System.out :java.io.PrintStream [15]
     9  new java.lang.StringBuilder [4]
    12  dup
    13  invokespecial java.lang.StringBuilder() [5]
    16  invokestatic java.lang.Thread.currentThread() : java.lang.Thread [16]
    19  invokevirtual java.lang.Thread.getName() : java.lang.String [17]
    22  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [7]
    25  ldc <String ": "> [18]
    27  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [7]
    30  aload_0 [istrMessage]
    31  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [7]
    34  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [10]
    37  invokevirtual java.io.PrintStream.println(java.lang.String) : void [19]
    40  return
      行號:
        [pc:0,行:97]
        [pc:6,行:98]
        [pc:40,行:101]
      區域變數表:
        [pc:0,pc:41] 本端:istrMessage 索引:0 類型:java.lang.String
  
  // 方法描述子 #30 ()V
  // 堆疊:2、本端:0
  static {};
     0  ldc <String "true"> [20]
     2  ldc <String "com.jacob.debug"> [21]
     4  invokestatic java.lang.System.getProperty(java.lang.String) : java.lang.String [22]
     7  invokevirtual java.lang.String.equalsIgnoreCase(java.lang.String) : boolean [23]
    10  putstatic com.jacob.com.JacobObject.DEBUG :boolean [12]
    13  invokestatic com.jacob.com.LibraryLoader.loadJacobLibrary() : void [24]
    16  return
      行號:
        [pc:0,行:61]
        [pc:13,行:107]
        [pc:16,行:108]
}

返回顶部
顶部