0

我有一个关于 C/C++ 代码的问题,如果它们用 Java 包装并在这种情况下作为 Java Applet 运行,它可以在任何操作系统上运行还是仅在它所针对的操作系统上运行?

4

3 回答 3

1

这取决于 C++ 代码的可移植程度,但无论如何,如果没有一些工作,C++ 代码将无法在不同的平台上运行——您必须为每个目标平台构建特定于平台的本机代码版本。

Java 代码没有这个问题,因为 JVM 使您免受(大多数)平台依赖性的影响。

于 2013-03-11T19:38:14.683 回答
0

如果我正确理解您的问题,您指的是使用 Java 中的 JNI。在这种情况下,是的,C/C++ 代码已经编译,因此只能在该平台上运行。

于 2013-03-11T19:36:33.540 回答
0

至少,您必须为目标平台重新编译它。

至于需要做多少工作,这取决于您编写可移植代码的仔细程度——用 C 或 C++ 编写的代码可以运行从完全可移植到完全不可移植或任何地方的整个范围介于两者之间。从 Java/JNI 使用它不会改变这一点。

于 2013-03-11T19:37:56.933 回答