简单编程理论问题

时间:2010-01-21 03:20:16

标签: java c++ security biometrics

大家好吗?有人知道为什么与编程语言Java相比,编程语言C ++在生物识别安全应用程序中的使用范围更广?到目前为止我收集的答案是1)虚拟编译器2)C ++提供的OpenCV库。任何人都可以帮助解决这个问题吗?

6 个答案:

答案 0 :(得分:6)

也许这是硬件支持:我写了一个使用指纹传感器的应用程序。该设备的库支持是C ++,所以我用C ++编写了应用程序。现在他们有一个.NET版本,所以我的下一个应用程序将是C#。

答案 1 :(得分:2)

我不是特别了解生物识别应用程序,但一般来说,当安全性很重要时,Java可能是一个绊脚石。根据安全要求的编写方式,它们可以涵盖必须在C ++中手动执行的操作,但这些操作由Java自动完成。这就产生了一个问题,因为需要正确地(并且及时地)证明Java满足要求。在C ++代码中表明满足这些要求要容易得多,因为符合要求的代码是相关程序的一部分。

如果安全人员/要求/客户明确表示依赖Java来获取某些安全功能是可以接受的,那么这不是什么大问题。我们可以围绕是否合理依赖/信任Java来满足安全性要求,这实际上只取决于具体的安全需求。

答案 2 :(得分:1)

我愿意花钱只是因为硬件的访问api是用c ++编写的。大多数现代/高级语言都不会轻易与通过C / C ++ api暴露的硬件进行通信。

在一个有点相关的说明中,Vala具有现代\高级语言(以及一些)所需的所有语言功能,但编译为C二进制和源代码,并且可以轻松地使用任何库用C编写(不确定c ++)。检查一下,我经常使用它,但它非常酷。

答案 3 :(得分:1)

用C ++实现库比java提供了很多。编写完成后,C ++库几乎可以在任何平台上运行(包括嵌入式平台),并且可以通过SWIG等工具作为本地导入到各种其他语言。 Java只能在具有足够速度和内存的东西上运行以运行JVM,并且唯一的其他Java程序可以将代码包含为本机导入。对于生物识别应用程序,我认为在嵌入式系统上运行将是一个很大的问题,因为您可以将其构建为一个小型传感器。

更多的滑稽回答是没有人愿意等待你的垃圾收集周期来发射冰原导弹。

答案 4 :(得分:0)

你可以用那里的任何其他语言替换Java。可能它更多地与API和硬件有关。

此外,Java更适合Web应用程序。它不是桌面应用程序的最佳选择。

答案 5 :(得分:0)

对于某些生物识别应用程序,执行速度至关重要。

例如,假设您正在为检查点进行面部识别,Java需要两倍的时间来运行像C ++这样的编译语言的算法。这意味着如果你使用Java,可以:

  • 检查点行的长度是
  • 的两倍
  • 您必须向员工支付两倍的检查点,或
  • 您的系统在识别面孔方面的工作量只有一半

这些通常都不是可接受的选项,这使得使用Java成为非首发。