当前位置: 首页 > 工具软件 > Ocra > 使用案例 >

Ruby脚本转换成可执行文件---OCRA

慕翰学
2023-12-01

Ruby脚本转换成可执行文件

 

今天无意中看到了一篇关于OCRA工具的介绍,体验了一下,不错的一个工具,

可以很轻松的将ruby脚本转换成exe文件

 

当然需要安装ocra的gem包, gem install ocra 即可

 

ocra命令参数

 

ocra --help
ocra [options] script.rb
options可取值如下:
--dll dllname    Include additional DLLs from the Ruby bindir.
--no-lzma        Disable LZMA compression of the executable.
--quiet          Suppress output.
--help           Display this information.
--windows        Force Windows application (rubyw.exe)
--console        Force console application (ruby.exe)
--no-autoload    Don't load/include script.rb's autoloads
--icon      Replace icon with a custom one
--version        Display version number

 

 

以下是测试过程:

 

先创建了一个测试脚本test.rb

 

require 'pathname'
require_relative 'hello'

path = Pathname.new(File.dirname(__FILE__)).realpath
f = File.open("F:\\test.txt","w+")
f.puts "test"
f.puts path
f.close
hello "hello world"

 

 

为了测试能否将依赖的脚本一并打包,该脚本引用了hello.rb

 

 

def hello s
 puts s
end

 

 

在命令行中执行 

 

F:\>ocra --console test.rb

=== Loading script to check dependencies

hello world

=== Including 53 encoding support files (3194880 bytes,

 

DL is deprecated, please use Fiddle

=== Building test.exe

=== Adding user-supplied source files

=== Adding ruby executable ruby.exe

=== Adding detected DLL C:/ruby-2.0.0/bin/zlib1.dll

=== Adding detected DLL C:/ruby-2.0.0/bin/LIBEAY32.dll

=== Adding detected DLL C:/ruby-2.0.0/bin/SSLEAY32.dll

=== Adding detected DLL C:/ruby-2.0.0/bin/libffi-6.dll

=== Adding library files

=== Compressing 9578823 bytes

=== Finished building test.exe (2410533 bytes)

 

结果:

文件操作正常,打印正常

不过使用path来获取脚本路径,这个会返回一个临时目录

C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ocr18A.tmp/src

所以这个方法应该用不了

 

path = Pathname.new(File.dirname(__FILE__)).realpath

 

其他的用法还有待体验。

 

 

 

 

 

 

 类似资料: