0

我有这段代码,我用 Fortran 运行时库选项编译了MTMD。我得到的是

使用 MD 运行 10 次:平均 5.29 秒

使用 MT 运行 10 次:平均 6.5 秒

有人知道这种差异吗?我认为在这种情况下结果应该是相同的,对吧?

程序执行
  隐式无

  实际 x,y
  真实*8 t1,t2

  整数 i

  调用 cpu_time(t1)

  做我=1,1000000000
    x=sin(0.1)
    y=cos(0.2)
    x=asin(0.2)
    y=acos(0.5)
    x=棕褐色(1.2)
  结束

  调用 cpu_time(t2)

  打印 *,t2-t1
结束程序执行
4

1 回答 1

1

MT 静态链接到 Fortran 库。MD 是动态链接的。如果您希望通过 MT 分发您的程序,您只需提供该程序。使用 MD,您需要提供程序及其使用的任何 Fortran DLL 以及这些 DLL 使用的任何 DLL。

您可以通过运行程序来查看依赖关系(来自http://www.dependencywalker.com/)。只需删除您的 MT 版本,然后查看它使用的 DLL。然后删除 MD 版本,看看它使用了哪些 DLL。

于 2013-03-22T20:31:54.447 回答