大鹏展翅_ParparVM展翅高飞

2023-10-28

大鹏展翅

我们写了很多关于为iOS构建的新VM的体系结构以及构建它的原因。 直到最近,我们一直将其视为一种Codename One专用工具。 只会对我们有用的东西。 我们之所以使用开放源代码,是因为“这就是我们的方式”,此后没有多加考虑。

最近,我们开始意识到该工具可能对其他开发人员有用,这些开发人员可能会将其用于与我们最初意图不同的方向。 我们还得出结论,这可能完全不是一个坏主意。 因此,我们正在有效地将Codename One VM作为ParparVM启动,它具有许多有趣的优点。

为了避免造成混乱和复杂的支持开销,我们始终表示我们不本地构建Codename One提供支持。 在我们主要的支持渠道是电子邮件和讨论论坛的那一天,这很有意义。 但是,既然我们将支持重点放在StackOverflow上,那么这应该不会成为障碍,因为它不会增加“噪音”。 我们无法保证为每个问题都提供答案,因为这些事情可能会超出我们的舒适范围,但我们将一如既往地尽力而为。 因此,随时可以使用“ codenameone”标签询问有关stackoverflow上的VM和本机编译的问题。

入门

此处提供源代码,虽然应该可以将ByteCodeTranslator和JavaAPI项目设计为NetBeans项目,但可以直接与任何Java IDE或ant一起使用。 它需要asm 5.0.3,您可以在cn1-binaries项目中找到它。 您可以使用以下命令运行翻译过程:

java -jar ByteCodeTranslator.jar ios path_to_stub_class:path_to/vm/JavaAPI/build/classes;path_to_your_classes  dest_build_dir MainClassName com.package.name "Title For Project" "1.0" ios none

翻译过程成功完成后,您应该有一个可以正常运行和使用的有效xcode项目。 您需要一台Mac才能正常工作。 主类名称应具有一个public static void main(String[])方法,并且假定它位于com.package.name目录中(例如,您需要用传递的实际包替换com.package.name给翻译者)。

为什么要使用另一个VM for iOS?

在该领域似乎有很多开源的iOS Java VM,但现实情况是,大多数Java Java VM要么是专有的,要么依赖非常危险的路径。 通过将字节码转换为C源代码,ParparVM实际上是我们知道的唯一VM,它使用Apple支持的100%的Java兼容性。 最接近的第二名是Google的J2ObjC,但这并不是完整的VM,实际上与ParparVM有很大的不同。

XMLVM的C后端具有类似的体系结构,但该项目不再得到积极维护。 积极维护的所有其他适用于iOS的Java VM使用Apple不正式支持的方法,例如LLVM代码或ARM代码。 这使得这些解决方案对于Apple所做的更改非常脆弱。 例如这个报价

我们的工作是在iOS 9公开发布之前及时增加对iOS 9的全面支持,这是我们在生存中面临的最艰巨的挑战之一

亨利克·穆勒

相比之下,ParparVM不需要更改任何代码即可支持iOS 9、64位,位代码或Apple进行的其他更改。ParparVM的核心工作花了我们大约一个月的时间,与之相比,VM显得微不足道。 从这个意义上讲,微不足道也是很好的,因为这意味着即使没有新手也可以在没有严格的编译器工程背景的情况下进一步扩展和增强VM。

采取行动

在Codename One项目中检出ParparVM页面,对其加星标/分叉并开始使用它。 让我们知道您的想法,以及如何改善以下注释中设置的VM覆盖率/功能。 我们认为我们可以向VM添加很多功能作为条件选项,从而保留Codename One不需要的东西作为可以随意打开的第三方扩展。

翻译自: https://www.javacodegeeks.com/2015/12/parparvm-spreads-wings.html

大鹏展翅

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大鹏展翅_ParparVM展翅高飞 的相关文章

