哪一个更好;基于c/c++的windows应用程序的dll或jar

哪一个更好;基于c/c++的windows应用程序的dll或jar,c++,c++11,dll,jar,C++,C++11,Dll,Jar,我将在我目前正在开发的应用程序中使用第三方库 第三方说他们将提供一个罐子 因为我的应用程序是基于c/c++的,所以我更喜欢使用dll 在我的应用程序中使用jar有什么缺点吗 我说的是性能,对JRE的依赖性等等 请告诉我正确的方法是什么。使用JAR的主要缺点是需要编写代码来将C/C++代码连接到Java。这可能会变得相当复杂,即使您为此使用代码生成器。调试也很痛苦 性能惩罚取决于库应该做什么。如果它运行CPU密集型任务,那么使用C/C++可能会更好。但我不想在这里开始一场关于哪种语言更快的辩论-

我将在我目前正在开发的应用程序中使用第三方库

第三方说他们将提供一个罐子

因为我的应用程序是基于c/c++的,所以我更喜欢使用dll

在我的应用程序中使用jar有什么缺点吗

我说的是性能,对JRE的依赖性等等


请告诉我正确的方法是什么。

使用JAR的主要缺点是需要编写代码来将C/C++代码连接到Java。这可能会变得相当复杂,即使您为此使用代码生成器。调试也很痛苦

性能惩罚取决于库应该做什么。如果它运行CPU密集型任务,那么使用C/C++可能会更好。但我不想在这里开始一场关于哪种语言更快的辩论-

正如您所提到的:您需要提供至少部分JRE来运行JAR


如果第三方只能用Java编写代码,您可能会考虑使用其他方法来连接您和他们的代码。WebServices、ToBufff、消息传递或类似的技术可能解决了你的问题。

jar是一个存档,有java类的zip文件,你不能像这样调用C++。你可以找到一些指针,但它既不漂亮,也不简单;只是选择。JAR意味着Java;你必须用C++和java进行接口。你知道怎么做吗?您可以在Windows中链接DLL到C++项目中。答案与绩效关系不大;这是关于你知道怎么做的。如果你有时间解决这个问题,如果你这么做是合法的,你可以窥视JAR中的类,例如使用JAD并将它们翻译成C++。没有比这更快更容易的了…@fvu,这不是我的选择:我在制造电动汽车。我们的分包商将为我们提供一个在线油箱,但我更喜欢电池。在我的车上使用汽油箱有哪些缺点?