Tag: c

为什么在C ++和Java中使用float函数会产生不同的结果?

我刚刚遇到这个网站并试图用Java和C ++来做。 为什么在Java中编写以下内容会产生0.30000000000000004 double x = 0.1 + 0.2; System.out.print(x); 而在C ++中编写以下内容给出0.3? double x = 0.1 + 0.2; cout<<x;

无法在AMD 64位平台JNI上加载IA 32位.dll

我有一个问题:我正在使用JNI处理自生成的DLL。 我已经使用Visual Studio 2013为64Bit计算机生成了DLL。 我已经检查过Dependency Walker,如果我的DLL真的是64位,那就是。 然后我尝试在我的Java源代码中使用DLL(Eclipse版本:Luna Service Release 1(4.4.1)Java版本1.7.0_71-b14 64位版本)。 当我运行我的Java程序时,我得到错误消息无法在此行中的AMD 64位平台上加载IA 32位.dll。 static { System.loadLibrary(“iomemjava”); } 我已经花了2天时间解决这个问题并搜索了stackoverflow和其他一些论坛。 我真的没有想法可能是错的。 到目前为止,希望你们和男孩们可以帮助马丁

LDAP通过JAVA而不提供密码

在C#中,我写了下面的代码来连接到LDAP服务器并查询相同的内容。 String ldapUrl = “LDAP://…”; DirectoryEntry entry = new DirectoryEntry(ldapUrl); DirectorySearcher dSearch = new DirectorySearcher(entry); String Name = “ravi”; dSearch.Filter = “(&(objectClass=user)(sAMAccountName=” + Name + “))”; foreach (SearchResult sResultSet in dSearch.FindAll()) { String data = “Login Name :” + (GetProperty(sResultSet, “cn”)) + “\r\n” + “First Name :” + (GetProperty(sResultSet, “givenName”)) + “\r\n” + “Middle Initials […]

实施特定的旅行推销员变体

我正在寻找一种算法(C / C ++ / Java – 无所谓),它将解决一个问题,即找到图形的2个节点(A和B)之间的最短路径。 问题是路径必须访问某些其他给定节点(城市)。 一个城市可以不止一次访问。 路径示例( A- HDCE- F – G – F – B )(其中A是源,B是目的地,F和G是必须访问的城市)。 我认为这是旅行推销员问题的变体,但我无法找到或编写基于我的搜索的工作算法。 我试图找到一个解决方案,从这些主题开始,但没有任何运气: https : //stackoverflow.com/questions/24856875/tsp-branch-and-bound-implementation-in-c和访问多个城市的TSP的变化

Delaunay三角剖分中没有边缘的矩形约束

我正在使用三角测量库来计算一些大边界内的一组矩形的约束Delaunay三角剖分。 该算法返回所有边,但也在定义约束的矩形内添加边。 我希望能够在任何作为约束的矩形内创建没有边的图形(当然除了大边界)但是在给予我的三角测量中删除这些边需要比O(nlog)更长的时间(n))时间至少,这对我需要的东西不好。 我要问的是,是否有任何快速方法可以让CDT保持边缘不会出现在某个多边形内? 我希望矩形没有边缘,但我不知道如何快速做到这一点。 如果这有帮助,我使用的库是Marcello Kallmann的TriPath,它是用c ++( http://graphics.ucmerced.edu/software/tripath/ )编写的。 我的应用程序是Java,我正在使用JNI。 编辑:根据要求,这里有一些图像,以帮助您想象我想要描述的内容。 该CDT是以黑线为约束而构建的。 如您所见,每个约束边都是矩形的一部分。 蓝线是不受约束的Delaunay边缘。 我试图从黑色约束矩形中删除任何蓝色无约束Delaunay边。

TCP连接的可靠性如何?

我已经写了服务器客户端application.Server用c#编写,客户端代码用java编写。通信协议是TCP。 使用tcp传输文件时,可以发送丢失的数据。 换句话说,tcp保证数据正确到达。(我应该发送此文件的头信息以检查错误,如文件大小,哈希等)

Java Runtime执行C语言程序得不到输出

我编写了一个简单的C程序,并将其构建为“AskStack.exe”。 #include #include int main() { printf(“Hello world!\n”); getchar(); return 0; } 然后我使用java程序执行C程序,我想得到输出。 import java.io.BufferedReader; import java.io.InputStreamReader; public class Test { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Process p = Runtime.getRuntime().exec(“AskStack.exe”); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = null; do{ line = reader.readLine(); […]

JNI:从JVM到C ++的回调无法运行

我从C ++程序启动JVM。 C ++代码: JNIEXPORT jobject JNICALL com_javelin_JavelinMarketData_callBackIntoNative(JNIEnv* env, jobject obj, jlong ptr) { std::cout << "com_javelin_JavelinMarketData_callBackIntoNative called" <GetStaticMethodID(helloWorldClass, “main”, “([Ljava/lang/String;)V”); env->CallStaticVoidMethod(helloWorldClass, mainMethod, …); } 然后我需要从java回调的C ++函数: Java代码: native void callBackIntoNative(long ptr); public void onResponse(long param) { System.out.println(“Calling callBackIntoNative()”); callBackIntoNative(param); } 当我运行我的C ++程序时,JVM正确启动,但在打印“Calling callBackIntoNative()”后,会出现以下接受: Exception during callBackIntoNative(): ‘com.javelin.JavelinMarketData.callBackIntoNative(J)V’ java.lang.UnsatisfiedLinkError: com.javelin.JavelinMarketData.callBackIntoNative(J)V 你能帮忙吗?

Java:util_USBUIRT.dll:找不到依赖库

我想在我的项目中使用这个JAR文件( http://sourceforge.net/projects/uirt-j/ )。 在Eclipse中,我使用了选项Project> Java Build Path> Add External JARs来导入它。 我可以在Ecplise中看到所有类的JAR文件。 这个JAR包含两个dll文件。 为了加载dll,我输入了System32目录,但是当执行我的代码时,我得到了以下错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: C:\Windows\System32\util_USBUIRT.dll: Can’t find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at util.USBUIRT.(USBUIRT.java:269) at Uirt.main(Uirt.java:6) 使用Dependence Walker我可以看到所有DLL都在System32文件夹中。 我的代码: import util.USBUIRT; public class Uirt { public static void main(String[] […]

两个整数的乘积模

我必须找到c, c =(a * b)mod m a,b,c,m是32位整数。 但是(a * b)可以超过32位。 我试图找出一种计算c的方法,而不使用长或任何数据类型> 32位。 有任何想法吗? 如果m是素数,那么可以简化一下吗? 注意:基于一些评论, c =((mod m)*(b mod m))mod m,但在我的情况下,即使这个乘法也会溢出