gpt4 book ai didi

java - 在 C++ 中使用 Java 作为 “scripting” 语言

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:32 24 4
gpt4 key购买 nike

<分区>

假设我正在用 C++ 设计一个跨平台应用程序,它可以通过附加组件进行用户扩展。然后应用程序提供 C++ API 并将加载动态对象(.so.dll 等)。但是,这对于用户来说很麻烦,必须针对 6 个目标平台进行编译(Windows x86/x86-64,MacOS X x86/x86-64 和 GNU/Linux x86/x86-64).

为了保持可移植性,我想到了使用 libruby 提供一个 Ruby API。通过一些工作,我得到了一个概念证明。问题是我担心性能。这些附加组件可能会变得很大,而 CRuby 并没有那么快。

然后我想,为什么不是Java呢?

  • Java 字节码具有更好的运行时性能,尤其是使用 JIT;
  • 它是可移植的;
  • 分发简单,用户只需提供一个jar
  • 用户可以提供闭源附加组件(即使反编译 Java 字节码并不难);
  • 了解 Java 的人比了解 Ruby 的人多。

现在的问题是,如何实现呢?我做了一些研究,只发现了 JNI(Java native 接口(interface))。不过,这似乎能够从 Java 而不是相反的方式“调用”C++。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com