这里是新手...我可以编写一个程序,在同一个 scala 程序中包含 .NET LINQ 和各种 Java 框架吗?或者当我编译时,那个时候决定是 .NET 还是 Java。
谢谢。
最佳答案
当您编译 scala 时,您可以给它 -target:msil 或 -target:jvm-X.X(默认为 java)。这意味着您可以尝试制作一些可交叉编译的东西(这将适用于两个目标,但必须为每个目标单独编译)。
虽然技术上可能,但尝试同时托管两个框架并实现跨越边界的功能是极其困难的,并且需要在编译器和运行时级别上提供全面支持。
由于 scala 在一个或另一个运行时之上运行,因此这不太可能会很好地工作,或者任何有能力实现它的人都会打扰。此外,各种 .Net 类型在 jvm 中没有类似物,反之亦然。
在这样的系统中正确有效地维护跨两个运行时的 GC 根将是一个值得在摘要中撰写博士论文的主题,更不用说实现它了。
关于java - scala -> 在同一程序中使用 .net (linq) 和 java 代码库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480582/