我正在研究编译器,我想知道是否可以从 Java 应用程序编译 C# 和 C++ 文件(例如,要从 Java 应用程序编译 Java,您可以使用 JavaCompiler API)。我在网上查过这个,但我能找到的只是从 C# 和 C++ 编译 Java 文件的方法,而不是相反。
如果是这样,我可以使用什么 API 来实现此目的?
如果您了解编译和执行 .cpp 文件的系统命令(我对 C# 不太了解),您可能需要查看this。它详细介绍了如何从 Java 程序执行系统命令。在
Runtime.getRuntime().exec()
中传递编译所需文件的系统命令。
考虑学习如何从 Java 代码中调用 ant 并使用类似 ant 增强功能 的内容。
免责声明:我对这个产品一无所知,而是通过搜索“can ant build c++?”找到的
对于 Windows 中的 C#:编译器 (csc.exe) 是 Windows 上 .Net 安装的一部分,可以在众所周知的位置找到(例如 .Net 3.5 的
%windir%\Microsoft.NET\Framework\v3.5
)。同样的地方还包含可以构建项目文件(*.csproj)的MSBuild.exe。
如果使用 Csc.exe 编译单个文件,您的代码可能需要提供引用库的位置。