BridJ 0.6.2 发布:修复许多Bug,支持OSGi

jopen 12年前

BridJ (BSD-licensed)是一个创新的本地绑定库,可以让Java程序员以一种非常自然的方式使用本地库 (采用C, C++, ObjectiveC等语言开发的库) 。

以下是与 version 0.6.1 之间的变化情况(查看:详细变化日志) :

  • Fixed serious crashes on Win64 in assembler optimizations
  • Fixed BridJ.protectFromGC !
  • Fixed raw assembler optimization for floats & doubles, finally! (+ updated Win binaries)
  • Fixed handling of classloaders in some use-cases (issue #283)
  • Fixed Platform.open(File) (issue #306)
  • Fixed Pointer.copyTo(dest, elementCount) (issue #317)
  • Fixed alignment of struct array fields (issue #319)
  • Fixed alignment of double fields on Linux 32 bits (issue #320)
  • Fixed dlopen log for non existing absolute library paths
  • Added experimental Linux/arm support (issue #327)
  • Added @Library.dependencies + test library
  • Added BridJ.getNativeLibraryName back
  • Added ComplexDouble struct for C99′s `_Complex double` type.
  • Added GCC shortcut case for demangling of C++ constructors
  • Added Pointer.getIntAtIndex(long) / .setIntAtIndex(long, int) (and with all primitive variants)
  • Added quiet mode (BRIDJ_QUIET=1 / bridj.quiet=true) (issue #328)
  • Added parsing of Mach-O compressed symbols tries (LC_DYLD_INFO command) to dyncall (issue #311)
  • Added assembler optimizations for functions with up to 16 arguments on Win64 !
  • Added Pointer.withoutValidityInformation() (yields faster, unsafe pointer)
  • Added BridJ.subclassWithSynchronizedNativeMethods(Class) to create a subclass where all native methods are overridden
  • Added Pointer.getIntAtIndex(long) / .setIntAtIndex(long, int) (and with all primitive variants)
  • Added naive OSGi support to the main JAR.
  • Rationalized Java logs (issue #328)
  • Changed library extraction mechanism to allow extraction of dependencies (see @Library.dependencies); removed DeleteOldBinaries option
  • Special aliases for “c” and “m” libraries on windows (-> mscvrt)
  • Speedup assembler optimization on win64 (movsb -> movsq)
  • Removed ios-package (binaries for iOS/arm)

 下载使用BridJ