1

我最近有一个关于coledatetime java 实现的问题,Chris说,问题可能在于类型转换:cpp-float vs java-float(或者可能是 cpp-date vs java-date。不是类型,但是..) . 现在我对此有几个问题:

  • 是否有 java 与 c++ 类型的比较表?
  • 如果类型转换问题,在我的情况下(我有一个带有 OLEDate 记录的数据库,已经用一些 c++ 程序创建。我需要读取和写入该数据库,以便保持 OLEDate 字段兼容性:我的 java 代码读取正确的日期,并且 c++ 程序不受 java 程序写入 db 的影响。),你会怎么做:
    • 使用 COleDateTime 通过 JNI 检索日期?
    • 不惜一切代价创建自己的实现(使用更广泛的类型或其他任何东西)?
  • 有什么,我在这里失踪了吗?
4

1 回答 1

1

在 c++ 中,类型范围可以并且确实从一种实现(编译器/架构)到另一种不同,因此没有标准的 Java-C++ 类型比较,因为没有标准的 C++ 类型大小。

但是在大多数当前架构中,C++ 双精度是标准的 IEEE 754 双精度,就像在 Java 中一样。因此,虽然代码不会严格地移植到一些罕见的架构中,但它通常可以在任何 x86/x86_64 架构中工作。

上一个答案的评论中有一个您没有解决的问题:在您的实现中不起作用的是什么?

于 2010-04-14T08:48:13.907 回答