我怎样才能看到编译了哪个Delphi版本的.dcu?

Wou*_*ick 12 delphi dcu

如果我有一些.dcu文件; 我怎样才能找出他们编译的Delphi版本?

我收到了一些旧的源代码,包含了一些.dcu文件,我无法访问原始源代码.我想重构这个库,但为此我想让它首先在原始的Delphi版本中进行编译.


顺便说一句,编译器在这里可能会更有帮助.它声明文件X是用"不同"版本编译的,没有说 - 是 - 版本是....

Tom*_*erg 20

从非官方来源,查看.dcu的第4个字节

$0F = Delphi 7
$11 = Delphi 2005
$12 = Delphi 2006 or 2007
$14 = Delphi 2009
$15 = Delphi 2010
$16 = Delphi XE
$17 = Delphi XE2
$18 = Delphi XE3
$19 = Delphi XE4
$1A = Delphi XE5
$1B = Delphi XE6
$1C = Delphi XE7
$1D = Delphi XE8
$1E = Delphi 10 Seattle
$1F = Delphi 10.1 Berlin
Run Code Online (Sandbox Code Playgroud)

从Delphi 2006到Delphi 2007的.dcu格式没有变化.因此他们使用相同的格式.

编辑2016年7月2日在列表中添加了XE8,10和10.1.

根据要求,也可以是目标平台,它位于.dcu的第二个字节中.值当然仅对具有这些目标的版本有效.

$03 = Win32
$23 = Win64
$04 = Osx32
$14 = iOS emulator
$76 = iOS device
$77 = Android
Run Code Online (Sandbox Code Playgroud)

如果您认为有错误,请告诉我.


Wou*_*ick 5

在寻找答案时,我遇到了Alexei Hmelnov的一个很棒的在线工具.

它允许您上传.dcu文件,它将为您提供有关它的非常详细的信息.

http://geos.icc.ru:8080/scripts/WWWBinV.dll

它显示了使用的编译器,编译时间,使用的单位等.