Dll函数返回1

时间:2012-02-01 14:37:34

标签: java c++ jna

我使用Java(JNA)在第三方.dll文件中使用函数。我正在调用的函数正在返回整数值1。

阅读之后,我发现如果一切正常运行,这个返回值传统上为0。

想知道是否总是如此,或者是否有任何方法可以确定它应该是什么?

在.dll捆绑的.h文件中,它有注释

// rc:EXIT_SUCCESS表示NO ERROR

在功能之后。

2 个答案:

答案 0 :(得分:0)

检查实际的dll文档,应该有办法告诉什么是错的。 如果没有任何帮助尝试调用GetLastError()WinAPI - 可能会报告一些有意义的错误代码。 还要尝试在函数调用期间查看调试输出 - 即使在Release build

中也可能存在一些跟踪

答案 1 :(得分:0)

是的,零通常意味着在C / C ++世界中取得成功。

在异常处理之前的日子里,您必须有一种方法来指示失败,并且返回值几乎保留为失败/成功。至于'1'的含义,你将不得不查看返回'1'的函数的dll标题,看看它们是否包含有关错误条件的任何内容。没有看到代码或了解更多有关dll以提供任何简单答案的可能性太多。

该功能的名称是什么?它试图做什么?如果你知道这个功能失败了怎么办?