【发布时间】:2011-11-26 02:22:01
【问题描述】:
delphi xe2 中用于firemonkey 应用程序的*.dcu 文件是否独立于平台。 here。适用于 32 位和 64 位以及其他操作系统。
如果是,那么 dcu 文件是如何设计的。它是类似于以前的(delphi 1-delphi xe)还是类似于中间语言(如 java 或 .net)的东西
这个新的 dcu 是否会让 dcu 文件的反编译变得更容易。
这个问题的主要目的是了解一些关于firemonkey新dcu文件优缺点的细节。
【问题讨论】:
-
该链接并不表明在 Mac 上编译的 dcu 文件是独立于平台的。我相信需要单独的Mac编译,制作出来的dcu不会和windows下编译出来的dcu不兼容(我也不指望windows下32位和64位编译能互相兼容。
-
@Larry Lustig,否则,目标文件是特定于 CPU 的,而不是特定于操作系统的。但是,没有人会肯定地说,dcu 文件格式是内部和私有的。 AFAIK,目前没有人研究这个主题。
-
@Downvoter 没那么简单。目标文件特定于 CPU 和平台 ABI。 Mac 和 Windows 有非常不同的 ABI。
-
@David Heffernan,一般情况下 ABI 不是问题。然而,诚然,任何与操作系统互操作的尝试都会破坏这种“可移植性”。
-
@Downvoter ABI 绝对是个问题。想想 Mac 上的堆栈对齐要求。 ABI 如此重要的原因还有很多。
标签: delphi delphi-xe2 firemonkey cross-compiling