Tag: visual c ++

Java似乎比C ++更快地执行简单算法。 为什么?

介绍: 使用两个相同的mergesort算法,我测试了C ++(使用Visual Studios C ++ 2010 express)和Java(使用NetBeans 7.0)的执行速度。 我推测C ++执行至少会稍微快一点,但测试显示C ++执行速度比Java执行慢4到10倍。 我相信我已经为C ++设置了所有速度优化,而且我发布的是发布而不是调试。 为什么会出现这种速度差异? 码: Java的: public class PerformanceTest1 { /** * Sorts the array using a merge sort algorithm * @param array The array to be sorted * @return The sorted array */ public static void sort(double[] array) { if(array.length > 1) { […]

从C ++执行Java的简单性

背景信息 :我习惯用Java编程,我知道如何使用Eclipse和Visual Studio。 最终目标 :创建一个GUI,最好是在Visual Studio中,它执行Java函数。 我希望从这个问题中实现 :C ++中的一个按钮,单击它,执行Java函数并将结果返回给C ++。 (可能是通过调用JVM) 我真的怀疑在这里发布这个问题,但我无法在任何地方找到“直截了当”的答案; 因此,我希望有人可以为这个问题展示最简单的解决方案。 我目前考虑了以下数据结构: 通过“常见”文件(如.txt文件)共享数据(但是如何启动Java函数?) 打开一个套接字(这个问题看起来太复杂了) 通过服务器连接(太复杂) 从C ++调用JVM然后执行Java文件(我认为这是最合理的方式,但这需要大量代码) 现在我知道Jace , JNI和SWIG的存在,但我认为它们非常便于制作复杂的程序,而不是简单的接口。 我不想制作一个复杂的程序因此我觉得学习他们所有的命令都很麻烦。 我也读过许多Stack Exchange问​​题,问的问题完全相同,但所有这些问题似乎都给出了非常复杂的答案。 所以这是我的问题: 从C ++执行(如果必要的话:预编译的)Java函数的绝对最简单的方法是什么,其中C ++代码将一些参数传递给此Java函数 提前致谢。

Visual C ++错误:LNK2019,LNK2028和LNK1120

我正在开发一个基本应用程序来创建Java VM并使用JNI从C ++启动Java程序。 但是,我有一些编译错误: Error 6 error LNK2028: unresolved token (0A00000D) “extern “C” long __stdcall JNI_CreateJavaVM(struct JavaVM_ * *,void * *,void *)” (?JNI_CreateJavaVM@@$$J212YGJPAPAUJavaVM_@@PAPAXPAX@Z) referenced in function “public: bool __clrcall JarLauncher::launchJar(void)” (?launchJar@JarLauncher@@$$FQ$AAM_NXZ) Error 5 error LNK2028: unresolved token (0A00000C) “extern “C” long __stdcall JNI_GetDefaultJavaVMInitArgs(void *)” (?JNI_GetDefaultJavaVMInitArgs@@$$J14YGJPAX@Z) referenced in function “public: bool __clrcall JarLauncher::launchJar(void)” (?launchJar@JarLauncher@@$$FQ$AAM_NXZ) Error 7 […]