是否可以分发使用 C 生成的可执行文件的 Java 桌面应用程序?

smk

我正在开发一个运行 shell 脚本的 Java 桌面应用程序。该脚本应该运行使用 C 生成的可执行文件。我的 C 代码生成的可执行文件依赖于共享库。

我不想在应用程序中包含 C 代码。因此,当我希望分发它时,我将无法在客户端的 PC 上生成新的可执行文件。正如我所读到的,目标代码以及可执行文件都依赖于机器,因此我将无法在具有不同硬件配置的客户端机器上运行此可执行文件(通过在我的机器上编译和链接生成)。

现在我只在 JAR 中包含了可执行文件,并且我能够在 Java 中运行 shell 脚本(在 Java 中使用 Runtime.getRuntime().exec(shell_script))。正如我之前所说,这个可执行文件依赖于共享库,当软件(执行脚本)在不同的 PC 上运行时,它报告一个错误,说缺少一个共享库。

我想要一个关于如何运行在不同机器上编译和链接并且依赖于桌面应用程序(需要分发)中的共享库的可执行文件的建议。

如果我在任何地方出错或者您觉得我误解了任何概念,请发表评论。提前致谢。

安德鲁·亨勒
  1. 将您的 C 代码编译为每个支持的操作系统的不同可执行文件,并将它们全部放入您的 JAR 文件中。
  2. 从 Java 应用程序中检测当前操作系统,并从 JAR 文件中提取该操作系统的正确可执行文件。
  3. 运行提取的可执行文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用动态链接库代码扩展 C++ 应用程序(可执行文件)?

是否可以使Java可执行文件?

使用与当前可执行文件相同的可执行文件启动Java进程

是否可以反编译C ++可执行文件

在哪里可以找到文件系统中的应用程序可执行文件?

将Java程序编译为可执行文件

从 C# 可执行文件启动 Windows 10 Store 应用程序

使用Eclipse创建Java可执行文件

使用ProcessBuilder从Java运行可执行文件

使用Nautilus运行C ++可执行文件

如何使用 C++ 输出可执行文件

python程序/可执行文件是否可移植?

应用程序的可执行文件名可以与应用程序的显示名称不同吗?

编写Makefile以从C程序生成修改后的,汇编的,可重定位的和可执行文件

使用链接器生成程序,但运行可执行文件时显示“无此文件或目录”

将基于 Docker 微服务的 Web 应用程序作为独立的可执行文件分发

是否可以将Java项目制作为可执行文件?

如何使用Powershell授予Windows应用程序或可执行文件使用您的网络配置文件?

对于使用FileHelpers库的C#应用程序,有没有办法存储和加载文件结构类而不在可执行文件中进行编译?

C#从项目生成动态可执行文件

如何使用Xcode5在Mac应用程序中对签名的可执行文件进行代码签名

C++:无论我是从 IDE 还是作为独立的可执行文件运行程序,都可以找到某个文件夹

无法使用Java Process使用包含#(哈希)字符的参数执行python可执行文件

Java可执行文件的桌面快捷方式无法连接

使用 CMake 生成静态可执行文件

如何将Web应用程序转换为桌面可执行文件?

UWP(桌面桥)应用程序和用户可下载的可执行文件

从 Java 调用具有输入和输出重定向的 C 可执行文件

如何使用Java或C ++对GUI桌面应用程序进行编程?