【问题标题】:How to integrate Java and C into same project?如何将 Java 和 C 集成到同一个项目中?
【发布时间】:2016-06-06 15:39:45
【问题描述】:

有没有办法将两种编程语言集成到同一个项目中?我正在英特尔 Edison 平台上工作,并且已经在 C 中完成了部分 SQL 和连接管理,现在我在 Java 中为项目的第二部分找到了一些不错的库。我想知道如何做到这一点,例如,如果有办法在爱迪生上同时运行两个编译程序?我正在使用 Eclipse IOT。

【问题讨论】:

  • 爱迪生运行 Linux。因此,它总是同时运行多个程序。但是,您不能真正用多种语言编写一个程序(尽管您可能想查看“JNI”)。尽管为不同的任务运行多个进程是完全正常的。毕竟,您的 SQL 服务器软件、Web 服务器等都是执行各自独立任务的独立程序。诀窍是让他们在彼此之间进行适当的沟通。方法很多,都在“IPC”的标题下。
  • 这个对话是moved to chat,因为它与 Arduino 的“主题”有关。

标签: java c eclipse intel-edison


【解决方案1】:

在 Eclipse 中,可以将 Java 和 C 放到同一个项目中。 但不要这样做。

这是一个坏主意,因为在 Eclipse 中,每个项目都链接到一个“构建引擎”,而构建引擎是一个链接到编程语言的引擎。
换句话说:你可以在同一个项目中拥有 c 和 java 文件,但你不能在同一个项目中构建 c 和 java 文件。

链接 C 和 java 代码的最佳方式是在工作区级别,甚至在版本控制级别更好。

【讨论】:

    【解决方案2】:

    将它们拆分为独立的部分并独立开发。我假设您的主程序是用 Java 编写的,而 C 用于一些低级硬件粘合。如果我是正确的,那么我建议你用 C 创建一个库,对其进行测试(Check 是 C 的优秀单元测试框架),然后使用 JNI 从 Java 访问这个库。

    【讨论】:

      【解决方案3】:

      首先,我对英特尔爱迪生并不熟悉。但是,如何使用 Java JNI 封装 C 功能呢? 有一个非常直观的教程。

      http://jonisalonen.com/2012/calling-c-from-java-is-easy/

      希望对你有用!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-28
        • 1970-01-01
        • 2012-10-04
        • 1970-01-01
        • 2016-05-04
        • 1970-01-01
        • 2018-07-01
        • 2019-09-07
        相关资源
        最近更新 更多