如何从Java调用C ++功能

 2023-01-20    310  

问题描述

我有一个Java程序,主要是GUI,它显示了从C ++命令行工具中写入XML文件的数据.现在,我想在Java程序中添加一个按钮以刷新数据.这意味着我的程序必须调用C ++功能.

是通过系统调用从Java调用程序的最佳方法?
C ++程序将用于Mac OS和Windows,并且应始终与Java程序相同的目录.

如何从Java调用C ++功能

我想生成一个可执行文件的C程序可以存储在JAR中并从我的程序中调用?

推荐答案

假设没有更好的通信方法(肥皂,冰,套接字等),我会使用Runtime.exec()调用可执行文件. JNI可用于直接接口,但我不建议这样做.不,您不能在罐子里放置可执行文件.好吧,您可以,但是您不能运行它,因为外壳不知道该如何运行.

其他推荐答案

如果您可以访问代码并需要使用外部程序的”交互式”体验(例如,呼叫,获取结果,拨打其他呼叫),请调查JNI,它允许您调用C或C ++代码通过包括并将JNI Juice链接到您的C或C ++应用程序的Java应用程序.

请参阅:

如果您真的只需要一个”启动应用程序并获取结果”解决方案,请查看Runtime.exec(),它可以启动外部程序并捕获其输出.

请参阅:
http://www.javaworld.com/javaworld/jw-12000/jw-1229-traps.html?page=1

/a>

其他推荐答案

您也可能想查看 java java本机访问API(JNA) .

以上所述是小编给大家介绍的如何从Java调用C ++功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25916.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。