0

在 Windows 10 上,我使用的是 ruby​​ 2.7.0。

使用“小提琴”,我尝试在我的 ruby​​ 脚本中打开一个 dll,但我在“Fiddle.dlopen”行收到一条错误消息。有我的红宝石代码:

require 'fiddle'

filename = File.join(__dir__, "Circle.dll")
circle = Fiddle.dlopen(filename)

compute_ray = Fiddle::Function.new(
  circle['ComputeRay'],
  [Fiddle::TYPE_DOUBLE, Fiddle::TYPE_DOUBLE],
  Fiddle::TYPE_DOUBLE
)

r = compute_ray.call(100,5)
puts "ray = #{r}"

“Circle.dll”已经从这个 repo 编译:https ://github.com/chaudard/Circle

有错误消息:

Traceback (most recent call last):
    3: from use_dll.rb:6:in `<main>'
    2: from /usr/lib/ruby/2.7.0/fiddle.rb:47:in `dlopen'
    1: from /usr/lib/ruby/2.7.0/fiddle.rb:47:in `new'
/usr/lib/ruby/2.7.0/fiddle.rb:47:in `initialize': /home/user/code/ruby/dll/Circle.dll: Exec format error (Fiddle::DLError)

谢谢你的帮助。

4

0 回答 0