MRuby 编译笔记

专注于嵌入式脚本的MRuby在Windows下的编译笔记:

环境:

OS: Windows 8.1, 使用 VS Express 2013 for Desktop。

材料:

MRuby : 下载源代码即可

CRuby : 下载编译好的即可,下载源代码也可以,不过不在本文范围内

bison,可以到官方推荐的这里,但是笔者是在这里 
这是(算是)语法分析器

0. 在VS的Express版本中,可以从  开始菜单 --Visual Studio Tools -- VS2013 x86 本机工具命令提示 打开命令行

1.设置编译选项,不需要的话可以跳过。但是我现在需要:

/MT 选项, 不用带一个蛋疼的dll文件,代价是exe文件大一些

/DMRB_USE_FLOAT 选项,这个是宏定义MRB_USE_FLOAT,因为我希望使用单精度浮点

可以通过设置CFLAGS来获得。但是笔者觉得太麻烦了.直接修改文件:

找到mruby\tasks\toolchains\下的visualcpp.rake(其他编译器就改相应的),修改参数即可

比如这就是笔者的。

2. cd 到mruby目录, 运行CRuby的rake.bat

如果您使用的是官方推荐的bison,并将其放入PATH中,那么就完成了。

但是如果您使用flex_bison,那么会中间停下来,这时候新开一个命令行,使用

-o des_file_path src_file_path

将parse.y转换为y.tab.c:

将输出的文件放入mrub\build下有个  src的文件夹里面(貌似build\host\src),继续刚才的rake即可



时间: 2024-08-03 19:20:29

MRuby 编译笔记的相关文章

JAVA代码反编译笔记

最近有个朋友说有个java弄的软件是从朋友处拿来的,由于进行了网卡地址绑定,不修改网卡地址无法使用,叫我看看有无办法破解,之前都很少玩这些东西,本着帮忙的心态,尝试了下,便有了一下的笔记内容. 1.使用jd-gui进行反编译,找到核心校验代码,将该b.class文件单独从jar包中抽离出来,由于该jar包编译打包时采用加密混淆,是无法直接使用的,而且代码非常难读懂,也只能将就着看了: 2.将包含b.class的jar包通过winrar解压工具直接打开,根据包名路径找到b.class然后直接删掉里

android之cmd手工反编译笔记

Android反编译教程 --西北狼 前端时间有人让帮忙修改apk包名,然后我就翻出以前的翻编译工具来,可以的是,一个小小的APK,居然反编译失败~~~ 然后找了些文章看了下,最后自己重新装工具用cmd命令行手工反编译成功,修改部分东西后重新打包成功,签名成功,安装成功~~~~ 先把经验总结一下: 手工反编译比 网上的集成好的工具成功率要高很多(android 逆向助手 v2.0 这个工具的成功率也比较高,里面有很多功能,有兴趣可以试试),so更加推荐使用酱紫的方式~~自己也好了解了解相关知识~

[转] .net软件反编译笔记

原文地址:http://blog.csdn.net/three_bird/article/details/51433734 在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, 因为反编译工具在没有元数据的情况下无法判断这丫的到底是个方法还是个属性.

Ambari 1.7 源码编译笔记

环境CentOS 6.5 1.安装jdk [[email protected] zzh]# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm [[email protected] zzh

.net软件反编译笔记

在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, 因为反编译工具在没有元数据的情况下无法判断这丫的到底是个方法还是个属性. 有时候反编译得到的源码里的-1实际上可能是某个数的最大值,因为反编译时没有加载依赖的程序集,工具将类似int.MaxVal

.net 反编译笔记(2)

自上次分享net软件反编译相关已一年多,今天再次分享一点干货. 1.net反编译软件已经相当成熟,具有导出项目的能力.不过大型项目导出的错误修复仍然是最耗时的工作,并且初级开发人员容易将一些代码修复得不对逻辑但是这很难发现. 2.我手上用的dnspy和ilspy成为了我反编译工作的主力. 3.今年因一个项目需要完成了重新签名工具,dll拖进去,新的签名就完成了,可直接投入使用.几个项目测试下来,暂未发现任何问题. 4.ilmerge在解决多程序集合上起到很大作用,多个dll可以合并成为一个dll

6410移植android4.4.2笔记(持续更新)

如之前的android编译笔记里面描述,目前已经可以编译出armv7-neon的android镜像了,也就是说目前的环境以及aosp可以支持定制android程序了. 昨天晚上在device下面已经粗略的改了一套6410的设备文件.然后仔细看看了,6410的指令集是armv6的,4.4.2的aosp里面好像只有支持v7和v5的,没有直接支持v6.考虑到v5的指令集是可以放在v6的设备上面跑的,于是先尝试把target改成armv5te的进行编译,结果一开始就出错了.明显4.4.2已经不再支持v5

TWRP基于omnirom 6.0.1编译教程

1.环境搭配 参照CM13.0编译笔记http://www.cnblogs.com/dinphy/p/5670293.html 2.源码同步 只编译TWRP的源码,请移步我的开源https://github.com/dinphy-dev/omni-twrp_ido_manifests 这个是通用的,只需要把里面的device部分换成自己机型的即可. 3.编译TWRP #初始化编译环境 . build/envsetup.sh #编译前先清理一下 make clean #获取机型列表菜单,选择对应的

Atitit.java eval功能的实现  Compiler API

Atitit.java eval功能的实现  Compiler API 输出echo2 输出目录配置2 针对编译器,JDK 设计了两个接口,分别是 JavaCompiler 和JavaCompiler.CompilationTask. private static void T() throws FileNotFoundException { //String fullQuanlifiedFileName = "compile" + java.io.File.separator + /