相关疑难解决方法(0)

是否可以像使用Python一样将Ruby编译为字节代码?

在Python中,如果我想提供一个没有源代码的应用程序,我可以将它编译成字节码.pyc,有没有办法在Ruby中做类似的事情?

ruby

25
推荐指数
3
解决办法
2万
查看次数

编译jruby"Hello world"问题

我用Ruby编程了一段时间,我真的很喜欢它.最近我开始需要编译一些ruby代码.有几个原因使用Ruby2exe不是我的选择.所以我决定尝试Jruby(生成一个罐子就足够了).

我正在使用Windows,我安装了java JDK 6u17(在C:\ Program Files\Java\jdk1.6.0_17).

我在C:\ jruby安装了jruby 1.4

我在java中创建了一个hello world,编译并执行它就好了(所以java工作正常).

我创建了一个文件"script.rb":

puts "Hello, world"

我用jruby运行这个程序:

jruby script.rb

它工作正常.

我确实将JAVA_HOME设置为C:\ Program Files\Java\jdk1.6.0_17

我也成功运行:

java -jar c:\jruby\lib\jruby.jar script.rb

然后我用命令编译:

jruby -S jrubyc script.rb

它生成类'script.class'

我的问题是我找不到正确执行script.class的方法

我尝试:

java -cp .:c:\jruby\lib\jruby.jar script

我收到错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: script
Caused by: java.lang.ClassNotFoundException: script
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: script.  Program will …
Run Code Online (Sandbox Code Playgroud)

compilation jruby

6
推荐指数
1
解决办法
5732
查看次数

保护Ruby代码

我正在编写Ruby应用程序,我想使用一些绝密算法.那么如何才能最好地保护他们免受未经授权的访问.

我有两个想法:

  • 用C语言写它们并使用FFI加载(我想知道这是否可能)
  • 元帅红宝石代码,编码然后存储在文件中

也许有人知道更好的想法,或者可以告诉我这些想法是愚蠢或错误的.谢谢你的建议.

ruby ffi marshalling source-code-protection

1
推荐指数
1
解决办法
3398
查看次数