5

是否有类似 .dll 或 .so 的东西,但跨平台?

4

5 回答 5

8

Java .class 文件和 .jar 档案将满足这一要求,在 Mono 下运行的 .Net 程序集也将满足这一要求。

于 2010-01-25T22:35:03.520 回答
5

通用的可执行格式?不。

这就是虚拟机 (java) 或 IL (.Net) 存在的全部原因——因此可以将相同的源代码编译成通用中间语言,然后可以由框架在底层系统字节码中执行而无需程序员必须知道系统之间的差异。

在实践中,必须在所有平台上一致地实施 VM。

于 2010-01-25T22:36:21.560 回答
4

不适用于 c/c++ AFAIK,java 具有类似的 .jar 文件。

于 2010-01-25T22:32:08.083 回答
2

不清楚你在问什么,但如果你问“我怎样才能以跨平台的方式制作可动态加载的 C/C++ 库”,那么答案就是GNU Libtool。它支持构建和使用它们,以及运行时支持功能

于 2010-01-25T23:03:51.450 回答
1

正如其他人提到的,并非如此。也许LLVM有朝一日会弥合这一差距,让我们可以像处理静态/动态对象库一样查看 LLVM 等价物。

查看此回复,了解静态对象库通常不可移植的一些原因。我之所以这么说是因为有时——如果操作系统供应商足够关心——这是可能的——比如 freebsd 执行 linux 二进制文件,或者 WINE 实现了大部分 win32 运行时。

于 2010-01-25T22:37:29.470 回答