草庐IT

bytecode

全部标签

Ruby 2.0 字节码导出/导入

我一直在阅读newruby2.0features,发现它会支持字节码导入/导出:Ruby2.0isexpectedtomakeitsimpletosavepre-compiledRubyscriptstobytecoderepresentationsandtothenrunthesedirectly.我已经安装了ruby​​-2.0.0-p0,但是我没有找到任何关于如何导出字节码的信息(或者一般的关于这方面的文档)。此功能是否已经实现,如果是,我该如何使用它?我也想知道一些细节。YARV字节码是否应该与平台无关?所有的gem都自动包含在字节码中吗? 最佳答案

ruby - 如何观察YARV执行的Ruby字节码

我想观察YARV执行的Ruby字节码,事后分析。我怎样才能得到这个?其他人here告诉这是不可能的。但是,有hotruby似乎执行ruby字节码的框架,所以我很困惑......非常感谢! 最佳答案 你可以很好地使用解释器将一大块Ruby代码编译成字节码(当然,只有RubyMRI1.9可以工作,因为它是唯一使用YARV虚拟机的实现),并得到它的Ruby-ish表示:ruby-1.9.2-p180:007>require'pp'=>trueruby-1.9.2-p180:008>ppRubyVM::InstructionSequence

javascript - 你如何访问 JavaScript 中的字节级信息?

普遍接受的答案是不能。然而,越来越多的证据表明,基于读取非基本HTML类型的数据类型的项目的存在,情况并非如此。执行此操作的一些项目是ProtoBuf的JavaScript版本和Smokescreen.Smokescreen是用JS编写的flash解释器,所以如果不能直接获取字节,这些项目如何解决这个问题?可以找到Smokescreen的来源here.我已经查看过了,但现在JS不是我的主要语言,我找不到解决方案。 最佳答案 它们看起来都直接使用String(在本例中是XMLHttpRequest的responseText)作为字节集

javascript - nodejs/V8 是否将编译后的机器代码存储在磁盘上的任何位置?

编辑:自Node8.3起,Node使用字节码,在此之前,源代码直接编译为机器码。我做了很多Python编码,.pyc文件中总是有字节码。我想知道Node是否将其机器代码存储在类似的文件中,例如,将机器代码表示形式保留在磁盘上并在文件源未更改的情况下重新使用它是否有意义。如果是这样,node/v8将机器代码存储在哪里?编辑2:正如@dystroy在下面提到的,这是对HowcanIseethemachinecodegeneratedbyv8?的欺骗。 最佳答案 V8在2016年引入了字节码解释器Ignition。您可以使用--print

java - 序列化与字节码翻译

我是编程初学者,我只是想知道序列化过程和字节码(中间语言)相互转换的过程是否有区别。我在javacodegeeks.com上找到了这个:SerializationisusuallyusedWhentheneedarisestosendyourdataovernetworkorstoredinfiles.BydataImeanobjectsandnottext.NowtheproblemisyourNetworkinfrastructureandyourHarddiskarehardwarecomponentsthatunderstandbitsandbytesbutnotJavaobj

java - 包 'au.com.bytecode' 不存在 (OpenCSV)

正如标题所说。我究竟做错了什么?我正在使用Netbeans,我为我的第3方库创建了一个文件夹,右键单击包,导航:Properties>Libraries>AddJAR/Folder>OpenCSV-2.3.jar然后使用importau.com.bytecode.OpenCSV;classOpenCSVextendsau.com.bytecode.OpenCSV{}但每次我尝试修复导入或编译时,netbeans都会抛出上述错误(或完全删除导入)。那么我做错了什么?提前致谢。 最佳答案 我想通了。在使用7Zip浏览JAR后,我发现“o

c# - C# 代码是否编译为 native 二进制文件?

我知道Java代码被编译成字节码,由JVM执行。C#的情况如何?我注意到用C#编写的应用程序具有.exe扩展名,这表明它们是native机器指令。但真的是这样吗? 最佳答案 没有。与Java一样,C#被编译为中间语言(称为MSIL或CIL)。与Java不同,IL存储在EXE文件中,这些文件具有足够的实际EXE代码来显示一个对话框,要求用户安装.Net。 关于c#-C#代码是否编译为native二进制文件?,我们在StackOverflow上找到一个类似的问题:

php - 是否可以将 HHVM 字节码存储为文件?

有没有办法将HHVM字节码保存为文件,因为HHVM使用JIT字节码编译而不是编译?如果没有,是否有现代PHP版本(5.5、5.6)的替代品? 最佳答案 您可以生成字节码,保存在内部SQLite数据库中,然后打开Repo.Authoritative模式,在这种模式下,HHVM将只使用来自SQLite数据库的字节码,而不会接触源.php文件。参见http://hhvm.com/blog/4061/go-faster 关于php-是否可以将HHVM字节码存储为文件?,我们在StackOverf

php - 将 hhvm 代码编译成字节码并删除源文件

是否有可能第一次将php源代码编译成hhvm字节码,然后他们删除源文件。更新脚本文件时可能会重新生成字节码,显然需要手动命令才能这样做。如果可能,那么如何?阅读一些关于Repo.Authoritative的内容我认为它更接近一些,但如果您同意,请解释一下。关于我的问题,我想保护我的web应用程序免受许可证盗窃,即使混淆了php代码也可以以某种方式绕过许可证检查。在hhvm字节码中绕过它似乎很难,因此查询。也请帮我提供其他建议 最佳答案 Repoauthoritative有点这样做,但它不是为了你想要的。出于性能原因,它将所有PHP代

php - 如何查看php字节码文件

我这样做是为了学习目的。我浏览了很多关于php首先将其源代码转换为字节码的文章,但我无法找到查看字节码格式的方法,它看起来如何?在java和C中有很多方法可以查看字节码文件。但无法在php中找到任何文章来查看转换后的字节码。 最佳答案 要将PHP代码转换为操作码列表,您可以使用vld,“VulcanLogicDumper”(在GitHub和PECL上可用)。PHP文档还维护一个listofopcodes.也可用3v4l.org,它允许您输入PHP代码并在其结果页面上查看部分vld转储。