独立于平台的C / C ++ / java代码,无需额外的包

时间:2014-03-24 11:19:51

标签: c++ c cross-platform multiplatform platform-independent

是否可以在C / C ++ / Java中创建可以独立于平台的服务器/客户端代码?

不需要在系统上安装任何额外的软件包(如No JVM要求),只需要运行可执行文件(如果可能,在Windows / Linux / Mac上)。

如果没有,你能告诉我任何其他方式(也许是语言)来实现这一目标吗? 谢谢

2 个答案:

答案 0 :(得分:2)

  

只运行可执行文件(如果可能,在Windows / Linux / Mac上)。

这可以通过编写可移植代码并使用静态链接绑定DLL来使用Qt C ++完成。这样做的缺点是你最终会得到一个更大的可执行文件。 Java使用JVM来规范它,就像你说的那样。

应该注意,您编译它的平台将是可执行文件的唯一目标。所以在Windows上编译的程序不能在Ubuntu上运行(你需要编译一个单独的版本 - 除非你在Wine中安装.exe)。

答案 1 :(得分:1)

简单回答:不! (如上所述:如果您不想独立编译每个平台)

要么您需要平台目标代码,要么需要像Java Bytecode的JVM或带有MSIL(Microsoft中间语言)的.NET Framework等中间件。 我想node.js也可以作为中间件重新定位。

由于.NET Framework在linux / mac中不可用,我建议使用Java。

如果在C ++和Qt中使用静态绑定,或者将中间件添加到二进制文件中。我仍然建议使用现有的和广泛传播的中间件:Java。