通缉:软件系统用户的编译工具

时间:2012-06-27 13:16:27

标签: c++

我不确定这个问题的标题是否适用。我用C C ++ for Windows编写了一个大型软件系统,并希望为该系统的用户提供添加编译代码的选项。用户应该能够做基本的事情,并与我的程序交换数据。

目前实现的方式是通过DLL。但为此,需要一个成熟的编译器,它并不像我希望的那么容易。是否有一个可以创建Windows DLL的微型C编译器?

另一个想法是Java本机接口。但这需要一个完整的Java系统在后台运行,并且在其中运行代码并不容易。

你还有其他想法吗?

5 个答案:

答案 0 :(得分:2)

任何解释语言? (TCL和Lua被设计为扩展语言,但您可以轻松地与任何其他语言进行交互)。

答案 1 :(得分:0)

python集成怎么样?

您可以创建一个与您的应用程序接口的python接口。 Python很容易学习,并且可以很容易地与c / c ++集成。 The python documentation has an own chapter on that.

您还可以使用swig之类的工具生成界面。

这样做的好处是他们不必编译任何东西。他们可以提供可以加载到您的应用程序中并在软件中运行的python文件。这是python的一个众所周知的用法,它的简单语法促进了它。

答案 2 :(得分:0)

正如另一个所说,通过提供嵌入式语言,你将是最好的。

我会填写javascript并使用google v8 engine 通过使用javascript,您可以获得几乎任何人都可以使用和编程的语言。 您可以嵌入其他javascript引擎,例如SpiderMonkey。 请参阅此answer以了解要选择的内容。

答案 3 :(得分:0)

解释性语言不够好。我需要速度。软件本身就是一种解释性语言。所以我添加了对小型C编译器的支持。它只是C,我确实检查了mingw,这可能不会像这样小。谢谢你的所有提示。

几个月后添加:

我现在有两个工具,实际上是:TinyC和Python。它们之间的速度差异是显着的(因子5-10),但这通常无关紧要。虽然我设法将两者都很好地集成到Euler GUI中,但Python对用户来说要容易得多。

答案 4 :(得分:0)

其中一种方法是添加脚本。您的应用程序可以托管脚本环境并在那里公开其服务。用户可以执行JScr​​ipt / VBScript脚本并与您的应用程序进行交互。优点是,通过合理的努力,您可以将熟知且记录良好的脚本语言的强大功能集成到您的应用程序中(我想甚至还有用于编写脚本的调试器)。您将需要对应用程序服务进行整形,因为COM接口和脚本将能够使用您在C ++端分配的方法名称自动访问它们。