`
stinge
  • 浏览: 153338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多

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

 

其他的用法还有待体验。

 

 

 

 

 

 

0
1
分享到:
评论

相关推荐

    Ruby 应用安装程序制作工具 Ocra.zip

    Ocra,全称为"One-Click Ruby Application",是专门为Ruby开发者设计的一个工具,它允许用户将Ruby源代码打包成独立的可执行文件,使得在没有Ruby环境的Windows系统上也能运行Ruby应用程序。这一特性对于分发和部署...

    打包ruby EXE程序的OCRA GEM包

    用于打包ruby代码生成EXE程序,最新的GEM包ocra-1.31.gem

    OATH HOTP/TOTP/OCRA OTP 算法

    - **可扩展性**:OATH 可以与其他安全措施(如生物识别)结合使用,提供多层次的保护。 **总结** OATH OTP 算法为网络安全提供了强大的保障,尤其是对于需要高安全性的服务,如网上银行、企业内部系统等。HOTP、...

    ocra:一键式Ruby应用程序生成器

    奥克拉主页:: 问题:: 论坛:: 描述OCRA(一键式Ruby应用程序)从Ruby源代码构建Windows可执行文件。 该可执行文件是一个自解压,自运行的可执行文件,其中包含Ruby解释器,您的源代码以及任何其他需要的ruby库或DLL。...

    matlab代码解释器-ocra-pulseq:OCRA的Pulseq解释器

    pulseq_assembler.py是一个汇编程序,它使用一个.seq文件,并将OCRA机器代码和数据组合到该文件的规范中。 用法 PSAssembler是根据时序和系统规格进行初始化的对象。 初始化之后,运行PSAssembler.assemble("...

    Ruby 代码覆盖率工具 Coco.zip

    Ruby 代码覆盖率工具 Coco 是一款用于评估 Ruby 代码测试完整性的实用工具。它允许开发者量化他们的测试套件对源代码的覆盖程度,从而确保代码的质量和健壮性。Coco 提供了一种简单的方式来集成到 RSpec 和其他的...

    OCRA 中文4.5 6001

    可用来编辑 Windows Installer 数据库文件 (.msi) 文件,合并模块 (.msm) 文件,补丁 (.msp) 文件,内部一致性计算程序 (.cub) 文件和补丁创建属性 (.pcp) 文件。是修改和本地化 Windows Installer 数据库的最佳辅助...

    Rust 中 OATH算法的实现,包括 TOTP、HOTP 和 OCRA_rust_代码_下载

    3. **OCRA(One-Time Password Algorithm)**:OCRA 在 RFC 6287 中描述,它是 OATH 的扩展,允许在不同的上下文中使用一次性密码,比如结合了挑战-响应机制。OCRA 实现会包括处理挑战字符串、密钥和时间或计数器的...

    基于拍卖机制的新能源汽车充电桩资源问题.pdf

    本文提出了一种基于拍卖机制的充电桩分配与定价机制(VCG-OCRA),旨在解决充电桩在分配资源给用户时存在的分配不合理、定价无法及时反映市场需求及资源提供商的整体福利较低等问题。该机制首先将充电桩的实际问题...

    VeilDependencies1.zip

    5. **ocra-1.3.6.gem**:OCRA(One-Click Ruby App)是一个用于将Ruby应用程序打包成独立可执行文件的工具。这在分发Veil的payloads时可能非常有用,因为它们可以被封装成单个文件,无需用户安装额外的环境。 6. **...

    oath-Rust中OATH算法的实现。 包括TOTP,HOTP和OCRA。-Rust开发

    rust-oath该库旨在提供RFC规定的HOTP,TOTP和OCRA的实现。 实现:HOTP(RFC 4226)TOTP(RFC 6238)rust-oath该库旨在提供RFC规定的HOTP,TOTP和OCRA的实现。 实现:HOTP(RFC 4226)TOTP(RFC 6238)OCRA(RFC 6287...

    ocra.py

    ocra.py

    AiltGIFtoWordConverter(GIF转Word工具)v6.5免费安装版

    该款工具可认保留原始的布局,和gif文件中的文字。友好的用户界面使我们使用起来非常容易,只需简单的几下点击就可完成。更重要的一点是,工具的处理速度非常快。欢迎需要的朋友前来下载吧 功能介绍  提供了友好...

    OCRA:C++中的OATH OCRA算法

    OCRA,全称为“OATH挑战-响应算法”(One-Time Password Algorithm - Challenge-Response),是一种基于时间、事件或硬件令牌的一次性密码生成协议。它扩展了HOTP(基于事件的一次性密码算法)和TOTP(基于时间的一...

    Sapphire:适用于Windows的终极Ruby游戏编程

    Windows / Ocra的批处理编译器(几乎没有用) 科学(Windows) 示例目录 示例zip 这个文件 蓝宝石是: 适用于Windows的独立Ruby,包括用于制作游戏的宝石 模板制造商开始更轻松地使用Ruby / Gosu开发游戏 如果您...

    ocra:ocher.js

    由于提供的压缩包名为 "ocra-master",这可能意味着它是ocra.js项目的主分支或者完整源代码仓库。解压后,我们可以期待找到项目文件结构,包括`package.json`(列出依赖和项目配置)、`index.js`(可能包含主入口...

    flocra:基于流的流ocra控制器

    这是絮状HDL文件,Icarus Verilog测试平台,Verilator仿真框架和Vivado IP核心XML描述的集中存储库。 Flocra使用Xilinx Zynq ZC-7020芯片设计用于STEMlab-122.88器件,但是如果减小了主存储器或FIFO的大小,它将很...

    安装程序制作工具

    在给定的压缩包文件中,`sbp1_50sc_sp6.exe`可能是一个特定的安装程序制作工具的执行文件,版本号可能是1.50,SP6代表服务包6,这通常意味着这是一个包含之前版本更新和修复的版本。这种类型的文件通常双击运行后会...

    OCRA:用于OCT血管造影图像的自动非灌注脉络膜毛细血管面积计算器-matlab开发

    OCRA:非灌注脉络膜毛细血管面积计算器 对于稳定版本(OCRA 1.46): https : //github.com/erdosty/OCRA/releases/tag/1.46 对于最新版本(OCRA 1.60): https : //github.com/erdosty/OCRA/releases/tag/1.60 ...

    OcraDiCompiler:Zend \ Di编译器实用程序模块,使ZF2应用程序快速发展

    安装在您的composer.json添加"ocramius/ocra-di-compiler": "dev-master" 运行php composer.phar install 通过将OcraDiCompiler添加到modules ,在config/application.config.php启用该modules 或者...

Global site tag (gtag.js) - Google Analytics