8000 Releases · JupiterRider/ffi · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: JupiterRider/ffi

v0.4.1

12 May 15:47
Compare
Choose a tag to compare

Fixed

  • The dependency github.com/ebitengine/purego had to be upgraded to version 0.8.3 due to a bug in Go 1.23.9 and 1.24.3.

v0.4.0

13 Mar 17:40
Compare
Choose a tag to compare

Changed

  • Fun.Call panics now, if the number of arguments doesn't match the prepared Cif.

v0.3.0

18 Jan 17:29
Compare
Choose a tag to compare

Added

  • libffi's closure API has been implemented, which allows you to create C functions at runtime:
    • func ClosureAlloc(size uintptr, code *unsafe.Pointer) *Closure
    • func ClosureFree(writable *Closure)
    • func PrepClosureLoc(closure *Closure, cif *Cif, fun uintptr, userData, codeLoc unsafe.Pointer) Status
  • The new types Fun and Lib can reduce boilerplate and eliminate platform-dependent code:
    • func (f Fun) Call(ret any, args ...any)
    • func Load(name string) (l Lib, err error)
    • func (l Lib) Close() error
    • func (l Lib) Get(name string) (addr uintptr, err error)
    • func (l Lib) Prep(name string, ret *Type, args ...*Type) (f Fun, err error)
    • func (l Lib) PrepVar(name string, nFixedArgs int, ret *Type, args ...*Type) (f Fun, err error)
  • New method func (a Arg) Bool() bool added.
  • Changelog file added.

Changed

  • On Linux, libffi.so.7 was loaded when libffi.so.8 could not be found. This is no longer the case.
0