随机推荐

  • 谈谈互联网创业未来的发展方向我们如何把握

    版权声明 更多赚钱项目关注大众创业网 https cye yunshangxitong cn 马云如今 除了公务员和职业组织的 铁饭碗 似乎只有创业才是出路 许多人选择自己创业 但对于一个人来说 有哪些创业项目呢 马云秘密分享以下小笔无利可
  • 完全数的性质

    完全数性质 1 古希腊数学家欧几里得是通过 2 n 1 2 n 1 的表达式发现头四个完全数的 2 偶完全数都是以6或8结尾 如果以8结尾 那么就肯定是以28结尾 3 除6以外的偶完全数 把它的各位数字相加 直到变成个位数 那么这个个位数一
  • Learun FrameWork 强大工作流引擎,让OA更智能

    互联网的发展促使企业在信息化的道路上不断探索 而随着企业信息化进程的不断深入 OA协同办公的概念也逐步进入大众的视野 OA的选型关乎企业的生存发展 除了需要重视 OA技术 OA品牌 OA产品 OA服务 四大要素之外 更重要的其实是让OA变得
  • 如何使用VS2015编译运行DX11版本龙书配套源码

    这篇文章是翻译http www d3dcoder net 网站上Frank Luna 龙书作者本人 的解决方案 近来 我收到求助emails emalis询问如何解决本书附带的代码使用Visula Studio 2015编译失败的问题 这篇
  • 二、机器学习模型评估

    二 机器学习模型评估 2 1 模型评估 基本概念 错误率 Error Rate 预测错误的样本数a占样本总数的比例m E a m E frac a m E ma
  • C语言-字符串-指针-排序

    概述 使用C语言 实现字符串排序算法 冒泡排序 编码环境 Visual Studio 2022 1 code char str0 C char str1 JAVA char str2 C char str3 PHP char str4 HT
  • 【C/C++类库】:uuid 通用唯一识别码

    SourceForge libuuid下载 CSDN libuuid下载安装 1 libuuid 下载安装 tar xzvf libuuid 1 0 3 tar gz cd libuuid 1 0 3 configure make sudo
  • JVM--基础--26.5--工具--jhat

    JVM 基础 26 5 工具 jhat 1 介绍 分析jmap生成的dump jhat内置了一个微型的HTTP HTML服务器 生成dump的分析结果后 可以在浏览器中查看 注意 一般不会直接在服务器上进行分析 因为jhat是一个耗时并且耗
  • Oauth2+jwt+redis+cookie+springsecurity+springboot+springcloud(用户登录认证授权)

    用户认证分析 1 单点登录 一处登录 处处运行 SSO gt Single Sign On 作用 A 解决集群环境下的登录问题 B 解决多套互信的系统之间的登录问题 gt 天猫 淘宝 天猫超市 天猫国际 2 第三方登录 QQ登录 微博登录
  • ChatGPT火爆出圈 人工智能赋能银行迈入新时代

    人智能 AI 技术并非新鲜事物 但ChatGPT和 文心一言 作为人工智能通用大模型横空出世 掀起了人工智能应用的新一轮浪潮 此前 人工智能运用的都是专用人工智能模型 往往只能在具体的领域内产生一定的效果 而ChatGPT代表了人工智能通用
  • VS2013配置使用pthread多线程

    POSIX线程 POSIX threads 简称pthreads 是线程的POSIX标准 该标准定义了创建和操纵线程的一整套API 在类Unix操作系统 Unix Linux Mac OS X等 中 都使用pthreads作为操作系统的线程
  • 关于C++的精度输出中的cout.precision()的正确解释

    关于C 的精度输出中的cout precision 的正确解释 网上绝大多数解释的都是 cout precision 控制浮点数的输出精度 是控制保留几位小数的这样是不对的 这个函数虽然是控制浮点数的输出精度 但是它正确的是用来保留几位有效
  • HTML的form表单

    1 get请求 form表单中get为默认的提交方式 当使用get方式提交表单时 浏览器会将表单中的数据添加到地址后面 作为地址参数
  • SOAPUI SOAP压力测试

    目的 实现指定Soap协议的压力测试 环境 SoapUI Pro 5 1 2 Linux simple 4 1 21 jar 实现Soap协议的接收 处理与响应 wsdl simple 4 1 21框架见网址 点击打开链接 过程 1 安装S
  • sshd无法启动

    sshd 无法开启 1 开启sshd systemctl start sshd 2 查看sshd状态 systemctl status sshd service 显示sshd服务开启失败 解决方法 1 输入 sshd t 进行检查 报错信息
  • 高等数学(工本)计算题、综合题

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
  • 智慧物流之RFID物流供应链仓库管理系统,智能化的仓库rfid管理-新导智能

    摘要 物流与供应链管理在企业的整个管理流程中起着非常重要的作用 如果不能保证及时准确的入库 出库 物流和库存控制等供应链管理 将会给企业带来巨大损失 这不仅表现为各项管理费用的增加 而且会导致客户服务质量难以得到保证 最终影响企业的市场竞争
  • python关于SSLError的解决方法

    最近在使用http client调用btcd时报错SSLError Btcd Thread
  • 信息收集 —— dmitry

    每天学习一个Kali工具 dmitry 1 是什么 DMitry是黑客渗透流程中进行深度信息收集的利器 它是一个由C语言编写的UNIX GNU Linux命令行工具 无GUI操作界面 需掌握其常用使用参数 2 干什么用 1 端口扫描 可探测
  • 大鹏展翅_ParparVM展翅高飞

    大鹏展翅 我们写了很多关于为iOS构建的新VM的体系结构以及构建它的原因 直到最近 我们一直将其视为一种Codename One专用工具 只会对我们有用的东西 我们之所以使用开放源代码 是因为 这就是我们的方式 此后没有多加考虑 最近 我们