当前位置:  开发笔记 > 编程语言 > 正文

在Java应用程序中使用C源代码的最简单方法是什么?

如何解决《在Java应用程序中使用C源代码的最简单方法是什么?》经验,为你挑选了2个好方法。

我找到了我想在我的Java应用程序中使用的这个开源库.该库是用C语言编写的,是在Unix/Linux下开发的,我的应用程序将在Windows上运行.它是一个主要是数学函数的库,所以据我所知,它不使用任何与平台相关的东西,它只是非常基本的C代码.而且,它不是那么大,不到5000行.

在我的应用程序中使用库的最简单方法是什么?我知道有JNI,但这涉及到找到一个编译器来在Windows下编译库,获得JNI框架的最新版本,编写代码等等.可行,但不是那么容易.有没有更简单的方法?考虑到库的小尺寸,我很想把它翻译成Java.有没有可以帮助的工具?


编辑

我最终将我需要的库部分翻译成Java.到目前为止,它大约是图书馆的10%,尽管它可能会随着时间的推移而增加.C和Java非常相似,所以只花了几个小时.主要的困难是修复因翻译错误而引入的错误.

感谢大家的帮助.所提出的解决方案似乎都很有趣,当我需要链接到更大的库时,我会调查它们.对于一小段C代码,手动翻译是最简单的解决方案.



1> lindelof..:

在Java GNU Scientific Library项目中,我使用Swig生成围绕C库的JNI包装类.伟大的工具,也可以生成包括Python在内的多种语言的包装代码.强烈推荐.



2> TK...:

你最好的选择可能是拿一本好书(K&R:The C Progranmming语言)喝一杯茶然后开始翻译!我会对信任翻译程序持怀疑态度,更常见的不是最好的翻译是你自己!如果你这样做,那么它完成了,你不需要继续重做.如果库是开源的,可能会有一些复杂的情况,您需要仔细检查许可证.需要考虑的另一点是,翻译中总会存在一些风险因素和潜在错误,因此可能需要考虑编写一些测试以确保翻译是正确的.

是否没有JAVA等效数学函数?

正如你自己评论JNI的方式是可能的,至于ac编译器,你可能使用'Bloodshead Dev-c ++'可能会起作用,但是对于5000行很费力.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有